Re-exports§
pub use self::Expression::ThisExpression;pub use self::Statement::Placeholder;pub use self::Statement::BreakStatement;pub use self::Statement::ContinueStatement;pub use self::Statement::ThrowStatement;
Macros§
Structs§
- Assembly
Assignment - Assembly
Label - Assembly
Local Binding - Assignment
Expression - Binary
Expression - Block
- Call
Expression - Conditional
Expression - Contract
Definition - DoWhile
Statement - Enum
Definition - Event
Definition - Flag
- Useful for boolean flags that need location information via FlagNode,
for example:
indexedoranonymous. - ForStatement
- Function
Definition - Functional
Assembly Expression - IfStatement
- Import
- Index
Access Expression - Indexed
Parameter - Inferred
Definition Statement - type inferred via
var, cannot have storage flag, init is mandatory - Inline
Assembly Block - Inline
Assembly Statement - Mapping
- Member
Access Expression - Modifier
Definition - Modifier
Invocation - Node
Nodeis a specializedCellthat holds a reference to T instead of T.Nodehas defined lifetime and implementsDefer<Target = T>for convenience.- Node
Inner - Parameter
- Postfix
Expression - Pragma
Directive - Prefix
Expression - Program
- A Solidity source code parsed to an AST
- Return
Statement - State
Variable Declaration - Struct
Definition - Tuple
Expression - Using
ForDeclaration - Variable
Declaration - Variable
Definition Statement - explicitly typed, can have storage flag, init is optional
- While
Statement
Enums§
- Assembly
Item - Assignment
Operator - Binary
Operator - Contract
Part - Elementary
Type Name - Ether
Unit - Expression
- Function
Visibility - Import
Directive - Number
Unit - Postfix
Operator - Prefix
Operator - Primitive
- Simple
Statement - Used in the
forloop initialization. - Source
Unit - A
SourceUnitis the top level construct of the grammar. - State
Mutability - State
Variable Visibility - Statement
- Storage
Location - Time
Unit - Type
Name
Traits§
Type Aliases§
- Assembly
Item List - Assembly
Item Node - Block
Node - Contract
Part List - Contract
Part Node - Elementary
Type Name Node - Expression
List - Expression
Node - Flag
Node - Functional
Assembly Expression Node - Identifier
- Identifier
List - Identifier
Node - Indexed
Parameter List - Inline
Assembly Block Node - Modifier
Invocation List - Node
List - Parameter
List - Simple
Statement Node - Source
Unit List - Source
Unit Node - Statement
List - Statement
Node - String
Literal - String
Literal Node - Type
Name Node - Variable
Declaration List - Variable
Declaration Node - Version
Literal