Trait object::read::traits::ObjectSymbol
source · pub trait ObjectSymbol<'data>: Sealed {
Show 16 methods
// Required methods
fn index(&self) -> SymbolIndex;
fn name_bytes(&self) -> Result<&'data [u8]>;
fn name(&self) -> Result<&'data str>;
fn address(&self) -> u64;
fn size(&self) -> u64;
fn kind(&self) -> SymbolKind;
fn section(&self) -> SymbolSection;
fn is_undefined(&self) -> bool;
fn is_definition(&self) -> bool;
fn is_common(&self) -> bool;
fn is_weak(&self) -> bool;
fn scope(&self) -> SymbolScope;
fn is_global(&self) -> bool;
fn is_local(&self) -> bool;
fn flags(&self) -> SymbolFlags<SectionIndex, SymbolIndex>;
// Provided method
fn section_index(&self) -> Option<SectionIndex> { ... }
}
Expand description
A symbol table entry in an Object
.
This trait is part of the unified read API.
Required Methods§
sourcefn index(&self) -> SymbolIndex
fn index(&self) -> SymbolIndex
The index of the symbol.
sourcefn name_bytes(&self) -> Result<&'data [u8]>
fn name_bytes(&self) -> Result<&'data [u8]>
The name of the symbol.
sourcefn name(&self) -> Result<&'data str>
fn name(&self) -> Result<&'data str>
The name of the symbol.
Returns an error if the name is not UTF-8.
sourcefn kind(&self) -> SymbolKind
fn kind(&self) -> SymbolKind
Return the kind of this symbol.
sourcefn section(&self) -> SymbolSection
fn section(&self) -> SymbolSection
Returns the section where the symbol is defined.
sourcefn is_undefined(&self) -> bool
fn is_undefined(&self) -> bool
Return true if the symbol is undefined.
sourcefn is_definition(&self) -> bool
fn is_definition(&self) -> bool
Return true if the symbol is a definition of a function or data object that has a known address.
This is primarily used to implement Object::symbol_map
.
sourcefn is_common(&self) -> bool
fn is_common(&self) -> bool
Return true if the symbol is common data.
Note: does not check for SymbolSection::Section
with SectionKind::Common
.
sourcefn scope(&self) -> SymbolScope
fn scope(&self) -> SymbolScope
Returns the symbol scope.
sourcefn is_global(&self) -> bool
fn is_global(&self) -> bool
Return true if the symbol visible outside of the compilation unit.
This treats SymbolScope::Unknown
as global.
sourcefn is_local(&self) -> bool
fn is_local(&self) -> bool
Return true if the symbol is only visible within the compilation unit.
sourcefn flags(&self) -> SymbolFlags<SectionIndex, SymbolIndex>
fn flags(&self) -> SymbolFlags<SectionIndex, SymbolIndex>
Symbol flags that are specific to each file format.
Provided Methods§
sourcefn section_index(&self) -> Option<SectionIndex>
fn section_index(&self) -> Option<SectionIndex>
Returns the section index for the section containing this symbol.
May return None
if the symbol is not defined in a section.