pub enum StatementNode {
Expression(ExpressionNode),
MethodDef {
name: String,
params: Vec<String>,
body: Vec<StatementNode>,
span: Range<usize>,
},
ClassDef {
name: String,
superclass: Option<String>,
body: Vec<StatementNode>,
span: Range<usize>,
},
Assignment {
target: String,
value: ExpressionNode,
span: Range<usize>,
},
If {
condition: ExpressionNode,
then_body: Vec<StatementNode>,
else_body: Option<Vec<StatementNode>>,
span: Range<usize>,
},
While {
condition: ExpressionNode,
body: Vec<StatementNode>,
span: Range<usize>,
},
Return {
value: Option<ExpressionNode>,
span: Range<usize>,
},
}Expand description
Ruby statement node
Variants§
Expression(ExpressionNode)
Expression statement
MethodDef
Method definition
Fields
§
body: Vec<StatementNode>Method body
ClassDef
Class definition
Fields
§
body: Vec<StatementNode>Class body
Assignment
Assignment statement
Fields
§
value: ExpressionNodeAssignment value
If
Conditional statement
Fields
§
condition: ExpressionNodeCondition expression
§
then_body: Vec<StatementNode>then branch
§
else_body: Option<Vec<StatementNode>>else branch
While
Loop statement
Return
Return statement
Trait Implementations§
Source§impl Clone for StatementNode
impl Clone for StatementNode
Source§fn clone(&self) -> StatementNode
fn clone(&self) -> StatementNode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StatementNode
impl Debug for StatementNode
Source§impl<'de> Deserialize<'de> for StatementNode
impl<'de> Deserialize<'de> for StatementNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for StatementNode
impl PartialEq for StatementNode
Source§impl Serialize for StatementNode
impl Serialize for StatementNode
impl StructuralPartialEq for StatementNode
Auto Trait Implementations§
impl Freeze for StatementNode
impl RefUnwindSafe for StatementNode
impl Send for StatementNode
impl Sync for StatementNode
impl Unpin for StatementNode
impl UnsafeUnpin for StatementNode
impl UnwindSafe for StatementNode
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