pub enum RubyStmt {
Expr(RubyExpr),
Assign(String, RubyExpr),
Def(RubyMethod),
Class(RubyClass),
Mod(RubyModule),
If(RubyExpr, Vec<RubyStmt>, Vec<(RubyExpr, Vec<RubyStmt>)>, Option<Vec<RubyStmt>>),
While(RubyExpr, Vec<RubyStmt>),
Return(RubyExpr),
Begin(Vec<RubyStmt>, Option<(String, Vec<RubyStmt>)>, Option<Vec<RubyStmt>>),
}Expand description
Ruby statement AST.
Variants§
Expr(RubyExpr)
Standalone expression statement.
Assign(String, RubyExpr)
Local variable assignment: name = expr
Def(RubyMethod)
Method definition: def name(params) ... end
Class(RubyClass)
Class definition: class Name ... end
Mod(RubyModule)
Module definition: module Name ... end
If(RubyExpr, Vec<RubyStmt>, Vec<(RubyExpr, Vec<RubyStmt>)>, Option<Vec<RubyStmt>>)
if cond ... elsif ... else ... end
While(RubyExpr, Vec<RubyStmt>)
while cond ... end
Return(RubyExpr)
return expr
Begin(Vec<RubyStmt>, Option<(String, Vec<RubyStmt>)>, Option<Vec<RubyStmt>>)
begin ... rescue ... ensure ... end
Trait Implementations§
impl StructuralPartialEq for RubyStmt
Auto Trait Implementations§
impl Freeze for RubyStmt
impl RefUnwindSafe for RubyStmt
impl Send for RubyStmt
impl Sync for RubyStmt
impl Unpin for RubyStmt
impl UnsafeUnpin for RubyStmt
impl UnwindSafe for RubyStmt
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