pub struct ProgramState {
pub symbol_table: SymbolTableRef,
pub environment: Option<SymbolTableRef>,
pub functions: FunctionsRef,
pub plan: Plan,
pub kinds: KindTable,
pub enums: EnumTable,
pub dictionary: Ref<Dictionary>,
}Fields§
§symbol_table: SymbolTableRef§environment: Option<SymbolTableRef>§functions: FunctionsRef§plan: Plan§kinds: KindTable§enums: EnumTable§dictionary: Ref<Dictionary>Implementations§
Source§impl ProgramState
impl ProgramState
pub fn new() -> ProgramState
pub fn pretty_print(&self) -> String
pub fn get_symbol(&self, id: u64) -> Option<Ref<Value>>
pub fn get_mutable_symbol(&self, id: u64) -> Option<ValRef>
pub fn contains_symbol(&self, id: u64) -> bool
pub fn get_environment(&self) -> Option<SymbolTableRef>
Sourcepub fn get_env_symbol(&self, id: u64) -> Option<Ref<Value>>
pub fn get_env_symbol(&self, id: u64) -> Option<Ref<Value>>
Look up symbol in environment first, then in global symbol table
pub fn add_plan_step(&self, step: Box<dyn MechFunction>)
pub fn insert_function(&self, fxn: FunctionDescriptor)
pub fn save_symbol( &self, id: u64, name: String, value: Value, mutable: bool, ) -> ValRef
pub fn save_env_symbol( &self, id: u64, name: String, value: Value, mutable: bool, ) -> ValRef
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ProgramState
impl !RefUnwindSafe for ProgramState
impl !Send for ProgramState
impl !Sync for ProgramState
impl Unpin for ProgramState
impl !UnwindSafe for ProgramState
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.