Enum rhai::Stmt [−][src]
pub enum Stmt {
Show 15 variants
Noop(Position),
IfThenElse(Box<(Expr, Stmt, Option<Stmt>, Position)>),
While(Box<(Expr, Stmt, Position)>),
Loop(Box<(Stmt, Position)>),
For(Box<(String, Expr, Stmt, Position)>),
Let(Box<((String, Position), Option<Expr>, Position)>),
Const(Box<((String, Position), Option<Expr>, Position)>),
Block(Box<(StaticVec<Stmt>, Position)>),
Expr(Box<Expr>),
Continue(Position),
Break(Position),
ReturnWithVal(Box<((ReturnType, Position), Option<Expr>, Position)>),
Import(Box<(Expr, Option<(ImmutableString, Position)>, Position)>),
Export(Box<(StaticVec<((String, Position), Option<(String, Position)>)>, Position)>),
Share(Box<(String, Position)>),
}
Expand description
[INTERNALS] A Rhai statement.
Exported under the internals
feature only.
Each variant is at most one pointer in size (for speed), with everything being allocated together in one single tuple.
Variants
Noop(Position)
Tuple Fields
0: Position
No-op.
IfThenElse(Box<(Expr, Stmt, Option<Stmt>, Position)>)
if expr { stmt } else { stmt }
While(Box<(Expr, Stmt, Position)>)
while expr { stmt }
Loop(Box<(Stmt, Position)>)
loop { stmt }
For(Box<(String, Expr, Stmt, Position)>)
for id in expr { stmt }
Let(Box<((String, Position), Option<Expr>, Position)>)
let id = expr
Const(Box<((String, Position), Option<Expr>, Position)>)
const id = expr
Block(Box<(StaticVec<Stmt>, Position)>)
{ stmt; … }
Expr(Box<Expr>)
expr
Continue(Position)
Tuple Fields
0: Position
continue
Break(Position)
Tuple Fields
0: Position
break
ReturnWithVal(Box<((ReturnType, Position), Option<Expr>, Position)>)
return/throw
Import(Box<(Expr, Option<(ImmutableString, Position)>, Position)>)
import expr as module
Export(Box<(StaticVec<((String, Position), Option<(String, Position)>)>, Position)>)
expr id as name, …
Share(Box<(String, Position)>)
Convert a variable to shared.
Implementations
Override the Position
of this statement.
Is this statement self-terminated (i.e. no need for a semicolon terminator)?
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Stmt
impl !UnwindSafe for Stmt
Blanket Implementations
Mutably borrows from an owned value. Read more