Struct rhai::EvalContext
source · pub struct EvalContext<'a, 's, 'ps, 'g, 'c, 't> { /* private fields */ }
Expand description
Context of a script evaluation process.
Implementations§
source§impl<'a, 's, 'ps, 'g, 'c, 't> EvalContext<'a, 's, 'ps, 'g, 'c, 't>
impl<'a, 's, 'ps, 'g, 'c, 't> EvalContext<'a, 's, 'ps, 'g, 'c, 't>
sourcepub fn new(
engine: &'a Engine,
global: &'g mut GlobalRuntimeState,
caches: &'c mut Caches,
scope: &'s mut Scope<'ps>,
this_ptr: Option<&'t mut Dynamic>
) -> Self
pub fn new( engine: &'a Engine, global: &'g mut GlobalRuntimeState, caches: &'c mut Caches, scope: &'s mut Scope<'ps>, this_ptr: Option<&'t mut Dynamic> ) -> Self
Create a new EvalContext
.
sourcepub fn iter_imports(&self) -> impl Iterator<Item = (&str, &Module)>
pub fn iter_imports(&self) -> impl Iterator<Item = (&str, &Module)>
Get an iterator over the current set of modules imported via import
statements,
in reverse order (i.e. modules imported last come first).
sourcepub fn tag_mut(&mut self) -> &mut Dynamic
pub fn tag_mut(&mut self) -> &mut Dynamic
Mutable reference to the custom state kept in a Dynamic
.
sourcepub const fn global_runtime_state(&self) -> &GlobalRuntimeState
pub const fn global_runtime_state(&self) -> &GlobalRuntimeState
(internals) The current GlobalRuntimeState
.
Exported under the internals
feature only.
sourcepub fn global_runtime_state_mut(&mut self) -> &mut GlobalRuntimeState
pub fn global_runtime_state_mut(&mut self) -> &mut GlobalRuntimeState
(internals) Get a mutable reference to the current GlobalRuntimeState
.
Exported under the internals
feature only.
sourcepub fn iter_namespaces(&self) -> impl Iterator<Item = &Module>
pub fn iter_namespaces(&self) -> impl Iterator<Item = &Module>
Get an iterator over the namespaces containing definition of all script-defined functions.
Not available under no_function
.
sourcepub fn namespaces(&self) -> &[Shared<Module>]
pub fn namespaces(&self) -> &[Shared<Module>]
(internals) The current set of namespaces containing definitions of all script-defined functions.
Exported under the internals
feature only.
Not available under no_function
.
sourcepub fn this_ptr_mut(&mut self) -> Option<&mut Dynamic>
pub fn this_ptr_mut(&mut self) -> Option<&mut Dynamic>
Mutable reference to the current bound this
pointer, if any.
sourcepub const fn call_level(&self) -> usize
pub const fn call_level(&self) -> usize
The current nesting level of function calls.
sourcepub fn eval_expression_tree(
&mut self,
expr: &Expression<'_>
) -> Result<Dynamic, Box<EvalAltResult>>
pub fn eval_expression_tree( &mut self, expr: &Expression<'_> ) -> Result<Dynamic, Box<EvalAltResult>>
Evaluate an expression tree within this evaluation context.
WARNING - Low Level API
This function is very low level. It evaluates an expression from an AST
.
sourcepub fn eval_expression_tree_raw(
&mut self,
expr: &Expression<'_>,
rewind_scope: bool
) -> Result<Dynamic, Box<EvalAltResult>>
👎Deprecated: This API is NOT deprecated, but it is considered volatile and may change in the future.
pub fn eval_expression_tree_raw( &mut self, expr: &Expression<'_>, rewind_scope: bool ) -> Result<Dynamic, Box<EvalAltResult>>
Evaluate an expression tree within this evaluation context.
The following option is available:
WARNING - Unstable API
This API is volatile and may change in the future.
WARNING - Low Level API
This function is extremely low level. It evaluates an expression from an AST
.