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§

source

fn expression_symbol(&self) -> Vec<(&Symbol, &Value)>

Return the symbols that correspond to integer values

source

fn is_used<S>(&self, symbol: S) -> bool
where Symbol: From<S>, S: AsRef<str>,

Return true if the symbol has already been used in an expression

source

fn use_symbol<S>(&mut self, symbol: S)
where Symbol: From<S>, S: AsRef<str>,

Add a symbol to the list of used symbols

source

fn int_value<S>(&self, symbol: S) -> Result<Option<i32>, SymbolError>
where Symbol: From<S>, S: AsRef<str>,

Return the integer value corredponding to this symbol (if any)

source

fn value<S>(&self, symbol: S) -> Result<Option<&Value>, SymbolError>
where Symbol: From<S>, S: AsRef<str>,

source

fn counter_value<S>(&self, symbol: S) -> Result<Option<i32>, SymbolError>
where Symbol: From<S>, S: AsRef<str>,

source

fn macro_value<S>(&self, symbol: S) -> Result<Option<&Macro>, SymbolError>
where Symbol: From<S>, S: AsRef<str>,

source

fn struct_value<S>(&self, symbol: S) -> Result<Option<&Struct>, SymbolError>
where Symbol: From<S>, S: AsRef<str>,

source

fn address_value<S>( &self, symbol: S, ) -> Result<Option<&PhysicalAddress>, SymbolError>
where Symbol: From<S>, S: AsRef<str>,

source

fn remove_symbol<S>(&mut self, symbol: S) -> Result<Option<Value>, SymbolError>
where Symbol: From<S>, S: AsRef<str>,

source

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>,

source

fn enter_namespace(&mut self, namespace: &str)

source

fn leave_namespace(&mut self) -> Result<Symbol, SymbolError>

Object Safety§

This trait is not object safe.

Implementors§