Skip to main content

ObjectSymbolTable

Trait ObjectSymbolTable 

Source
pub trait ObjectSymbolTable<'data>: Sealed {
    type Symbol: ObjectSymbol<'data>;
    type SymbolIterator: Iterator<Item = Self::Symbol>;

    // Required methods
    fn symbols(&self) -> Self::SymbolIterator;
    fn symbol_by_index(&self, index: SymbolIndex) -> Result<Self::Symbol>;
}
Expand description

A symbol table in an Object.

This trait is part of the unified read API.

Required Associated Types§

Source

type Symbol: ObjectSymbol<'data>

A symbol table entry.

Source

type SymbolIterator: Iterator<Item = Self::Symbol>

An iterator for the symbols in a symbol table.

Required Methods§

Source

fn symbols(&self) -> Self::SymbolIterator

Get an iterator for the symbols in the table.

This may skip over symbols that are malformed or unsupported.

Source

fn symbol_by_index(&self, index: SymbolIndex) -> Result<Self::Symbol>

Get the symbol at the given index.

The meaning of the index depends on the object file.

Returns an error if the index is invalid.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'data, 'file, Elf: FileHeader, R: ReadRef<'data>> ObjectSymbolTable<'data> for ElfSymbolTable<'data, 'file, Elf, R>

Source§

type Symbol = ElfSymbol<'data, 'file, Elf, R>

Source§

type SymbolIterator = ElfSymbolIterator<'data, 'file, Elf, R>

Source§

impl<'data, 'file, Mach, R> ObjectSymbolTable<'data> for MachOSymbolTable<'data, 'file, Mach, R>
where Mach: MachHeader, R: ReadRef<'data>,

Source§

type Symbol = MachOSymbol<'data, 'file, Mach, R>

Source§

type SymbolIterator = MachOSymbolIterator<'data, 'file, Mach, R>

Source§

impl<'data, 'file, R: ReadRef<'data>, Coff: CoffHeader> ObjectSymbolTable<'data> for CoffSymbolTable<'data, 'file, R, Coff>

Source§

type Symbol = CoffSymbol<'data, 'file, R, Coff>

Source§

type SymbolIterator = CoffSymbolIterator<'data, 'file, R, Coff>

Source§

impl<'data, 'file, R: ReadRef<'data>> ObjectSymbolTable<'data> for SymbolTable<'data, 'file, R>

Source§

type Symbol = Symbol<'data, 'file, R>

Source§

type SymbolIterator = SymbolIterator<'data, 'file, R>

Source§

impl<'data, 'file, Xcoff: FileHeader, R: ReadRef<'data>> ObjectSymbolTable<'data> for XcoffSymbolTable<'data, 'file, Xcoff, R>

Source§

type Symbol = XcoffSymbol<'data, 'file, Xcoff, R>

Source§

type SymbolIterator = XcoffSymbolIterator<'data, 'file, Xcoff, R>

Source§

impl<'data, 'file> ObjectSymbolTable<'data> for WasmSymbolTable<'data, 'file>

Source§

type Symbol = WasmSymbol<'data, 'file>

Source§

type SymbolIterator = WasmSymbolIterator<'data, 'file>