pub struct BlockCnt {
pub previous: Option<Box<BlockCnt>>,
pub firstlabel: i32,
pub firstgoto: i32,
pub nactvar: u8,
pub upval: bool,
pub isloop: bool,
pub insidetbc: bool,
}Expand description
C: BlockCnt — one nested block scope (defined in lparser.c, not header).
In C: stack-allocated, chained via raw *previous pointer.
In Rust: heap-allocated in an Option<Box<BlockCnt>> chain on FuncState.
Fields§
§previous: Option<Box<BlockCnt>>C: *previous — enclosing block; None at function top level.
firstlabel: i32C: firstlabel — index of first label in this block (in dyd.label)
firstgoto: i32C: firstgoto — index of first pending goto (in dyd.gt)
nactvar: u8C: nactvar — active-local count on block entry
upval: boolC: upval — true if some variable in block is an upvalue
isloop: boolC: isloop — true if this block is a loop body
insidetbc: boolC: insidetbc — true if inside the scope of a to-be-closed variable
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BlockCnt
impl RefUnwindSafe for BlockCnt
impl Send for BlockCnt
impl Sync for BlockCnt
impl Unpin for BlockCnt
impl UnsafeUnpin for BlockCnt
impl UnwindSafe for BlockCnt
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