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
“Refers to some location in the address space of the described program.”
A slice of an arbitrary number of bytes.
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.”
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.”
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.”
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.”
A signed integer constant.
An unsigned integer constant.
“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>
A boolean that indicates presence or absence of the attribute.
An offset into another section. Which section this is an offset into depends on context.
An offset to a set of addresses in the .debug_addr
section.
Tuple Fields of DebugAddrBase
0: DebugAddrBase<Offset>
An index into a set of addresses in the .debug_addr
section.
Tuple Fields of DebugAddrIndex
0: DebugAddrIndex<Offset>
An offset into the current compilation unit.
Tuple Fields of UnitRef
0: UnitOffset<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>
An offset into the .debug_info
section of the supplementary object file.
Tuple Fields of DebugInfoRefSup
0: DebugInfoOffset<Offset>
An offset into the .debug_line
section.
Tuple Fields of DebugLineRef
0: DebugLineOffset<Offset>
An offset into either the .debug_loc
section or the .debug_loclists
section.
Tuple Fields of LocationListsRef
0: LocationListsOffset<Offset>
An offset to a set of offsets in the .debug_loclists
section.
Tuple Fields of DebugLocListsBase
0: DebugLocListsBase<Offset>
An index into a set of offsets in the .debug_loclists
section.
Tuple Fields of DebugLocListsIndex
0: DebugLocListsIndex<Offset>
An offset into the .debug_macinfo
section.
Tuple Fields of DebugMacinfoRef
0: DebugMacinfoOffset<Offset>
An offset into the .debug_macro
section.
Tuple Fields of DebugMacroRef
0: DebugMacroOffset<Offset>
An offset into the .debug_ranges
section.
Tuple Fields of RangeListsRef
0: RawRangeListsOffset<Offset>
An offset to a set of offsets in the .debug_rnglists
section.
Tuple Fields of DebugRngListsBase
0: DebugRngListsBase<Offset>
An index into a set of offsets in the .debug_rnglists
section.
Tuple Fields of DebugRngListsIndex
0: DebugRngListsIndex<Offset>
A type signature.
Tuple Fields of DebugTypesRef
An offset into the .debug_str
section.
Tuple Fields of DebugStrRef
0: DebugStrOffset<Offset>
An offset into the .debug_str
section of the supplementary object file.
Tuple Fields of DebugStrRefSup
0: DebugStrOffset<Offset>
An offset to a set of entries in the .debug_str_offsets
section.
Tuple Fields of DebugStrOffsetsBase
0: DebugStrOffsetsBase<Offset>
An index into a set of entries in the .debug_str_offsets
section.
Tuple Fields of DebugStrOffsetsIndex
0: DebugStrOffsetsIndex<Offset>
An offset into the .debug_line_str
section.
Tuple Fields of DebugLineStrRef
0: DebugLineStrOffset<Offset>
A slice of bytes representing a string. Does not include a final null byte. Not guaranteed to be UTF-8 or anything like that.
The value of a DW_AT_encoding
attribute.
Tuple Fields of Encoding
0: DwAte
The value of a DW_AT_decimal_sign
attribute.
Tuple Fields of DecimalSign
0: DwDs
The value of a DW_AT_endianity
attribute.
Tuple Fields of Endianity
0: DwEnd
The value of a DW_AT_accessibility
attribute.
Tuple Fields of Accessibility
0: DwAccess
The value of a DW_AT_visibility
attribute.
Tuple Fields of Visibility
0: DwVis
The value of a DW_AT_virtuality
attribute.
Tuple Fields of Virtuality
0: DwVirtuality
The value of a DW_AT_language
attribute.
Tuple Fields of Language
0: DwLang
The value of a DW_AT_address_class
attribute.
Tuple Fields of AddressClass
0: DwAddr
The value of a DW_AT_identifier_case
attribute.
Tuple Fields of IdentifierCase
0: DwId
The value of a DW_AT_calling_convention
attribute.
Tuple Fields of CallingConvention
0: DwCc
The value of a DW_AT_inline
attribute.
Tuple Fields of Inline
0: DwInl
The value of a DW_AT_ordering
attribute.
Tuple Fields of Ordering
0: DwOrd
An index into the filename entries from the line number information table for the compilation unit containing this value.
An implementation-defined identifier uniquely identifying a compilation unit.
Tuple Fields of DwoId
0: DwoId
Implementations
impl<R, Offset> AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R, Offset> AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
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
impl<R: Clone, Offset: Clone> Clone for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Clone, Offset: Clone> Clone for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Debug, Offset: Debug> Debug for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Debug, Offset: Debug> Debug for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: PartialEq, Offset: PartialEq> PartialEq<AttributeValue<R, Offset>> for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: PartialEq, Offset: PartialEq> PartialEq<AttributeValue<R, Offset>> for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
impl<R: Copy, Offset: Copy> Copy for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Eq, Offset: Eq> Eq for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R, Offset> StructuralEq for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R, Offset> StructuralPartialEq for AttributeValue<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Auto Trait Implementations
impl<R, Offset> RefUnwindSafe for AttributeValue<R, Offset> where
Offset: RefUnwindSafe,
R: RefUnwindSafe,
impl<R, Offset> Send for AttributeValue<R, Offset> where
Offset: Send,
R: Send,
impl<R, Offset> Sync for AttributeValue<R, Offset> where
Offset: Sync,
R: Sync,
impl<R, Offset> Unpin for AttributeValue<R, Offset> where
Offset: Unpin,
R: Unpin,
impl<R, Offset> UnwindSafe for AttributeValue<R, Offset> where
Offset: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more