pub struct VmScope<'a, SE>where
SE: ScriptExpression,{ /* private fields */ }Implementations§
Source§impl<'a, SE> VmScope<'a, SE>where
SE: ScriptExpression,
impl<'a, SE> VmScope<'a, SE>where
SE: ScriptExpression,
pub fn new( handle: Arc<Vec<ScriptOperation<'a, SE>>>, symbol: ID<()>, ) -> VmScope<'a, SE>
Sourcepub unsafe fn restore(
self,
position: usize,
child: Option<VmScope<'a, SE>>,
) -> VmScope<'a, SE>
pub unsafe fn restore( self, position: usize, child: Option<VmScope<'a, SE>>, ) -> VmScope<'a, SE>
§Safety
pub fn with_debugger( self, debugger: Option<Arc<RwLock<dyn VmDebugger<SE> + Sync + Send>>>, ) -> VmScope<'a, SE>
pub fn into_inner( self, ) -> (Arc<Vec<ScriptOperation<'a, SE>>>, ID<()>, usize, Option<Box<VmScope<'a, SE>>>, Option<Arc<RwLock<dyn VmDebugger<SE> + Sync + Send>>>)
pub fn symbol(&self) -> ID<()>
pub fn position(&self) -> usize
pub fn has_completed(&self) -> bool
pub fn child(&self) -> Option<&VmScope<'a, SE>>
pub fn run(&mut self, context: &mut Context, registry: &Registry)
pub fn run_until_suspended( &mut self, context: &mut Context, registry: &Registry, ) -> VmScopeResult
pub fn step( &mut self, context: &mut Context, registry: &Registry, ) -> VmScopeResult
Trait Implementations§
Source§impl<SE> Clone for VmScope<'_, SE>where
SE: ScriptExpression,
impl<SE> Clone for VmScope<'_, SE>where
SE: ScriptExpression,
Source§impl<SE> ScriptFunctionGenerator<SE> for VmScope<'static, SE>where
SE: ScriptExpression + 'static,
impl<SE> ScriptFunctionGenerator<SE> for VmScope<'static, SE>where
SE: ScriptExpression + 'static,
type Input = Option<Arc<RwLock<dyn VmDebugger<SE> + Sync + Send>>>
type Output = ID<()>
fn generate_function_body( script: Arc<Vec<ScriptOperation<'static, SE>>>, debugger: <VmScope<'static, SE> as ScriptFunctionGenerator<SE>>::Input, ) -> Option<(FunctionBody, <VmScope<'static, SE> as ScriptFunctionGenerator<SE>>::Output)>
fn generate_function( function: &ScriptFunction<'static, SE>, registry: &Registry, input: Self::Input, ) -> Option<(Function, Self::Output)>
Auto Trait Implementations§
impl<'a, SE> Freeze for VmScope<'a, SE>
impl<'a, SE> RefUnwindSafe for VmScope<'a, SE>where
SE: RefUnwindSafe,
impl<'a, SE> Send for VmScope<'a, SE>
impl<'a, SE> Sync for VmScope<'a, SE>
impl<'a, SE> Unpin for VmScope<'a, SE>
impl<'a, SE> UnwindSafe for VmScope<'a, SE>where
SE: RefUnwindSafe,
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