Crate lunarity_ast[][src]

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

impl_from

Structs

AssemblyAssignment
AssemblyLabel
AssemblyLocalBinding
AssignmentExpression
BinaryExpression
Block
CallExpression
ConditionalExpression
ContractDefinition
DoWhileStatement
EnumDefinition
EventDefinition
Flag

Useful for boolean flags that need location information via FlagNode, for example: indexed or anonymous.

ForStatement
FunctionDefinition
FunctionalAssemblyExpression
IfStatement
Import
IndexAccessExpression
IndexedParameter
InferredDefinitionStatement

type inferred via var, cannot have storage flag, init is mandatory

InlineAssemblyBlock
InlineAssemblyStatement
Mapping
MemberAccessExpression
ModifierDefinition
ModifierInvocation
Node

Node is a specialized Cell that holds a reference to T instead of T. Node has defined lifetime and implements Defer<Target = T> for convenience.

NodeInner
Parameter
PostfixExpression
PragmaDirective
PrefixExpression
Program

A Solidity source code parsed to an AST

ReturnStatement
StateVariableDeclaration
StructDefinition
TupleExpression
UsingForDeclaration
VariableDeclaration
VariableDefinitionStatement

explicitly typed, can have storage flag, init is optional

WhileStatement

Enums

AssemblyItem
AssignmentOperator
BinaryOperator
ContractPart
ElementaryTypeName
EtherUnit
Expression
FunctionVisibility
ImportDirective
NumberUnit
PostfixOperator
PrefixOperator
Primitive
SimpleStatement

Used in the for loop initialization.

SourceUnit

A SourceUnit is the top level construct of the grammar.

StateMutability
StateVariableVisibility
Statement
StorageLocation
TimeUnit
TypeName

Traits

OptionalLocation

Type Definitions

AssemblyItemList
AssemblyItemNode
BlockNode
ContractPartList
ContractPartNode
ElementaryTypeNameNode
ExpressionList
ExpressionNode
FlagNode
FunctionalAssemblyExpressionNode
Identifier
IdentifierList
IdentifierNode
IndexedParameterList
InlineAssemblyBlockNode
ModifierInvocationList
NodeList
ParameterList
SimpleStatementNode
SourceUnitList
SourceUnitNode
StatementList
StatementNode
StringLiteral
StringLiteralNode
TypeNameNode
VariableDeclarationList
VariableDeclarationNode
VersionLiteral