pub enum ExprKind {
Show 39 variants
Let {
variable_id: VariableId,
expr: ExprId,
},
SelectField {
expr: ExprId,
field: String,
},
SelectIndex {
expr: ExprId,
index: ExprId,
},
Sequence {
exprs: Vec<ExprId>,
},
Range {
range: RangeKind,
},
Record {
fields: Vec<(String, ExprId)>,
},
Tuple {
exprs: Vec<ExprId>,
},
Literal {
value: String,
},
Number {
number: Number,
},
Flags {
flags: Vec<String>,
},
Identifier {
variable_id: VariableId,
},
Boolean {
value: bool,
},
Concat {
exprs: Vec<ExprId>,
},
ExprBlock {
exprs: Vec<ExprId>,
},
Not {
expr: ExprId,
},
GreaterThan {
lhs: ExprId,
rhs: ExprId,
},
GreaterThanOrEqualTo {
lhs: ExprId,
rhs: ExprId,
},
LessThanOrEqualTo {
lhs: ExprId,
rhs: ExprId,
},
EqualTo {
lhs: ExprId,
rhs: ExprId,
},
LessThan {
lhs: ExprId,
rhs: ExprId,
},
And {
lhs: ExprId,
rhs: ExprId,
},
Or {
lhs: ExprId,
rhs: ExprId,
},
Plus {
lhs: ExprId,
rhs: ExprId,
},
Minus {
lhs: ExprId,
rhs: ExprId,
},
Multiply {
lhs: ExprId,
rhs: ExprId,
},
Divide {
lhs: ExprId,
rhs: ExprId,
},
Cond {
cond: ExprId,
lhs: ExprId,
rhs: ExprId,
},
PatternMatch {
predicate: ExprId,
match_arms: Vec<MatchArmNode>,
},
Option {
expr: Option<ExprId>,
},
Result {
expr: ResultExprKind,
},
Call {
call_type: CallTypeNode,
args: Vec<ExprId>,
},
InvokeMethodLazy {
lhs: ExprId,
method: String,
args: Vec<ExprId>,
},
Unwrap {
expr: ExprId,
},
Throw {
message: String,
},
GetTag {
expr: ExprId,
},
ListComprehension {
iterated_variable: VariableId,
iterable_expr: ExprId,
yield_expr: ExprId,
},
ListReduce {
reduce_variable: VariableId,
iterated_variable: VariableId,
iterable_expr: ExprId,
init_value_expr: ExprId,
yield_expr: ExprId,
},
Length {
expr: ExprId,
},
GenerateWorkerName {
variable_id: Option<VariableId>,
},
}Expand description
The shape of an expression node.
This mirrors Expr exactly, replacing every Box<Expr> / Vec<Expr>
with ExprId / Vec<ExprId> and every ArmPattern with ArmPatternId.
Variants§
Let
SelectField
SelectIndex
Sequence
Range
Record
Tuple
Literal
Number
Flags
Identifier
Fields
§
variable_id: VariableIdBoolean
Concat
ExprBlock
Not
GreaterThan
GreaterThanOrEqualTo
LessThanOrEqualTo
EqualTo
LessThan
And
Or
Plus
Minus
Multiply
Divide
Cond
PatternMatch
Option
Result
Fields
§
expr: ResultExprKindCall
InvokeMethodLazy
Unwrap
Throw
GetTag
ListComprehension
ListReduce
Length
GenerateWorkerName
Fields
§
variable_id: Option<VariableId>Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExprKind
impl RefUnwindSafe for ExprKind
impl Send for ExprKind
impl Sync for ExprKind
impl Unpin for ExprKind
impl UnsafeUnpin for ExprKind
impl UnwindSafe for ExprKind
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