pub enum Stmt {
Noop {
line: u32,
},
Let {
index: LocalSlot,
declared_schema: Option<TypeSchema>,
expr: Expr,
line: u32,
},
Assign {
kind: AssignmentKind,
index: LocalSlot,
expr: Expr,
line: u32,
},
ClosureLet {
line: u32,
closure: ClosureExpr,
},
FuncDecl {
name: String,
index: u16,
arity: u8,
args: Vec<String>,
exported: bool,
has_impl: bool,
line: u32,
},
Expr {
expr: Expr,
line: u32,
},
IfElse {
condition: Expr,
then_branch: Vec<Stmt>,
else_branch: Vec<Stmt>,
line: u32,
},
For {
init: Box<Stmt>,
condition: Expr,
post: Box<Stmt>,
body: Vec<Stmt>,
line: u32,
},
While {
condition: Expr,
body: Vec<Stmt>,
line: u32,
},
Break {
line: u32,
},
Continue {
line: u32,
},
Drop {
index: LocalSlot,
line: u32,
},
}Variants§
Noop
Let
Assign
ClosureLet
FuncDecl
Expr
IfElse
For
While
Break
Continue
Drop
Explicit compile-time drop: null-out the local slot and trigger the runtime drop-contract for whatever value was previously stored there.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Stmt
impl RefUnwindSafe for Stmt
impl Send for Stmt
impl Sync for Stmt
impl Unpin for Stmt
impl UnsafeUnpin for Stmt
impl UnwindSafe for Stmt
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