[][src]Struct gimli::write::UnitTable

pub struct UnitTable { /* fields omitted */ }

A table of units that will be stored in the .debug_info section.

Methods

impl UnitTable[src]

pub fn from<R: Reader<Offset = usize>>(
    dwarf: &Dwarf<R>,
    line_strings: &mut LineStringTable,
    strings: &mut StringTable,
    convert_address: &dyn Fn(u64) -> Option<Address>
) -> ConvertResult<UnitTable>
[src]

Create a unit table by reading the data in the given sections.

This also updates the given tables with the values that are referenced from attributes in this section.

convert_address is a function to convert read addresses into the Address type. For non-relocatable addresses, this function may simply return Address::Constant(address). For relocatable addresses, it is the caller's responsibility to determine the symbol and addend corresponding to the address and return Address::Symbol { symbol, addend }.

impl UnitTable[src]

pub fn add(&mut self, unit: Unit) -> UnitId[src]

Create a new unit and add it to the table.

address_size must be in bytes.

Returns the UnitId of the new unit.

pub fn count(&self) -> usize[src]

Return the number of units.

pub fn id(&self, index: usize) -> UnitId[src]

Return the id of a unit.

Panics

Panics if index >= self.count().

pub fn get(&self, id: UnitId) -> &Unit[src]

Get a reference to a unit.

Panics

Panics if id is invalid.

pub fn get_mut(&mut self, id: UnitId) -> &mut Unit[src]

Get a mutable reference to a unit.

Panics

Panics if id is invalid.

pub fn write<W: Writer>(
    &mut self,
    sections: &mut Sections<W>,
    line_strings: &DebugLineStrOffsets,
    strings: &DebugStrOffsets
) -> Result<DebugInfoOffsets>
[src]

Write the units to the given sections.

strings must contain the .debug_str offsets of the corresponding StringTable.

Trait Implementations

impl Debug for UnitTable[src]

impl Default for UnitTable[src]

Auto Trait Implementations

impl Send for UnitTable

impl Sync for UnitTable

Blanket Implementations

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

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> From for T[src]

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

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

The type returned in the event of a conversion error.

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

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

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

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