pub struct ContextStack {
contexts: Vec<FunctionContext>,
current_len: usize,
}
Expand description
A stack of contexts, building with the function call stack.
Fields§
§contexts: Vec<FunctionContext>
§current_len: usize
Implementations§
Source§impl ContextStack
impl ContextStack
fn len(&self) -> usize
fn push(&mut self, program: Symbol, caller: Address<TestnetV0>, is_async: bool)
pub fn pop(&mut self)
Sourcefn get_future(&mut self) -> Future
fn get_future(&mut self) -> Future
Get the future accumulated by awaiting futures in the current function call.
If the current code being interpreted is not in an async function, this will of course be empty.
fn set(&mut self, symbol: Symbol, value: Value)
pub fn add_future(&mut self, future: Future)
pub fn current_program(&self) -> Option<Symbol>
pub fn last(&self) -> Option<&FunctionContext>
fn last_mut(&mut self) -> Option<&mut FunctionContext>
Trait Implementations§
Source§impl Clone for ContextStack
impl Clone for ContextStack
Source§fn clone(&self) -> ContextStack
fn clone(&self) -> ContextStack
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 ContextStack
impl Debug for ContextStack
Source§impl Default for ContextStack
impl Default for ContextStack
Source§fn default() -> ContextStack
fn default() -> ContextStack
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ContextStack
impl RefUnwindSafe for ContextStack
impl Send for ContextStack
impl Sync for ContextStack
impl Unpin for ContextStack
impl UnwindSafe for ContextStack
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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