swamp_script_semantic

Enum ResolvedExpression

Source
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

§optional_expr: Box<ResolvedExpression>
§

IfElseAssignExpression

Fields

§optional_expr: 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

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ResolvedExpression

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.