Enum syn_solidity::Expr 
source · pub enum Expr {
Show 18 variants
    Array(ExprArray),
    Binary(ExprBinary),
    Call(ExprCall),
    CallOptions(ExprCallOptions),
    Delete(ExprDelete),
    Ident(SolIdent),
    Index(ExprIndex),
    Lit(Lit),
    LitDenominated(LitDenominated),
    Member(ExprMember),
    New(ExprNew),
    Payable(ExprPayable),
    Postfix(ExprPostfix),
    Ternary(ExprTernary),
    Tuple(ExprTuple),
    Type(Type),
    TypeCall(ExprTypeCall),
    Unary(ExprUnary),
}Expand description
An expression.
Solidity reference: https://docs.soliditylang.org/en/latest/grammar.html#a4.SolidityParser.expression
Variants§
Array(ExprArray)
An array literal expression: [a, b, c, d].
Binary(ExprBinary)
A binary operation: a + b, a += b.
Call(ExprCall)
A function call expression: foo(42) or foo({ bar: 42 }).
CallOptions(ExprCallOptions)
Function call options: foo.bar{ value: 1, gas: 2 }.
Delete(ExprDelete)
A unary delete expression: delete vector.
Ident(SolIdent)
An identifier: foo.
Index(ExprIndex)
A square bracketed indexing expression: vector[2].
Lit(Lit)
A literal: hex"1234".
LitDenominated(LitDenominated)
A number literal with a sub-denomination: 1 ether.
Member(ExprMember)
Access of a named member: obj.k.
New(ExprNew)
A new expression: new Contract.
Payable(ExprPayable)
A payable expression: payable(address(0x...)).
Postfix(ExprPostfix)
A postfix unary expression: foo++.
Ternary(ExprTernary)
A ternary (AKA conditional) expression: foo ? bar : baz.
Tuple(ExprTuple)
A tuple expression: (a, b, c, d).
Type(Type)
A type name.
Cannot be Custom, as custom identifiers are parsed as Ident instead.
TypeCall(ExprTypeCall)
A type() expression: type(uint256)
Unary(ExprUnary)
A unary operation: !x, -x.