Trait cpclib_asm::preamble::SymbolsTableTrait
source · pub trait SymbolsTableTrait {
Show 13 methods
// Required methods
fn expression_symbol(&self) -> Vec<(&Symbol, &Value)>;
fn is_used<S>(&self, symbol: S) -> bool
where Symbol: From<S>,
S: AsRef<str>;
fn use_symbol<S>(&mut self, symbol: S)
where Symbol: From<S>,
S: AsRef<str>;
fn int_value<S>(&self, symbol: S) -> Result<Option<i32>, SymbolError>
where Symbol: From<S>,
S: AsRef<str>;
fn value<S>(&self, symbol: S) -> Result<Option<&Value>, SymbolError>
where Symbol: From<S>,
S: AsRef<str>;
fn counter_value<S>(&self, symbol: S) -> Result<Option<i32>, SymbolError>
where Symbol: From<S>,
S: AsRef<str>;
fn macro_value<S>(&self, symbol: S) -> Result<Option<&Macro>, SymbolError>
where Symbol: From<S>,
S: AsRef<str>;
fn struct_value<S>(&self, symbol: S) -> Result<Option<&Struct>, SymbolError>
where Symbol: From<S>,
S: AsRef<str>;
fn address_value<S>(
&self,
symbol: S,
) -> Result<Option<&PhysicalAddress>, SymbolError>
where Symbol: From<S>,
S: AsRef<str>;
fn remove_symbol<S>(
&mut self,
symbol: S,
) -> Result<Option<Value>, SymbolError>
where Symbol: From<S>,
S: AsRef<str>;
fn assign_symbol_to_value<S, V>(
&mut self,
symbol: S,
value: V,
) -> Result<Option<Value>, SymbolError>
where V: Into<Value>,
Symbol: From<S>,
S: AsRef<str>;
fn enter_namespace(&mut self, namespace: &str);
fn leave_namespace(&mut self) -> Result<Symbol, SymbolError>;
}Expand description
Public signature of symbols functions TODO add all the other methods
Required Methods§
sourcefn expression_symbol(&self) -> Vec<(&Symbol, &Value)>
fn expression_symbol(&self) -> Vec<(&Symbol, &Value)>
Return the symbols that correspond to integer values
sourcefn is_used<S>(&self, symbol: S) -> bool
fn is_used<S>(&self, symbol: S) -> bool
Return true if the symbol has already been used in an expression
sourcefn use_symbol<S>(&mut self, symbol: S)
fn use_symbol<S>(&mut self, symbol: S)
Add a symbol to the list of used symbols
sourcefn int_value<S>(&self, symbol: S) -> Result<Option<i32>, SymbolError>
fn int_value<S>(&self, symbol: S) -> Result<Option<i32>, SymbolError>
Return the integer value corredponding to this symbol (if any)
fn value<S>(&self, symbol: S) -> Result<Option<&Value>, SymbolError>
fn counter_value<S>(&self, symbol: S) -> Result<Option<i32>, SymbolError>
fn macro_value<S>(&self, symbol: S) -> Result<Option<&Macro>, SymbolError>
fn struct_value<S>(&self, symbol: S) -> Result<Option<&Struct>, SymbolError>
fn address_value<S>( &self, symbol: S, ) -> Result<Option<&PhysicalAddress>, SymbolError>
fn remove_symbol<S>(&mut self, symbol: S) -> Result<Option<Value>, SymbolError>
fn assign_symbol_to_value<S, V>( &mut self, symbol: S, value: V, ) -> Result<Option<Value>, SymbolError>
fn enter_namespace(&mut self, namespace: &str)
fn leave_namespace(&mut self) -> Result<Symbol, SymbolError>
Object Safety§
This trait is not object safe.