pub enum ResolvedExpression {
Show 48 variants
VariableAccess(ResolvedVariableRef),
FieldAccess(Box<ResolvedExpression>, ResolvedStructTypeFieldRef, Vec<ResolvedAccess>),
InternalFunctionAccess(ResolvedInternalFunctionDefinitionRef),
ExternalFunctionAccess(ResolvedExternalFunctionDefinitionRef),
MutRef(Rc<ResolvedMutVariable>),
Option(Option<Box<ResolvedExpression>>),
ArrayAccess(ResolvedArrayItemRef),
MapIndexAccess(ResolvedMapIndexLookup),
InitializeVariable(ResolvedVariableAssignment),
ReassignVariable(ResolvedVariableAssignment),
VariableCompoundAssignment(ResolvedVariableCompoundAssignment),
ArrayExtend(ResolvedVariableRef, Box<ResolvedExpression>),
ArrayPush(ResolvedVariableRef, Box<ResolvedExpression>),
ArrayAssignment(ResolvedMutArray, ResolvedIndexType, Box<ResolvedExpression>),
MapAssignment(ResolvedMutMap, ResolvedIndexType, Box<ResolvedExpression>),
StructFieldAssignment(Box<ResolvedExpression>, Vec<ResolvedAccess>, Box<ResolvedExpression>),
FieldCompoundAssignment(Box<ResolvedExpression>, Vec<ResolvedAccess>, CompoundOperator, Box<ResolvedExpression>),
BinaryOp(ResolvedBinaryOperator),
UnaryOp(ResolvedUnaryOperator),
PostfixOp(ResolvedPostfixOperator),
CoerceOptionToBool(Box<ResolvedExpression>),
FunctionInternalCall(ResolvedInternalFunctionCall),
FunctionExternalCall(ResolvedExternalFunctionCall),
StaticCall(ResolvedStaticCall),
StaticCallGeneric(ResolvedStaticCallGeneric),
MutMemberCall(MutMemberRef, Vec<ResolvedExpression>),
MemberCall(ResolvedMemberCall),
Block(Vec<ResolvedStatement>),
InterpolatedString(ResolvedStringTypeRef, Vec<ResolvedStringPart>),
StructInstantiation(ResolvedStructInstantiation),
Array(ResolvedArrayInstantiation),
Tuple(Vec<ResolvedExpression>),
Literal(ResolvedLiteral),
ExclusiveRange(ResolvedExclusiveRangeTypeRef, Box<ResolvedExpression>, Box<ResolvedExpression>),
IfElse(Box<ResolvedBooleanExpression>, Box<ResolvedExpression>, Box<ResolvedExpression>),
IfElseOnlyVariable {
variable: ResolvedVariableRef,
optional_expr: Box<ResolvedExpression>,
true_block: Box<ResolvedExpression>,
false_block: Box<ResolvedExpression>,
},
IfElseAssignExpression {
variable: ResolvedVariableRef,
optional_expr: Box<ResolvedExpression>,
true_block: Box<ResolvedExpression>,
false_block: Box<ResolvedExpression>,
},
Match(ResolvedMatch),
LetVar(ResolvedVariableRef, Box<ResolvedExpression>),
ArrayRemoveIndex(ResolvedVariableRef, Box<ResolvedExpression>),
ArrayClear(ResolvedVariableRef),
FloatRound(Box<ResolvedExpression>),
FloatFloor(Box<ResolvedExpression>),
FloatSign(Box<ResolvedExpression>),
FloatAbs(Box<ResolvedExpression>),
SparseAdd(Box<ResolvedExpression>, Box<ResolvedExpression>),
SparseRemove(Box<ResolvedExpression>, Box<ResolvedExpression>),
SparseNew(ResolvedRustTypeRef, ResolvedType),
}
Variants§
VariableAccess(ResolvedVariableRef)
FieldAccess(Box<ResolvedExpression>, ResolvedStructTypeFieldRef, Vec<ResolvedAccess>)
InternalFunctionAccess(ResolvedInternalFunctionDefinitionRef)
ExternalFunctionAccess(ResolvedExternalFunctionDefinitionRef)
MutRef(Rc<ResolvedMutVariable>)
Option(Option<Box<ResolvedExpression>>)
ArrayAccess(ResolvedArrayItemRef)
MapIndexAccess(ResolvedMapIndexLookup)
InitializeVariable(ResolvedVariableAssignment)
ReassignVariable(ResolvedVariableAssignment)
VariableCompoundAssignment(ResolvedVariableCompoundAssignment)
ArrayExtend(ResolvedVariableRef, Box<ResolvedExpression>)
ArrayPush(ResolvedVariableRef, Box<ResolvedExpression>)
ArrayAssignment(ResolvedMutArray, ResolvedIndexType, Box<ResolvedExpression>)
MapAssignment(ResolvedMutMap, ResolvedIndexType, Box<ResolvedExpression>)
StructFieldAssignment(Box<ResolvedExpression>, Vec<ResolvedAccess>, Box<ResolvedExpression>)
FieldCompoundAssignment(Box<ResolvedExpression>, Vec<ResolvedAccess>, CompoundOperator, Box<ResolvedExpression>)
BinaryOp(ResolvedBinaryOperator)
UnaryOp(ResolvedUnaryOperator)
PostfixOp(ResolvedPostfixOperator)
CoerceOptionToBool(Box<ResolvedExpression>)
FunctionInternalCall(ResolvedInternalFunctionCall)
FunctionExternalCall(ResolvedExternalFunctionCall)
StaticCall(ResolvedStaticCall)
StaticCallGeneric(ResolvedStaticCallGeneric)
MutMemberCall(MutMemberRef, Vec<ResolvedExpression>)
MemberCall(ResolvedMemberCall)
Block(Vec<ResolvedStatement>)
InterpolatedString(ResolvedStringTypeRef, Vec<ResolvedStringPart>)
StructInstantiation(ResolvedStructInstantiation)
Array(ResolvedArrayInstantiation)
Tuple(Vec<ResolvedExpression>)
Literal(ResolvedLiteral)
ExclusiveRange(ResolvedExclusiveRangeTypeRef, Box<ResolvedExpression>, Box<ResolvedExpression>)
IfElse(Box<ResolvedBooleanExpression>, Box<ResolvedExpression>, Box<ResolvedExpression>)
IfElseOnlyVariable
Fields
§
variable: ResolvedVariableRef
§
optional_expr: Box<ResolvedExpression>
§
true_block: Box<ResolvedExpression>
§
false_block: Box<ResolvedExpression>
IfElseAssignExpression
Fields
§
variable: ResolvedVariableRef
§
optional_expr: Box<ResolvedExpression>
§
true_block: Box<ResolvedExpression>
§
false_block: Box<ResolvedExpression>
Match(ResolvedMatch)
LetVar(ResolvedVariableRef, Box<ResolvedExpression>)
ArrayRemoveIndex(ResolvedVariableRef, Box<ResolvedExpression>)
ArrayClear(ResolvedVariableRef)
FloatRound(Box<ResolvedExpression>)
FloatFloor(Box<ResolvedExpression>)
FloatSign(Box<ResolvedExpression>)
FloatAbs(Box<ResolvedExpression>)
SparseAdd(Box<ResolvedExpression>, Box<ResolvedExpression>)
SparseRemove(Box<ResolvedExpression>, Box<ResolvedExpression>)
SparseNew(ResolvedRustTypeRef, ResolvedType)
Trait Implementations§
Source§impl Debug for ResolvedExpression
impl Debug for ResolvedExpression
Auto Trait Implementations§
impl Freeze for ResolvedExpression
impl !RefUnwindSafe for ResolvedExpression
impl !Send for ResolvedExpression
impl !Sync for ResolvedExpression
impl Unpin for ResolvedExpression
impl !UnwindSafe for ResolvedExpression
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