pub enum ExpressionKind {
Show 23 variants Literal(Literal), FunctionApplication(Box<FunctionApplicationExpression>), LazyOperator(LazyOperatorExpression), Variable(Ident), Tuple(Vec<Expression>), TupleIndex(TupleIndexExpression), Array(Vec<Expression>), Struct(Box<StructExpression>), CodeBlock(CodeBlock), If(IfExpression), Match(MatchExpression), Asm(Box<AsmExpression>), MethodApplication(Box<MethodApplicationExpression>), Subfield(SubfieldExpression), DelineatedPath(Box<DelineatedPathExpression>), AbiCast(Box<AbiCastExpression>), ArrayIndex(ArrayIndexExpression), StorageAccess(StorageAccessExpression), IntrinsicFunction(IntrinsicFunctionExpression), WhileLoop(WhileLoopExpression), Break, Continue, Reassignment(ReassignmentExpression),
}

Variants

Literal(Literal)

FunctionApplication(Box<FunctionApplicationExpression>)

LazyOperator(LazyOperatorExpression)

Variable(Ident)

Tuple(Vec<Expression>)

TupleIndex(TupleIndexExpression)

Array(Vec<Expression>)

Struct(Box<StructExpression>)

CodeBlock(CodeBlock)

If(IfExpression)

Match(MatchExpression)

Asm(Box<AsmExpression>)

MethodApplication(Box<MethodApplicationExpression>)

Subfield(SubfieldExpression)

A subfield expression is anything of the form:

<ident>.<ident>

DelineatedPath(Box<DelineatedPathExpression>)

A delineated path is anything of the form:

<ident>::<ident>

Where there are n >= 2 idents. These could be either enum variant constructions, or they could be references to some sort of module in the module tree. For example, a reference to a module:

std::ops::add

And, an enum declaration:

enum MyEnum {
  Variant1,
  Variant2
}

MyEnum::Variant1

AbiCast(Box<AbiCastExpression>)

A cast of a hash to an ABI for calling a contract.

ArrayIndex(ArrayIndexExpression)

StorageAccess(StorageAccessExpression)

IntrinsicFunction(IntrinsicFunctionExpression)

WhileLoop(WhileLoopExpression)

A control flow element which loops continually until some boolean expression evaluates as false.

Break

Continue

Reassignment(ReassignmentExpression)

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more