UNPKG

solidity-antlr4

Version:

Solidity Lang Lexer and Parser by official ANTLR4 grammar

133 lines (132 loc) 9.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.solidityASTBuilder = exports.SolidityASTBuilder = void 0; var parser = _interopRequireWildcard(require("../antlr4/index.cjs")); var ast = _interopRequireWildcard(require("./index.cjs")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } class SolidityASTBuilder extends parser.SolidityParserVisitor { visitSourceUnit = ctx => new ast.SourceUnit(ctx, this); visitPragmaDirective = ctx => new ast.PragmaDirective(ctx, this); visitImportDirective = ctx => new ast.ImportDirective(ctx, this); visitImportAliases = ctx => new ast.ImportAliases(ctx, this); visitPath = ctx => new ast.Path(ctx, this); visitSymbolAliases = ctx => new ast.SymbolAliases(ctx, this); visitContractDefinition = ctx => new ast.ContractDefinition(ctx, this); visitInterfaceDefinition = ctx => new ast.InterfaceDefinition(ctx, this); visitLibraryDefinition = ctx => new ast.LibraryDefinition(ctx, this); visitInheritanceSpecifierList = ctx => new ast.InheritanceSpecifierList(ctx, this); visitInheritanceSpecifier = ctx => new ast.InheritanceSpecifier(ctx, this); visitContractBodyElement = ctx => new ast.ContractBodyElement(ctx, this); visitNamedArgument = ctx => new ast.NamedArgument(ctx, this); visitCallArgumentList = ctx => new ast.CallArgumentList(ctx, this); visitIdentifierPath = ctx => new ast.IdentifierPath(ctx, this); visitModifierInvocation = ctx => new ast.ModifierInvocation(ctx, this); visitVisibility = ctx => new ast.Visibility(ctx, this); visitParameterList = ctx => new ast.ParameterList(ctx, this); visitParameterDeclaration = ctx => new ast.ParameterDeclaration(ctx, this); visitConstructorDefinition = ctx => new ast.ConstructorDefinition(ctx, this); visitStateMutability = ctx => new ast.StateMutability(ctx, this); visitOverrideSpecifier = ctx => new ast.OverrideSpecifier(ctx, this); visitFunctionDefinition = ctx => new ast.FunctionDefinition(ctx, this); visitModifierDefinition = ctx => new ast.ModifierDefinition(ctx, this); visitFallbackFunctionDefinition = ctx => new ast.FallbackFunctionDefinition(ctx, this); visitReceiveFunctionDefinition = ctx => new ast.ReceiveFunctionDefinition(ctx, this); visitStructDefinition = ctx => new ast.StructDefinition(ctx, this); visitStructMember = ctx => new ast.StructMember(ctx, this); visitEnumDefinition = ctx => new ast.EnumDefinition(ctx, this); visitUserDefinedValueTypeDefinition = ctx => new ast.UserDefinedValueTypeDefinition(ctx, this); visitStateVariableDeclaration = ctx => new ast.StateVariableDeclaration(ctx, this); visitConstantVariableDeclaration = ctx => new ast.ConstantVariableDeclaration(ctx, this); visitEventParameter = ctx => new ast.EventParameter(ctx, this); visitEventDefinition = ctx => new ast.EventDefinition(ctx, this); visitErrorParameter = ctx => new ast.ErrorParameter(ctx, this); visitErrorDefinition = ctx => new ast.ErrorDefinition(ctx, this); visitUserDefinableOperator = ctx => new ast.UserDefinableOperator(ctx, this); visitUsingAliases = ctx => new ast.UsingAliases(ctx, this); visitUsingDirective = ctx => new ast.UsingDirective(ctx, this); visitTypeName = ctx => new ast.TypeName(ctx, this); visitElementaryTypeName = ctx => new ast.ElementaryTypeName(ctx, this); visitFunctionTypeName = ctx => new ast.FunctionTypeName(ctx, this); visitVariableDeclaration = ctx => new ast.VariableDeclaration(ctx, this); visitDataLocation = ctx => new ast.DataLocation(ctx, this); visitExpression = ctx => new ast.Expression(ctx, this); visitAssignOp = ctx => new ast.AssignOp(ctx, this); visitTupleExpression = ctx => new ast.TupleExpression(ctx, this); visitInlineArrayExpression = ctx => new ast.InlineArrayExpression(ctx, this); visitIdentifier = ctx => new ast.Identifier(ctx, this); visitLiteral = ctx => new ast.Literal(ctx, this); visitLiteralWithSubDenomination = ctx => new ast.LiteralWithSubDenomination(ctx, this); visitBooleanLiteral = ctx => new ast.BooleanLiteral(ctx, this); visitStringLiteral = ctx => new ast.StringLiteral(ctx, this); visitHexStringLiteral = ctx => new ast.HexStringLiteral(ctx, this); visitUnicodeStringLiteral = ctx => new ast.UnicodeStringLiteral(ctx, this); visitNumberLiteral = ctx => new ast.NumberLiteral(ctx, this); visitBlock = ctx => new ast.Block(ctx, this); visitUncheckedBlock = ctx => new ast.UncheckedBlock(ctx, this); visitStatement = ctx => new ast.Statement(ctx, this); visitSimpleStatement = ctx => new ast.SimpleStatement(ctx, this); visitIfStatement = ctx => new ast.IfStatement(ctx, this); visitForStatement = ctx => new ast.ForStatement(ctx, this); visitWhileStatement = ctx => new ast.WhileStatement(ctx, this); visitDoWhileStatement = ctx => new ast.DoWhileStatement(ctx, this); visitContinueStatement = ctx => new ast.ContinueStatement(ctx, this); visitBreakStatement = ctx => new ast.BreakStatement(ctx, this); visitTryStatement = ctx => new ast.TryStatement(ctx, this); visitCatchClause = ctx => new ast.CatchClause(ctx, this); visitReturnStatement = ctx => new ast.ReturnStatement(ctx, this); visitEmitStatement = ctx => new ast.EmitStatement(ctx, this); visitRevertStatement = ctx => new ast.RevertStatement(ctx, this); visitAssemblyStatement = ctx => new ast.AssemblyStatement(ctx, this); visitAssemblyFlags = ctx => new ast.AssemblyFlags(ctx, this); visitVariableDeclarationList = ctx => new ast.VariableDeclarationList(ctx, this); visitVariableDeclarationTuple = ctx => new ast.VariableDeclarationTuple(ctx, this); visitVariableDeclarationStatement = ctx => new ast.VariableDeclarationStatement(ctx, this); visitExpressionStatement = ctx => new ast.ExpressionStatement(ctx, this); visitMappingType = ctx => new ast.MappingType(ctx, this); visitMappingKeyType = ctx => new ast.MappingKeyType(ctx, this); visitMemberAccess = ctx => new ast.MemberAccess(ctx, this); visitYulStatement = ctx => new ast.YulStatement(ctx, this); visitYulBlock = ctx => new ast.YulBlock(ctx, this); visitYulVariableDeclaration = ctx => new ast.YulVariableDeclaration(ctx, this); visitYulAssignment = ctx => new ast.YulAssignment(ctx, this); visitYulIfStatement = ctx => new ast.YulIfStatement(ctx, this); visitYulForStatement = ctx => new ast.YulForStatement(ctx, this); visitYulSwitchCase = ctx => new ast.YulSwitchCase(ctx, this); visitYulSwitchStatement = ctx => new ast.YulSwitchStatement(ctx, this); visitYulFunctionDefinition = ctx => new ast.YulFunctionDefinition(ctx, this); visitYulPath = ctx => new ast.YulPath(ctx, this); visitYulFunctionCall = ctx => new ast.YulFunctionCall(ctx, this); visitYulBoolean = ctx => new ast.YulBoolean(ctx, this); visitYulLiteral = ctx => new ast.YulLiteral(ctx, this); visitYulExpression = ctx => new ast.YulExpression(ctx, this); visitUnaryPrefixOperation = ctx => new ast.UnaryPrefixOperation(ctx, this); visitPrimaryExpression = ctx => new ast.PrimaryExpression(ctx, this); visitOrderComparison = ctx => new ast.OrderComparison(ctx, this); visitConditional = ctx => new ast.Conditional(ctx, this); visitPayableConversion = ctx => new ast.PayableConversion(ctx, this); visitAssignment = ctx => new ast.Assignment(ctx, this); visitUnarySuffixOperation = ctx => new ast.UnarySuffixOperation(ctx, this); visitShiftOperation = ctx => new ast.ShiftOperation(ctx, this); visitBitAndOperation = ctx => new ast.BitAndOperation(ctx, this); visitFunctionCall = ctx => new ast.FunctionCall(ctx, this); visitIndexRangeAccess = ctx => new ast.IndexRangeAccess(ctx, this); visitIndexAccess = ctx => new ast.IndexAccess(ctx, this); visitAddSubOperation = ctx => new ast.AddSubOperation(ctx, this); visitBitOrOperation = ctx => new ast.BitOrOperation(ctx, this); visitExpOperation = ctx => new ast.ExpOperation(ctx, this); visitAndOperation = ctx => new ast.AndOperation(ctx, this); visitInlineArray = ctx => new ast.InlineArray(ctx, this); visitOrOperation = ctx => new ast.OrOperation(ctx, this); visitMulDivModOperation = ctx => new ast.MulDivModOperation(ctx, this); visitFunctionCallOptions = ctx => new ast.FunctionCallOptions(ctx, this); visitNewExpr = ctx => new ast.NewExpr(ctx, this); visitBitXorOperation = ctx => new ast.BitXorOperation(ctx, this); visitTuple = ctx => new ast.Tuple(ctx, this); visitEqualityComparison = ctx => new ast.EqualityComparison(ctx, this); visitMetaType = ctx => new ast.MetaType(ctx, this); } exports.SolidityASTBuilder = SolidityASTBuilder; const solidityASTBuilder = exports.solidityASTBuilder = new SolidityASTBuilder();