pub struct SymbolTable {
pub outer: Option<Rc<SymbolTable>>,
pub free_symbols: Vec<Rc<Symbol>>,
pub num_definitions: usize,
/* private fields */
}
Fields§
§outer: Option<Rc<SymbolTable>>
§free_symbols: Vec<Rc<Symbol>>
§num_definitions: usize
Implementations§
Source§impl SymbolTable
impl SymbolTable
pub fn new() -> SymbolTable
pub fn new_enclosed_symbol_table(outer: SymbolTable) -> SymbolTable
pub fn define(&mut self, name: String) -> Rc<Symbol>
pub fn resolve(&self, name: String) -> Option<Rc<Symbol>>
pub fn define_builtin(&mut self, index: usize, name: String) -> Rc<Symbol>
pub fn define_function_name(&mut self, name: String) -> Rc<Symbol>
pub fn define_free(&mut self, original: Rc<Symbol>) -> Rc<Symbol>
Trait Implementations§
Source§impl Clone for SymbolTable
impl Clone for SymbolTable
Source§fn clone(&self) -> SymbolTable
fn clone(&self) -> SymbolTable
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for SymbolTable
impl Debug for SymbolTable
Source§impl PartialEq for SymbolTable
impl PartialEq for SymbolTable
impl Eq for SymbolTable
impl StructuralPartialEq for SymbolTable
Auto Trait Implementations§
impl Freeze for SymbolTable
impl RefUnwindSafe for SymbolTable
impl !Send for SymbolTable
impl !Sync for SymbolTable
impl Unpin for SymbolTable
impl UnwindSafe for SymbolTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more