Enum gimli::read::UnitType[][src]

pub enum UnitType<Offset> where
    Offset: ReaderOffset
{ Compilation, Type { type_signature: DebugTypeSignature, type_offset: UnitOffset<Offset>, }, Partial, Skeleton(DwoId), SplitCompilation(DwoId), SplitType { type_signature: DebugTypeSignature, type_offset: UnitOffset<Offset>, }, }

This enum specifies the type of the unit and any type specific data carried in the header (e.g. the type signature/type offset of a type unit).

Variants

Compilation

In DWARF5, a unit with type DW_UT_compile. In previous DWARF versions, any unit appearing in the .debug_info section.

Type

In DWARF5, a unit with type DW_UT_type. In DWARF4, any unit appearing in the .debug_types section.

Fields of Type

type_signature: DebugTypeSignature

The unique type signature for this type unit.

type_offset: UnitOffset<Offset>

The offset within this type unit where the type is defined.

Partial

A unit with type DW_UT_partial. The root DIE of this unit should be a DW_TAG_partial_unit.

Skeleton(DwoId)

A unit with type DW_UT_skeleton. The enclosed dwo_id can be used to link this with the corresponding SplitCompilation unit in a dwo file. NB: The non-standard GNU split DWARF extension to DWARF 4 will instead be a Compilation unit with the dwo_id present as an attribute on the root DIE.

SplitCompilation(DwoId)

A unit with type DW_UT_split_compile. The enclosed dwo_id can be used to link this with the corresponding Skeleton unit in the original binary. NB: The non-standard GNU split DWARF extension to DWARF 4 will instead be a Compilation unit with the dwo_id present as an attribute on the root DIE.

SplitType

A unit with type DW_UT_split_type. A split type unit is identical to a conventional type unit except for the section in which it appears.

Fields of SplitType

type_signature: DebugTypeSignature

The unique type signature for this type unit.

type_offset: UnitOffset<Offset>

The offset within this type unit where the type is defined.

Trait Implementations

impl<Offset: Clone> Clone for UnitType<Offset> where
    Offset: ReaderOffset
[src]

impl<Offset: Copy> Copy for UnitType<Offset> where
    Offset: ReaderOffset
[src]

impl<Offset: Debug> Debug for UnitType<Offset> where
    Offset: ReaderOffset
[src]

impl<Offset: Eq> Eq for UnitType<Offset> where
    Offset: ReaderOffset
[src]

impl<Offset: PartialEq> PartialEq<UnitType<Offset>> for UnitType<Offset> where
    Offset: ReaderOffset
[src]

impl<Offset> StructuralEq for UnitType<Offset> where
    Offset: ReaderOffset
[src]

impl<Offset> StructuralPartialEq for UnitType<Offset> where
    Offset: ReaderOffset
[src]

Auto Trait Implementations

impl<Offset> Send for UnitType<Offset> where
    Offset: Send

impl<Offset> Sync for UnitType<Offset> where
    Offset: Sync

impl<Offset> Unpin for UnitType<Offset> where
    Offset: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.