Skip to main content

StackChirho

Struct StackChirho 

Source
pub struct StackChirho { /* private fields */ }
Expand description

The evaluation stack.

Implementations§

Source§

impl StackChirho

Source

pub fn new_chirho() -> Self

Create a new empty stack.

Source

pub fn push_chirho(&mut self, frame_chirho: FrameChirho)

Push a continuation frame.

Source

pub fn pop_chirho(&mut self) -> Option<FrameChirho>

Pop the top continuation frame, if any.

Source

pub fn peek_chirho(&self) -> Option<&FrameChirho>

Peek at the top frame without popping.

Source

pub fn is_empty_chirho(&self) -> bool

Whether the stack is empty.

Source

pub fn depth_chirho(&self) -> usize

Current stack depth.

Source

pub fn max_depth_chirho(&self) -> usize

Maximum stack depth reached during execution.

Source

pub fn frames_chirho(&self) -> &[FrameChirho]

Borrow all frames (for GC root extraction).

Source

pub fn unwind_to_catch_chirho(&mut self) -> Option<FrameChirho>

Unwind the stack looking for a CatchChirho or TryFrameChirho frame. Returns the frame if found, popping all frames above it (including the handler frame itself). Returns None if no such frame exists.

Trait Implementations§

Source§

impl Debug for StackChirho

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.