solidity-ast
Version:
Solidity AST schema and type definitions
2,856 lines (2,855 loc) • 90.9 kB
JSON
{
"ArrayTypeName": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"Assignment": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"BinaryOperation": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"Conditional": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"ElementaryTypeNameExpression": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"ElementaryTypeName": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"ElementaryTypeNameExpression": [
"typeName"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"FunctionCall": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"FunctionCallOptions": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"Identifier": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"ImportDirective": [
"symbolAliases"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments",
"modifierName"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"IndexAccess": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"IndexRangeAccess": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"Literal": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"MemberAccess": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"NewExpression": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"TupleExpression": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"UnaryOperation": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"FunctionTypeName": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"ParameterList": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [
"nodes"
]
},
"VariableDeclaration": {
"ArrayTypeName": [
"baseType",
"length"
],
"Assignment": [
"leftHandSide",
"rightHandSide"
],
"BinaryOperation": [
"leftExpression",
"rightExpression"
],
"Block": [
"statements"
],
"Conditional": [
"condition",
"falseExpression",
"trueExpression"
],
"ContractDefinition": [
"baseContracts",
"nodes"
],
"DoWhileStatement": [
"body",
"condition"
],
"EmitStatement": [
"eventCall"
],
"ErrorDefinition": [
"parameters"
],
"EventDefinition": [
"parameters"
],
"ExpressionStatement": [
"expression"
],
"ForStatement": [
"body",
"condition",
"initializationExpression",
"loopExpression"
],
"FunctionCall": [
"arguments",
"expression"
],
"FunctionCallOptions": [
"expression",
"options"
],
"FunctionDefinition": [
"body",
"modifiers",
"parameters",
"returnParameters"
],
"FunctionTypeName": [
"parameterTypes",
"returnParameterTypes"
],
"IfStatement": [
"condition",
"falseBody",
"trueBody"
],
"IndexAccess": [
"baseExpression",
"indexExpression"
],
"IndexRangeAccess": [
"baseExpression",
"endExpression",
"startExpression"
],
"InheritanceSpecifier": [
"arguments"
],
"Mapping": [
"keyType",
"valueType"
],
"MemberAccess": [
"expression"
],
"ModifierDefinition": [
"body",
"parameters"
],
"ModifierInvocation": [
"arguments"
],
"NewExpression": [
"typeName"
],
"ParameterList": [
"parameters"
],
"Return": [
"expression"
],
"RevertStatement": [
"errorCall"
],
"StructDefinition": [
"members"
],
"TryCatchClause": [
"block",
"parameters"
],
"TryStatement": [
"clauses",
"externalCall"
],
"TupleExpression": [
"components"
],
"UnaryOperation": [
"subExpression"
],
"UncheckedBlock": [
"statements"
],
"UserDefinedValueTypeDefinition": [
"underlyingType"
],
"UsingForDirective": [
"typeName"
],
"VariableDeclaration": [
"typeName",
"value"
],
"VariableDeclarationStatement": [
"declarations",
"initialValue"
],
"WhileStatement": [
"body",
"condition"
],
"SourceUnit": [