Enum cleaver::fe::ast::Statement
[−]
[src]
pub enum Statement {
Expression {
expr: Box<Node<Expression>>,
},
Declaration {
var: Rc<Variable>,
},
Assignment {
var: Rc<Variable>,
expr: Box<Node<Expression>>,
},
If {
cond: Box<Node<Expression>>,
on_true: Box<Node<Statement>>,
on_false: Option<Box<Node<Statement>>>,
},
While {
cond: Box<Node<Expression>>,
body: Box<Node<Statement>>,
},
Return {
expr: Option<Box<Node<Expression>>>,
},
Compound {
stmts: Vec<Node<Statement>>,
},
}Variants
ExpressionFields
expr: Box<Node<Expression>> |
DeclarationFields
var: Rc<Variable> |
AssignmentFields
var: Rc<Variable> | |
expr: Box<Node<Expression>> |
IfFields
cond: Box<Node<Expression>> | |
on_true: Box<Node<Statement>> | |
on_false: Option<Box<Node<Statement>>> |
WhileFields
cond: Box<Node<Expression>> | |
body: Box<Node<Statement>> |
ReturnFields
expr: Option<Box<Node<Expression>>> |
CompoundFields
stmts: Vec<Node<Statement>> |
Trait Implementations
impl PartialEq for Statement[src]
fn eq(&self, __arg_0: &Statement) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Statement) -> bool
This method tests for !=.