Enum solang_parser::pt::Expression [−][src]
pub enum Expression {
Show 59 variants
PostIncrement(Loc, Box<Expression>),
PostDecrement(Loc, Box<Expression>),
New(Loc, Box<Expression>),
ArraySubscript(Loc, Box<Expression>, Option<Box<Expression>>),
MemberAccess(Loc, Box<Expression>, Identifier),
FunctionCall(Loc, Box<Expression>, Vec<Expression>),
FunctionCallBlock(Loc, Box<Expression>, Box<Statement>),
NamedFunctionCall(Loc, Box<Expression>, Vec<NamedArgument>),
Not(Loc, Box<Expression>),
Complement(Loc, Box<Expression>),
Delete(Loc, Box<Expression>),
PreIncrement(Loc, Box<Expression>),
PreDecrement(Loc, Box<Expression>),
UnaryPlus(Loc, Box<Expression>),
UnaryMinus(Loc, Box<Expression>),
Power(Loc, Box<Expression>, Box<Expression>),
Multiply(Loc, Box<Expression>, Box<Expression>),
Divide(Loc, Box<Expression>, Box<Expression>),
Modulo(Loc, Box<Expression>, Box<Expression>),
Add(Loc, Box<Expression>, Box<Expression>),
Subtract(Loc, Box<Expression>, Box<Expression>),
ShiftLeft(Loc, Box<Expression>, Box<Expression>),
ShiftRight(Loc, Box<Expression>, Box<Expression>),
BitwiseAnd(Loc, Box<Expression>, Box<Expression>),
BitwiseXor(Loc, Box<Expression>, Box<Expression>),
BitwiseOr(Loc, Box<Expression>, Box<Expression>),
Less(Loc, Box<Expression>, Box<Expression>),
More(Loc, Box<Expression>, Box<Expression>),
LessEqual(Loc, Box<Expression>, Box<Expression>),
MoreEqual(Loc, Box<Expression>, Box<Expression>),
Equal(Loc, Box<Expression>, Box<Expression>),
NotEqual(Loc, Box<Expression>, Box<Expression>),
And(Loc, Box<Expression>, Box<Expression>),
Or(Loc, Box<Expression>, Box<Expression>),
Ternary(Loc, Box<Expression>, Box<Expression>, Box<Expression>),
Assign(Loc, Box<Expression>, Box<Expression>),
AssignOr(Loc, Box<Expression>, Box<Expression>),
AssignAnd(Loc, Box<Expression>, Box<Expression>),
AssignXor(Loc, Box<Expression>, Box<Expression>),
AssignShiftLeft(Loc, Box<Expression>, Box<Expression>),
AssignShiftRight(Loc, Box<Expression>, Box<Expression>),
AssignAdd(Loc, Box<Expression>, Box<Expression>),
AssignSubtract(Loc, Box<Expression>, Box<Expression>),
AssignMultiply(Loc, Box<Expression>, Box<Expression>),
AssignDivide(Loc, Box<Expression>, Box<Expression>),
AssignModulo(Loc, Box<Expression>, Box<Expression>),
BoolLiteral(Loc, bool),
NumberLiteral(Loc, BigInt),
RationalNumberLiteral(Loc, BigRational),
HexNumberLiteral(Loc, String),
StringLiteral(Vec<StringLiteral>),
Type(Loc, Type),
HexLiteral(Vec<HexLiteral>),
AddressLiteral(Loc, String),
Variable(Identifier),
List(Loc, Vec<(Loc, Option<Parameter>)>),
ArrayLiteral(Loc, Vec<Expression>),
Unit(Loc, Box<Expression>, Unit),
This(Loc),
}Variants
PostIncrement(Loc, Box<Expression>)
PostDecrement(Loc, Box<Expression>)
New(Loc, Box<Expression>)
ArraySubscript(Loc, Box<Expression>, Option<Box<Expression>>)
MemberAccess(Loc, Box<Expression>, Identifier)
FunctionCall(Loc, Box<Expression>, Vec<Expression>)
FunctionCallBlock(Loc, Box<Expression>, Box<Statement>)
NamedFunctionCall(Loc, Box<Expression>, Vec<NamedArgument>)
Not(Loc, Box<Expression>)
Complement(Loc, Box<Expression>)
Delete(Loc, Box<Expression>)
PreIncrement(Loc, Box<Expression>)
PreDecrement(Loc, Box<Expression>)
UnaryPlus(Loc, Box<Expression>)
UnaryMinus(Loc, Box<Expression>)
Power(Loc, Box<Expression>, Box<Expression>)
Multiply(Loc, Box<Expression>, Box<Expression>)
Divide(Loc, Box<Expression>, Box<Expression>)
Modulo(Loc, Box<Expression>, Box<Expression>)
Add(Loc, Box<Expression>, Box<Expression>)
Subtract(Loc, Box<Expression>, Box<Expression>)
ShiftLeft(Loc, Box<Expression>, Box<Expression>)
ShiftRight(Loc, Box<Expression>, Box<Expression>)
BitwiseAnd(Loc, Box<Expression>, Box<Expression>)
BitwiseXor(Loc, Box<Expression>, Box<Expression>)
BitwiseOr(Loc, Box<Expression>, Box<Expression>)
Less(Loc, Box<Expression>, Box<Expression>)
More(Loc, Box<Expression>, Box<Expression>)
LessEqual(Loc, Box<Expression>, Box<Expression>)
MoreEqual(Loc, Box<Expression>, Box<Expression>)
Equal(Loc, Box<Expression>, Box<Expression>)
NotEqual(Loc, Box<Expression>, Box<Expression>)
And(Loc, Box<Expression>, Box<Expression>)
Or(Loc, Box<Expression>, Box<Expression>)
Ternary(Loc, Box<Expression>, Box<Expression>, Box<Expression>)
Assign(Loc, Box<Expression>, Box<Expression>)
AssignOr(Loc, Box<Expression>, Box<Expression>)
AssignAnd(Loc, Box<Expression>, Box<Expression>)
AssignXor(Loc, Box<Expression>, Box<Expression>)
AssignShiftLeft(Loc, Box<Expression>, Box<Expression>)
AssignShiftRight(Loc, Box<Expression>, Box<Expression>)
AssignAdd(Loc, Box<Expression>, Box<Expression>)
AssignSubtract(Loc, Box<Expression>, Box<Expression>)
AssignMultiply(Loc, Box<Expression>, Box<Expression>)
AssignDivide(Loc, Box<Expression>, Box<Expression>)
AssignModulo(Loc, Box<Expression>, Box<Expression>)
BoolLiteral(Loc, bool)
NumberLiteral(Loc, BigInt)
RationalNumberLiteral(Loc, BigRational)
HexNumberLiteral(Loc, String)
StringLiteral(Vec<StringLiteral>)
Tuple Fields
0: Vec<StringLiteral>Type(Loc, Type)
HexLiteral(Vec<HexLiteral>)
Tuple Fields
0: Vec<HexLiteral>AddressLiteral(Loc, String)
Variable(Identifier)
Tuple Fields
0: IdentifierList(Loc, Vec<(Loc, Option<Parameter>)>)
ArrayLiteral(Loc, Vec<Expression>)
Unit(Loc, Box<Expression>, Unit)
This(Loc)
Tuple Fields
0: LocImplementations
Trait Implementations
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for Expression
impl Send for Expression
impl Sync for Expression
impl Unpin for Expression
impl UnwindSafe for Expression
Blanket Implementations
Mutably borrows from an owned value. Read more
