Enum gimli::read::AttributeValue[][src]

#[repr(u64)]
pub enum AttributeValue<R, Offset = <R as Reader>::Offset> where
    R: Reader<Offset = Offset>,
    Offset: ReaderOffset
{
Show 46 variants Addr(u64), Block(R), Data1(u8), Data2(u16), Data4(u32), Data8(u64), Sdata(i64), Udata(u64), Exprloc(Expression<R>), Flag(bool), SecOffset(Offset), DebugAddrBase(DebugAddrBase<Offset>), DebugAddrIndex(DebugAddrIndex<Offset>), UnitRef(UnitOffset<Offset>), DebugInfoRef(DebugInfoOffset<Offset>), DebugInfoRefSup(DebugInfoOffset<Offset>), DebugLineRef(DebugLineOffset<Offset>), LocationListsRef(LocationListsOffset<Offset>), DebugLocListsBase(DebugLocListsBase<Offset>), DebugLocListsIndex(DebugLocListsIndex<Offset>), DebugMacinfoRef(DebugMacinfoOffset<Offset>), DebugMacroRef(DebugMacroOffset<Offset>), RangeListsRef(RawRangeListsOffset<Offset>), DebugRngListsBase(DebugRngListsBase<Offset>), DebugRngListsIndex(DebugRngListsIndex<Offset>), DebugTypesRef(DebugTypeSignature), DebugStrRef(DebugStrOffset<Offset>), DebugStrRefSup(DebugStrOffset<Offset>), DebugStrOffsetsBase(DebugStrOffsetsBase<Offset>), DebugStrOffsetsIndex(DebugStrOffsetsIndex<Offset>), DebugLineStrRef(DebugLineStrOffset<Offset>), String(R), Encoding(DwAte), DecimalSign(DwDs), Endianity(DwEnd), Accessibility(DwAccess), Visibility(DwVis), Virtuality(DwVirtuality), Language(DwLang), AddressClass(DwAddr), IdentifierCase(DwId), CallingConvention(DwCc), Inline(DwInl), Ordering(DwOrd), FileIndex(u64), DwoId(DwoId),
}
Expand description

The value of an attribute in a DebuggingInformationEntry.

Variants

Addr

“Refers to some location in the address space of the described program.”

Tuple Fields of Addr

0: u64
Block

A slice of an arbitrary number of bytes.

Tuple Fields of Block

0: R
Data1

A one byte constant data value. How to interpret the byte depends on context.

From section 7 of the standard: “Depending on context, it may be a signed integer, an unsigned integer, a floating-point constant, or anything else.”

Tuple Fields of Data1

0: u8
Data2

A two byte constant data value. How to interpret the bytes depends on context.

These bytes have been converted from R::Endian. This may need to be reversed if this was not required.

From section 7 of the standard: “Depending on context, it may be a signed integer, an unsigned integer, a floating-point constant, or anything else.”

Tuple Fields of Data2

0: u16
Data4

A four byte constant data value. How to interpret the bytes depends on context.

These bytes have been converted from R::Endian. This may need to be reversed if this was not required.

From section 7 of the standard: “Depending on context, it may be a signed integer, an unsigned integer, a floating-point constant, or anything else.”

Tuple Fields of Data4

0: u32
Data8

An eight byte constant data value. How to interpret the bytes depends on context.

These bytes have been converted from R::Endian. This may need to be reversed if this was not required.

From section 7 of the standard: “Depending on context, it may be a signed integer, an unsigned integer, a floating-point constant, or anything else.”

Tuple Fields of Data8

0: u64
Sdata

A signed integer constant.

Tuple Fields of Sdata

0: i64
Udata

An unsigned integer constant.

Tuple Fields of Udata

0: u64
Exprloc

“The information bytes contain a DWARF expression (see Section 2.5) or location description (see Section 2.6).”

Tuple Fields of Exprloc

0: Expression<R>
Flag

A boolean that indicates presence or absence of the attribute.

Tuple Fields of Flag

0: bool
SecOffset

An offset into another section. Which section this is an offset into depends on context.

Tuple Fields of SecOffset

0: Offset
DebugAddrBase

An offset to a set of addresses in the .debug_addr section.

Tuple Fields of DebugAddrBase

0: DebugAddrBase<Offset>
DebugAddrIndex

An index into a set of addresses in the .debug_addr section.

Tuple Fields of DebugAddrIndex

0: DebugAddrIndex<Offset>
UnitRef

An offset into the current compilation unit.

Tuple Fields of UnitRef

0: UnitOffset<Offset>
DebugInfoRef

An offset into the current .debug_info section, but possibly a different compilation unit from the current one.

Tuple Fields of DebugInfoRef

0: DebugInfoOffset<Offset>
DebugInfoRefSup

An offset into the .debug_info section of the supplementary object file.

Tuple Fields of DebugInfoRefSup

0: DebugInfoOffset<Offset>
DebugLineRef

An offset into the .debug_line section.

Tuple Fields of DebugLineRef

0: DebugLineOffset<Offset>
LocationListsRef

An offset into either the .debug_loc section or the .debug_loclists section.

Tuple Fields of LocationListsRef

0: LocationListsOffset<Offset>
DebugLocListsBase

An offset to a set of offsets in the .debug_loclists section.

Tuple Fields of DebugLocListsBase

0: DebugLocListsBase<Offset>
DebugLocListsIndex

An index into a set of offsets in the .debug_loclists section.

Tuple Fields of DebugLocListsIndex

0: DebugLocListsIndex<Offset>
DebugMacinfoRef

An offset into the .debug_macinfo section.

Tuple Fields of DebugMacinfoRef

0: DebugMacinfoOffset<Offset>
DebugMacroRef

An offset into the .debug_macro section.

Tuple Fields of DebugMacroRef

0: DebugMacroOffset<Offset>
RangeListsRef

An offset into the .debug_ranges section.

Tuple Fields of RangeListsRef

0: RawRangeListsOffset<Offset>
DebugRngListsBase

An offset to a set of offsets in the .debug_rnglists section.

Tuple Fields of DebugRngListsBase

0: DebugRngListsBase<Offset>
DebugRngListsIndex

An index into a set of offsets in the .debug_rnglists section.

Tuple Fields of DebugRngListsIndex

0: DebugRngListsIndex<Offset>
DebugTypesRef

A type signature.

Tuple Fields of DebugTypesRef

0: DebugTypeSignature
DebugStrRef

An offset into the .debug_str section.

Tuple Fields of DebugStrRef

0: DebugStrOffset<Offset>
DebugStrRefSup

An offset into the .debug_str section of the supplementary object file.

Tuple Fields of DebugStrRefSup

0: DebugStrOffset<Offset>
DebugStrOffsetsBase

An offset to a set of entries in the .debug_str_offsets section.

Tuple Fields of DebugStrOffsetsBase

0: DebugStrOffsetsBase<Offset>
DebugStrOffsetsIndex

An index into a set of entries in the .debug_str_offsets section.

Tuple Fields of DebugStrOffsetsIndex

0: DebugStrOffsetsIndex<Offset>
DebugLineStrRef

An offset into the .debug_line_str section.

Tuple Fields of DebugLineStrRef

0: DebugLineStrOffset<Offset>
String

A slice of bytes representing a string. Does not include a final null byte. Not guaranteed to be UTF-8 or anything like that.

Tuple Fields of String

0: R
Encoding

The value of a DW_AT_encoding attribute.

Tuple Fields of Encoding

0: DwAte
DecimalSign

The value of a DW_AT_decimal_sign attribute.

Tuple Fields of DecimalSign

0: DwDs
Endianity

The value of a DW_AT_endianity attribute.

Tuple Fields of Endianity

0: DwEnd
Accessibility

The value of a DW_AT_accessibility attribute.

Tuple Fields of Accessibility

0: DwAccess
Visibility

The value of a DW_AT_visibility attribute.

Tuple Fields of Visibility

0: DwVis
Virtuality

The value of a DW_AT_virtuality attribute.

Tuple Fields of Virtuality

0: DwVirtuality
Language

The value of a DW_AT_language attribute.

Tuple Fields of Language

0: DwLang
AddressClass

The value of a DW_AT_address_class attribute.

Tuple Fields of AddressClass

0: DwAddr
IdentifierCase

The value of a DW_AT_identifier_case attribute.

Tuple Fields of IdentifierCase

0: DwId
CallingConvention

The value of a DW_AT_calling_convention attribute.

Tuple Fields of CallingConvention

0: DwCc
Inline

The value of a DW_AT_inline attribute.

Tuple Fields of Inline

0: DwInl
Ordering

The value of a DW_AT_ordering attribute.

Tuple Fields of Ordering

0: DwOrd
FileIndex

An index into the filename entries from the line number information table for the compilation unit containing this value.

Tuple Fields of FileIndex

0: u64
DwoId

An implementation-defined identifier uniquely identifying a compilation unit.

Tuple Fields of DwoId

0: DwoId

Implementations

Try to convert this attribute’s value to a u8.

Try to convert this attribute’s value to a u16.

Try to convert this attribute’s value to an unsigned integer.

Try to convert this attribute’s value to a signed integer.

Try to convert this attribute’s value to an offset.

Try to convert this attribute’s value to an expression or location buffer.

Expressions and locations may be DW_FORM_block* or DW_FORM_exprloc. The standard doesn’t mention DW_FORM_block* as a possible form, but it is encountered in practice.

Try to return this attribute’s value as a string slice.

If this attribute’s value is either an inline DW_FORM_string string, or a DW_FORM_strp reference to an offset into the .debug_str section, return the attribute’s string value as Some. Other attribute value forms are returned as None.

Warning: this function does not handle all possible string forms. Use Dwarf::attr_string instead.

Try to return this attribute’s value as a string slice.

If this attribute’s value is either an inline DW_FORM_string string, or a DW_FORM_strp reference to an offset into the .debug_str section, or a DW_FORM_strp_sup reference to an offset into a supplementary object file, return the attribute’s string value as Some. Other attribute value forms are returned as None.

Warning: this function does not handle all possible string forms. Use Dwarf::attr_string instead.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.