Enum solang_parser::pt::Expression[][src]

pub enum Expression {
Show 59 variants PostIncrement(LocBox<Expression>), PostDecrement(LocBox<Expression>), New(LocBox<Expression>), ArraySubscript(LocBox<Expression>, Option<Box<Expression>>), MemberAccess(LocBox<Expression>, Identifier), FunctionCall(LocBox<Expression>, Vec<Expression>), FunctionCallBlock(LocBox<Expression>, Box<Statement>), NamedFunctionCall(LocBox<Expression>, Vec<NamedArgument>), Not(LocBox<Expression>), Complement(LocBox<Expression>), Delete(LocBox<Expression>), PreIncrement(LocBox<Expression>), PreDecrement(LocBox<Expression>), UnaryPlus(LocBox<Expression>), UnaryMinus(LocBox<Expression>), Power(LocBox<Expression>, Box<Expression>), Multiply(LocBox<Expression>, Box<Expression>), Divide(LocBox<Expression>, Box<Expression>), Modulo(LocBox<Expression>, Box<Expression>), Add(LocBox<Expression>, Box<Expression>), Subtract(LocBox<Expression>, Box<Expression>), ShiftLeft(LocBox<Expression>, Box<Expression>), ShiftRight(LocBox<Expression>, Box<Expression>), BitwiseAnd(LocBox<Expression>, Box<Expression>), BitwiseXor(LocBox<Expression>, Box<Expression>), BitwiseOr(LocBox<Expression>, Box<Expression>), Less(LocBox<Expression>, Box<Expression>), More(LocBox<Expression>, Box<Expression>), LessEqual(LocBox<Expression>, Box<Expression>), MoreEqual(LocBox<Expression>, Box<Expression>), Equal(LocBox<Expression>, Box<Expression>), NotEqual(LocBox<Expression>, Box<Expression>), And(LocBox<Expression>, Box<Expression>), Or(LocBox<Expression>, Box<Expression>), Ternary(LocBox<Expression>, Box<Expression>, Box<Expression>), Assign(LocBox<Expression>, Box<Expression>), AssignOr(LocBox<Expression>, Box<Expression>), AssignAnd(LocBox<Expression>, Box<Expression>), AssignXor(LocBox<Expression>, Box<Expression>), AssignShiftLeft(LocBox<Expression>, Box<Expression>), AssignShiftRight(LocBox<Expression>, Box<Expression>), AssignAdd(LocBox<Expression>, Box<Expression>), AssignSubtract(LocBox<Expression>, Box<Expression>), AssignMultiply(LocBox<Expression>, Box<Expression>), AssignDivide(LocBox<Expression>, Box<Expression>), AssignModulo(LocBox<Expression>, Box<Expression>), BoolLiteral(Locbool), NumberLiteral(LocBigInt), RationalNumberLiteral(LocBigRational), HexNumberLiteral(LocString), StringLiteral(Vec<StringLiteral>), Type(LocType), HexLiteral(Vec<HexLiteral>), AddressLiteral(LocString), Variable(Identifier), List(LocVec<(Loc, Option<Parameter>)>), ArrayLiteral(LocVec<Expression>), Unit(LocBox<Expression>, Unit), This(Loc),
}

Variants

PostIncrement(LocBox<Expression>)

Tuple Fields

0: Loc

PostDecrement(LocBox<Expression>)

Tuple Fields

0: Loc

New(LocBox<Expression>)

Tuple Fields

0: Loc

ArraySubscript(LocBox<Expression>, Option<Box<Expression>>)

Tuple Fields

0: Loc

MemberAccess(LocBox<Expression>, Identifier)

Tuple Fields

0: Loc

FunctionCall(LocBox<Expression>, Vec<Expression>)

Tuple Fields

0: Loc

FunctionCallBlock(LocBox<Expression>, Box<Statement>)

Tuple Fields

0: Loc

NamedFunctionCall(LocBox<Expression>, Vec<NamedArgument>)

Tuple Fields

0: Loc

Not(LocBox<Expression>)

Tuple Fields

0: Loc

Complement(LocBox<Expression>)

Tuple Fields

0: Loc

Delete(LocBox<Expression>)

Tuple Fields

0: Loc

PreIncrement(LocBox<Expression>)

Tuple Fields

0: Loc

PreDecrement(LocBox<Expression>)

Tuple Fields

0: Loc

UnaryPlus(LocBox<Expression>)

Tuple Fields

0: Loc

UnaryMinus(LocBox<Expression>)

Tuple Fields

0: Loc

Power(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Multiply(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Divide(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Modulo(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Add(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Subtract(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

ShiftLeft(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

ShiftRight(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

BitwiseAnd(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

BitwiseXor(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

BitwiseOr(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Less(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

More(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

LessEqual(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

MoreEqual(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Equal(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

NotEqual(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

And(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Or(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Ternary(LocBox<Expression>, Box<Expression>, Box<Expression>)

Tuple Fields

0: Loc

Assign(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignOr(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignAnd(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignXor(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignShiftLeft(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignShiftRight(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignAdd(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignSubtract(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignMultiply(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignDivide(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

AssignModulo(LocBox<Expression>, Box<Expression>)

Tuple Fields

0: Loc

BoolLiteral(Locbool)

Tuple Fields

0: Loc
1: bool

NumberLiteral(LocBigInt)

Tuple Fields

0: Loc
1: BigInt

RationalNumberLiteral(LocBigRational)

Tuple Fields

0: Loc

HexNumberLiteral(LocString)

Tuple Fields

0: Loc
1: String

StringLiteral(Vec<StringLiteral>)

Tuple Fields

Type(LocType)

Tuple Fields

0: Loc
1: Type

HexLiteral(Vec<HexLiteral>)

Tuple Fields

AddressLiteral(LocString)

Tuple Fields

0: Loc
1: String

Variable(Identifier)

Tuple Fields

List(LocVec<(Loc, Option<Parameter>)>)

Tuple Fields

0: Loc

ArrayLiteral(LocVec<Expression>)

Tuple Fields

0: Loc

Unit(LocBox<Expression>, Unit)

Tuple Fields

0: Loc
2: Unit

This(Loc)

Tuple Fields

0: Loc

Implementations

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

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

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

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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.