Enum arrow_parser::ast::Expression
source · pub enum Expression {
Show 19 variants
Binary {
left: Node<Expression>,
right: Node<Expression>,
operator: ExprOperatorName,
},
BindMethod {
impl_: String,
method: String,
arguments: Vec<Node<Expression>>,
},
Block {
statements: Vec<Node<Statement>>,
result: Option<Node<Expression>>,
},
CallMethod {
object: Node<Expression>,
method: String,
arguments: Vec<Node<Expression>>,
optional: bool,
},
CallValue {
callee: Node<Expression>,
arguments: Vec<Node<Expression>>,
optional: bool,
},
Cast {
value: Node<Expression>,
typ: String,
},
Closure {
parameters: Vec<String>,
body: Node<Expression>,
},
Field {
object: Node<Expression>,
field: String,
optional: bool,
},
Index {
object: Node<Expression>,
index: Node<Expression>,
optional: bool,
},
If {
condition: Node<Expression>,
consequent: Node<Expression>,
alternate: Option<Node<Expression>>,
},
LiteralArray {
entries: Vec<Node<Expression>>,
},
LiteralBoolean {
value: bool,
},
LiteralFloat {
value: OrderedFloat<f64>,
},
LiteralInt {
value: i64,
},
LiteralNone {},
LiteralObject {
fields: Vec<(String, Node<Expression>)>,
},
LiteralTemplateExpr {
parts: Vec<LiteralTemplatePart>,
},
Unary {
operand: Node<Expression>,
operator: ExprOperatorName,
},
Var {
name: String,
},
}
Variants§
Binary
BindMethod
Block
CallMethod
CallValue
Cast
Closure
Field
Index
If
LiteralArray
Fields
§
entries: Vec<Node<Expression>>
LiteralBoolean
LiteralFloat
Fields
§
value: OrderedFloat<f64>
LiteralInt
LiteralNone
Fields
LiteralObject
Fields
§
fields: Vec<(String, Node<Expression>)>
LiteralTemplateExpr
Fields
§
parts: Vec<LiteralTemplatePart>