pub struct SymbolTable { /* private fields */ }Implementations§
Source§impl SymbolTable
impl SymbolTable
pub fn new() -> Self
pub fn enter_scope(&mut self)
pub fn exit_scope(&mut self) -> Result<()>
pub fn set( &mut self, name: String, variable: Variable, mutable: bool, ) -> Result<()>
pub fn reassign(&mut self, name: String, variable: Variable) -> Result<()>
pub fn set_in_current_scope( &mut self, name: String, variable: Variable, mutable: bool, ) -> Result<()>
pub fn get(&self, name: &str) -> Option<&Variable>
pub fn define_function(&mut self, name: String, func: CompiledFunction)
pub fn get_function(&self, name: &str) -> Option<&CompiledFunction>
pub fn resolve_callable(&self, name: &str) -> Option<Callable>
Trait Implementations§
Source§impl Clone for SymbolTable
impl Clone for SymbolTable
Source§impl Debug for SymbolTable
impl Debug for SymbolTable
Auto Trait Implementations§
impl !RefUnwindSafe for SymbolTable
impl !UnwindSafe for SymbolTable
impl Freeze for SymbolTable
impl Send for SymbolTable
impl Sync for SymbolTable
impl Unpin for SymbolTable
impl UnsafeUnpin 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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more