pub struct RuntimePropertiesStackFrame { /* private fields */ }
Expand description
Data structure for a single frame of our runtime stack, including
a reference to its parent frame and properties
for
runtime evaluation, e.g. of Expressions. RuntimePropertiesStackFrame
s also track
timeline playhead position.
Component
s push RuntimePropertiesStackFrame
s before computing properties and pop them after computing, thus providing a
hierarchical store of node-relevant data that can be bound to symbols in expressions.
Implementations§
Source§impl RuntimePropertiesStackFrame
impl RuntimePropertiesStackFrame
pub fn new(properties: Rc<RefCell<dyn Any>>) -> Rc<Self>
pub fn push(self: &Rc<Self>, properties: &Rc<RefCell<dyn Any>>) -> Rc<Self>
pub fn pop(self: &Rc<Self>) -> Option<Rc<Self>>
Sourcepub fn peek_nth(self: &Rc<Self>, n: isize) -> Option<Rc<RefCell<dyn Any>>>
pub fn peek_nth(self: &Rc<Self>, n: isize) -> Option<Rc<RefCell<dyn Any>>>
Traverses stack recursively n
times to retrieve ancestor;
useful for runtime lookups for identifiers, where n
is the statically known offset determined by the Pax compiler
when resolving a symbol
pub fn get_properties(&self) -> Rc<RefCell<dyn Any>>
Auto Trait Implementations§
impl Freeze for RuntimePropertiesStackFrame
impl !RefUnwindSafe for RuntimePropertiesStackFrame
impl !Send for RuntimePropertiesStackFrame
impl !Sync for RuntimePropertiesStackFrame
impl Unpin for RuntimePropertiesStackFrame
impl !UnwindSafe for RuntimePropertiesStackFrame
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, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
Source§fn round_into(self) -> U
fn round_into(self) -> U
Performs the conversion.