pub enum DartStmt {
Show 22 variants
VarDecl(DartType, String, DartExpr),
VarInferred(String, DartExpr),
FinalDecl(DartType, String, DartExpr),
ConstDecl(DartType, String, DartExpr),
Assign(String, DartExpr),
FieldAssign(DartExpr, String, DartExpr),
IndexAssign(DartExpr, DartExpr, DartExpr),
Return(Option<DartExpr>),
Expr(DartExpr),
If(DartExpr, Vec<DartStmt>, Vec<DartStmt>),
While(DartExpr, Vec<DartStmt>),
DoWhile(Vec<DartStmt>, DartExpr),
For(Box<DartStmt>, DartExpr, Box<DartStmt>, Vec<DartStmt>),
ForIn(String, DartExpr, Vec<DartStmt>),
Break,
Continue,
Throw(DartExpr),
TryCatch(Vec<DartStmt>, String, Vec<DartStmt>, Vec<DartStmt>),
Switch(DartExpr, Vec<(DartExpr, Vec<DartStmt>)>, Vec<DartStmt>),
Assert(DartExpr),
Block(Vec<DartStmt>),
Raw(String),
}Expand description
Dart statement AST.
Variants§
VarDecl(DartType, String, DartExpr)
Type name = expr; or var name = expr;
VarInferred(String, DartExpr)
var name = expr; (inferred type)
FinalDecl(DartType, String, DartExpr)
final Type name = expr;
ConstDecl(DartType, String, DartExpr)
const Type name = expr;
Assign(String, DartExpr)
name = expr;
FieldAssign(DartExpr, String, DartExpr)
expr.field = value;
IndexAssign(DartExpr, DartExpr, DartExpr)
expr[idx] = value;
Return(Option<DartExpr>)
return expr;
Expr(DartExpr)
Expression statement: expr;
If(DartExpr, Vec<DartStmt>, Vec<DartStmt>)
if (cond) { then } else { else_ }
While(DartExpr, Vec<DartStmt>)
while (cond) { body }
DoWhile(Vec<DartStmt>, DartExpr)
do { body } while (cond);
For(Box<DartStmt>, DartExpr, Box<DartStmt>, Vec<DartStmt>)
for (init; cond; update) { body }
ForIn(String, DartExpr, Vec<DartStmt>)
for (final elem in iterable) { body }
Break
break;
Continue
continue;
Throw(DartExpr)
throw expr;
TryCatch(Vec<DartStmt>, String, Vec<DartStmt>, Vec<DartStmt>)
try { body } catch (e) { handler } finally { fin }
Switch(DartExpr, Vec<(DartExpr, Vec<DartStmt>)>, Vec<DartStmt>)
switch (expr) { case v: stmts ... default: stmts }
Assert(DartExpr)
assert(expr);
Block(Vec<DartStmt>)
Block { stmts }
Raw(String)
Raw Dart code
Trait Implementations§
impl StructuralPartialEq for DartStmt
Auto Trait Implementations§
impl Freeze for DartStmt
impl RefUnwindSafe for DartStmt
impl Send for DartStmt
impl Sync for DartStmt
impl Unpin for DartStmt
impl UnsafeUnpin for DartStmt
impl UnwindSafe for DartStmt
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