UNPKG

solidity-ast

Version:

Solidity AST schema and type definitions

2,840 lines 97.5 kB
{ "ArrayTypeName": { "ArrayTypeName": [ "baseType", "length" ], "Assignment": [ "leftHandSide", "rightHandSide" ], "BinaryOperation": [ "leftExpression", "rightExpression" ], "Block": [ "statements" ], "Conditional": [ "condition", "falseExpression", "trueExpression" ], "ContractDefinition": [ "baseContracts", "nodes", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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" ] }, "*": { "ArrayTypeName": [ "baseType", "length" ], "Assignment": [ "leftHandSide", "rightHandSide" ], "BinaryOperation": [ "leftExpression", "rightExpression" ], "Block": [ "statements" ], "Conditional": [ "condition", "falseExpression", "trueExpression" ], "ContractDefinition": [ "baseContracts", "documentation", "nodes", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "DoWhileStatement": [ "body", "condition" ], "ElementaryTypeNameExpression": [ "typeName" ], "EmitStatement": [ "eventCall" ], "EnumDefinition": [ "members", "documentation" ], "EnumValue": [ "documentation" ], "ErrorDefinition": [ "documentation", "parameters" ], "EventDefinition": [ "documentation", "parameters" ], "ExpressionStatement": [ "expression" ], "ForStatement": [ "body", "condition", "initializationExpression", "loopExpression" ], "FunctionCall": [ "arguments", "expression" ], "FunctionCallOptions": [ "expression", "options" ], "FunctionDefinition": [ "body", "documentation", "modifiers", "overrides", "parameters", "returnParameters" ], "FunctionTypeName": [ "parameterTypes", "returnParameterTypes" ], "IfStatement": [ "condition", "falseBody", "trueBody" ], "ImportDirective": [ "symbolAliases" ], "$other": [ "foreign", "function" ], "IndexAccess": [ "baseExpression", "indexExpression" ], "IndexRangeAccess": [ "baseExpression", "endExpression", "startExpression" ], "InheritanceSpecifier": [ "arguments", "baseName" ], "InlineAssembly": [ "AST" ], "Mapping": [ "keyType", "valueType" ], "MemberAccess": [ "expression" ], "ModifierDefinition": [ "body", "documentation", "overrides", "parameters" ], "ModifierInvocation": [ "arguments", "modifierName" ], "NewExpression": [ "typeName" ], "OverrideSpecifier": [ "overrides" ], "ParameterList": [ "parameters" ], "Return": [ "expression" ], "RevertStatement": [ "errorCall" ], "StructDefinition": [ "members", "documentation" ], "TryCatchClause": [ "block", "parameters" ], "TryStatement": [ "clauses", "externalCall" ], "TupleExpression": [ "components" ], "UnaryOperation": [ "subExpression" ], "UncheckedBlock": [ "statements" ], "UserDefinedTypeName": [ "pathNode" ], "UserDefinedValueTypeDefinition": [ "underlyingType" ], "UsingForDirective": [ "functionList", "libraryName", "typeName" ], "VariableDeclaration": [ "documentation", "overrides", "typeName", "value" ], "VariableDeclarationStatement": [ "declarations", "initialValue" ], "WhileStatement": [ "body", "condition" ], "YulAssignment": [ "value", "variableNames" ], "YulBlock": [ "statements" ], "YulCase": [ "body", "value" ], "YulExpressionStatement": [ "expression" ], "YulFunctionCall": [ "arguments", "functionName" ], "YulForLoop": [ "body", "condition", "post", "pre" ], "YulFunctionDefinition": [ "body", "parameters", "returnVariables" ], "YulIf": [ "body", "condition" ], "YulSwitch": [ "cases", "expression" ], "YulVariableDeclaration": [ "value", "variables" ], "SourceUnit": [ "nodes" ] }, "Assignment": { "ArrayTypeName": [ "baseType", "length" ], "Assignment": [ "leftHandSide", "rightHandSide" ], "BinaryOperation": [ "leftExpression", "rightExpression" ], "Block": [ "statements" ], "Conditional": [ "condition", "falseExpression", "trueExpression" ], "ContractDefinition": [ "baseContracts", "nodes", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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" ], "$other": [ "foreign" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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", "storageLayout" ], "StorageLayoutSpecifier": [ "baseSlotExpression" ], "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" ], "Unchecked