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(u64)

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

Tuple Fields of Addr

0: u64
Block(R)

A slice of an arbitrary number of bytes.

Tuple Fields of Block

0: R
Data1(u8)

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(u16)

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(u32)

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(u64)

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(i64)

A signed integer constant.

Tuple Fields of Sdata

0: i64
Udata(u64)

An unsigned integer constant.

Tuple Fields of Udata

0: u64
Exprloc(Expression<R>)

“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(bool)

A boolean that indicates presence or absence of the attribute.

Tuple Fields of Flag

0: bool
SecOffset(Offset)

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

Tuple Fields of SecOffset

0: Offset
DebugAddrBase(DebugAddrBase<Offset>)

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

Tuple Fields of DebugAddrBase

0: DebugAddrBase<Offset>
DebugAddrIndex(DebugAddrIndex<Offset>)

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

Tuple Fields of DebugAddrIndex

0: DebugAddrIndex<Offset>
UnitRef(UnitOffset<Offset>)

An offset into the current compilation unit.

Tuple Fields of UnitRef

0: UnitOffset<Offset>
DebugInfoRef(DebugInfoOffset<Offset>)

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(DebugInfoOffset<Offset>)

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

Tuple Fields of DebugInfoRefSup

0: DebugInfoOffset<Offset>
DebugLineRef(DebugLineOffset<Offset>)

An offset into the .debug_line section.

Tuple Fields of DebugLineRef

0: DebugLineOffset<Offset>
LocationListsRef(LocationListsOffset<Offset>)

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

Tuple Fields of LocationListsRef

0: LocationListsOffset<Offset>
DebugLocListsBase(DebugLocListsBase<Offset>)

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

Tuple Fields of DebugLocListsBase

0: DebugLocListsBase<Offset>
DebugLocListsIndex(DebugLocListsIndex<Offset>)

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

Tuple Fields of DebugLocListsIndex

0: DebugLocListsIndex<Offset>
DebugMacinfoRef(DebugMacinfoOffset<Offset>)

An offset into the .debug_macinfo section.

Tuple Fields of DebugMacinfoRef

0: DebugMacinfoOffset<Offset>
DebugMacroRef(DebugMacroOffset<Offset>)

An offset into the .debug_macro section.

Tuple Fields of DebugMacroRef

0: DebugMacroOffset<Offset>
RangeListsRef(RawRangeListsOffset<Offset>)

An offset into the .debug_ranges section.

Tuple Fields of RangeListsRef

0: RawRangeListsOffset<Offset>
DebugRngListsBase(DebugRngListsBase<Offset>)

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

Tuple Fields of DebugRngListsBase

0: DebugRngListsBase<Offset>
DebugRngListsIndex(DebugRngListsIndex<Offset>)

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

Tuple Fields of DebugRngListsIndex

0: DebugRngListsIndex<Offset>
DebugTypesRef(DebugTypeSignature)

A type signature.

Tuple Fields of DebugTypesRef

0: DebugTypeSignature
DebugStrRef(DebugStrOffset<Offset>)

An offset into the .debug_str section.

Tuple Fields of DebugStrRef

0: DebugStrOffset<Offset>
DebugStrRefSup(DebugStrOffset<Offset>)

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

Tuple Fields of DebugStrRefSup

0: DebugStrOffset<Offset>
DebugStrOffsetsBase(DebugStrOffsetsBase<Offset>)

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

Tuple Fields of DebugStrOffsetsBase

0: DebugStrOffsetsBase<Offset>
DebugStrOffsetsIndex(DebugStrOffsetsIndex<Offset>)

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

Tuple Fields of DebugStrOffsetsIndex

0: DebugStrOffsetsIndex<Offset>
DebugLineStrRef(DebugLineStrOffset<Offset>)

An offset into the .debug_line_str section.

Tuple Fields of DebugLineStrRef

0: DebugLineStrOffset<Offset>
String(R)

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(DwAte)

The value of a DW_AT_encoding attribute.

Tuple Fields of Encoding

0: DwAte
DecimalSign(DwDs)

The value of a DW_AT_decimal_sign attribute.

Tuple Fields of DecimalSign

0: DwDs
Endianity(DwEnd)

The value of a DW_AT_endianity attribute.

Tuple Fields of Endianity

0: DwEnd
Accessibility(DwAccess)

The value of a DW_AT_accessibility attribute.

Tuple Fields of Accessibility

0: DwAccess
Visibility(DwVis)

The value of a DW_AT_visibility attribute.

Tuple Fields of Visibility

0: DwVis
Virtuality(DwVirtuality)

The value of a DW_AT_virtuality attribute.

Tuple Fields of Virtuality

0: DwVirtuality
Language(DwLang)

The value of a DW_AT_language attribute.

Tuple Fields of Language

0: DwLang
AddressClass(DwAddr)

The value of a DW_AT_address_class attribute.

Tuple Fields of AddressClass

0: DwAddr
IdentifierCase(DwId)

The value of a DW_AT_identifier_case attribute.

Tuple Fields of IdentifierCase

0: DwId
CallingConvention(DwCc)

The value of a DW_AT_calling_convention attribute.

Tuple Fields of CallingConvention

0: DwCc
Inline(DwInl)

The value of a DW_AT_inline attribute.

Tuple Fields of Inline

0: DwInl
Ordering(DwOrd)

The value of a DW_AT_ordering attribute.

Tuple Fields of Ordering

0: DwOrd
FileIndex(u64)

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(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

Compare self to key and return true if they are equal.

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.