solidity-antlr4
Version:
Solidity Lang Lexer and Parser by official ANTLR4 grammar
1,091 lines • 93.9 kB
TypeScript
import * as antlr from "antlr4ng";
import { Token } from "antlr4ng";
import { SolidityParserListener } from "./SolidityParserListener.js";
import { SolidityParserVisitor } from "./SolidityParserVisitor.js";
export declare class SolidityParser extends antlr.Parser {
static readonly ReservedKeywords = 1;
static readonly Abstract = 2;
static readonly Address = 3;
static readonly Anonymous = 4;
static readonly As = 5;
static readonly Assembly = 6;
static readonly Bool = 7;
static readonly Break = 8;
static readonly Bytes = 9;
static readonly Calldata = 10;
static readonly Catch = 11;
static readonly Constant = 12;
static readonly Constructor = 13;
static readonly Continue = 14;
static readonly Contract = 15;
static readonly Delete = 16;
static readonly Do = 17;
static readonly Else = 18;
static readonly Emit = 19;
static readonly Enum = 20;
static readonly Error = 21;
static readonly Event = 22;
static readonly External = 23;
static readonly Fallback = 24;
static readonly False = 25;
static readonly Fixed = 26;
static readonly FixedBytes = 27;
static readonly For = 28;
static readonly From = 29;
static readonly Function = 30;
static readonly Global = 31;
static readonly Hex = 32;
static readonly If = 33;
static readonly Immutable = 34;
static readonly Import = 35;
static readonly Indexed = 36;
static readonly Interface = 37;
static readonly Internal = 38;
static readonly Is = 39;
static readonly Library = 40;
static readonly Mapping = 41;
static readonly Memory = 42;
static readonly Modifier = 43;
static readonly New = 44;
static readonly SubDenomination = 45;
static readonly Override = 46;
static readonly Payable = 47;
static readonly Pragma = 48;
static readonly Private = 49;
static readonly Public = 50;
static readonly Pure = 51;
static readonly Receive = 52;
static readonly Return = 53;
static readonly Returns = 54;
static readonly Revert = 55;
static readonly SignedIntegerType = 56;
static readonly Storage = 57;
static readonly String = 58;
static readonly Struct = 59;
static readonly True = 60;
static readonly Try = 61;
static readonly Type = 62;
static readonly Ufixed = 63;
static readonly Unchecked = 64;
static readonly Unicode = 65;
static readonly UnsignedIntegerType = 66;
static readonly Using = 67;
static readonly View = 68;
static readonly Virtual = 69;
static readonly While = 70;
static readonly LParen = 71;
static readonly RParen = 72;
static readonly LBrack = 73;
static readonly RBrack = 74;
static readonly LBrace = 75;
static readonly RBrace = 76;
static readonly Colon = 77;
static readonly Semicolon = 78;
static readonly Period = 79;
static readonly Conditional = 80;
static readonly DoubleArrow = 81;
static readonly RightArrow = 82;
static readonly Assign = 83;
static readonly AssignBitOr = 84;
static readonly AssignBitXor = 85;
static readonly AssignBitAnd = 86;
static readonly AssignShl = 87;
static readonly AssignSar = 88;
static readonly AssignShr = 89;
static readonly AssignAdd = 90;
static readonly AssignSub = 91;
static readonly AssignMul = 92;
static readonly AssignDiv = 93;
static readonly AssignMod = 94;
static readonly Comma = 95;
static readonly Or = 96;
static readonly And = 97;
static readonly BitOr = 98;
static readonly BitXor = 99;
static readonly BitAnd = 100;
static readonly Shl = 101;
static readonly Sar = 102;
static readonly Shr = 103;
static readonly Add = 104;
static readonly Sub = 105;
static readonly Mul = 106;
static readonly Div = 107;
static readonly Mod = 108;
static readonly Exp = 109;
static readonly Equal = 110;
static readonly NotEqual = 111;
static readonly LessThan = 112;
static readonly GreaterThan = 113;
static readonly LessThanOrEqual = 114;
static readonly GreaterThanOrEqual = 115;
static readonly Not = 116;
static readonly BitNot = 117;
static readonly Inc = 118;
static readonly Dec = 119;
static readonly DoubleQuote = 120;
static readonly SingleQuote = 121;
static readonly NonEmptyStringLiteral = 122;
static readonly EmptyStringLiteral = 123;
static readonly UnicodeStringLiteral = 124;
static readonly HexString = 125;
static readonly HexNumber = 126;
static readonly OctalNumber = 127;
static readonly DecimalNumber = 128;
static readonly DecimalNumberFollowedByIdentifier = 129;
static readonly Identifier = 130;
static readonly WS = 131;
static readonly COMMENT = 132;
static readonly LINE_COMMENT = 133;
static readonly AssemblyDialect = 134;
static readonly AssemblyLBrace = 135;
static readonly AssemblyFlagString = 136;
static readonly AssemblyBlockLParen = 137;
static readonly AssemblyBlockRParen = 138;
static readonly AssemblyBlockComma = 139;
static readonly AssemblyBlockWS = 140;
static readonly AssemblyBlockCOMMENT = 141;
static readonly AssemblyBlockLINE_COMMENT = 142;
static readonly YulBreak = 143;
static readonly YulCase = 144;
static readonly YulContinue = 145;
static readonly YulDefault = 146;
static readonly YulFalse = 147;
static readonly YulFor = 148;
static readonly YulFunction = 149;
static readonly YulIf = 150;
static readonly YulLeave = 151;
static readonly YulLet = 152;
static readonly YulSwitch = 153;
static readonly YulTrue = 154;
static readonly YulHex = 155;
static readonly YulEVMBuiltin = 156;
static readonly YulLBrace = 157;
static readonly YulRBrace = 158;
static readonly YulLParen = 159;
static readonly YulRParen = 160;
static readonly YulAssign = 161;
static readonly YulPeriod = 162;
static readonly YulComma = 163;
static readonly YulArrow = 164;
static readonly YulIdentifier = 165;
static readonly YulHexNumber = 166;
static readonly YulDecimalNumber = 167;
static readonly YulStringLiteral = 168;
static readonly YulHexStringLiteral = 169;
static readonly YulWS = 170;
static readonly YulCOMMENT = 171;
static readonly YulLINE_COMMENT = 172;
static readonly PragmaToken = 173;
static readonly PragmaSemicolon = 174;
static readonly PragmaWS = 175;
static readonly PragmaCOMMENT = 176;
static readonly PragmaLINE_COMMENT = 177;
static readonly RULE_sourceUnit = 0;
static readonly RULE_pragmaDirective = 1;
static readonly RULE_importDirective = 2;
static readonly RULE_importAliases = 3;
static readonly RULE_path = 4;
static readonly RULE_symbolAliases = 5;
static readonly RULE_contractDefinition = 6;
static readonly RULE_interfaceDefinition = 7;
static readonly RULE_libraryDefinition = 8;
static readonly RULE_inheritanceSpecifierList = 9;
static readonly RULE_inheritanceSpecifier = 10;
static readonly RULE_contractBodyElement = 11;
static readonly RULE_namedArgument = 12;
static readonly RULE_callArgumentList = 13;
static readonly RULE_identifierPath = 14;
static readonly RULE_modifierInvocation = 15;
static readonly RULE_visibility = 16;
static readonly RULE_parameterList = 17;
static readonly RULE_parameterDeclaration = 18;
static readonly RULE_constructorDefinition = 19;
static readonly RULE_stateMutability = 20;
static readonly RULE_overrideSpecifier = 21;
static readonly RULE_functionDefinition = 22;
static readonly RULE_modifierDefinition = 23;
static readonly RULE_fallbackFunctionDefinition = 24;
static readonly RULE_receiveFunctionDefinition = 25;
static readonly RULE_structDefinition = 26;
static readonly RULE_structMember = 27;
static readonly RULE_enumDefinition = 28;
static readonly RULE_userDefinedValueTypeDefinition = 29;
static readonly RULE_stateVariableDeclaration = 30;
static readonly RULE_constantVariableDeclaration = 31;
static readonly RULE_eventParameter = 32;
static readonly RULE_eventDefinition = 33;
static readonly RULE_errorParameter = 34;
static readonly RULE_errorDefinition = 35;
static readonly RULE_userDefinableOperator = 36;
static readonly RULE_usingDirective = 37;
static readonly RULE_usingAliases = 38;
static readonly RULE_typeName = 39;
static readonly RULE_elementaryTypeName = 40;
static readonly RULE_functionTypeName = 41;
static readonly RULE_variableDeclaration = 42;
static readonly RULE_dataLocation = 43;
static readonly RULE_expression = 44;
static readonly RULE_assignOp = 45;
static readonly RULE_tupleExpression = 46;
static readonly RULE_inlineArrayExpression = 47;
static readonly RULE_identifier = 48;
static readonly RULE_literal = 49;
static readonly RULE_literalWithSubDenomination = 50;
static readonly RULE_booleanLiteral = 51;
static readonly RULE_stringLiteral = 52;
static readonly RULE_hexStringLiteral = 53;
static readonly RULE_unicodeStringLiteral = 54;
static readonly RULE_numberLiteral = 55;
static readonly RULE_block = 56;
static readonly RULE_uncheckedBlock = 57;
static readonly RULE_statement = 58;
static readonly RULE_simpleStatement = 59;
static readonly RULE_ifStatement = 60;
static readonly RULE_forStatement = 61;
static readonly RULE_whileStatement = 62;
static readonly RULE_doWhileStatement = 63;
static readonly RULE_continueStatement = 64;
static readonly RULE_breakStatement = 65;
static readonly RULE_tryStatement = 66;
static readonly RULE_catchClause = 67;
static readonly RULE_returnStatement = 68;
static readonly RULE_emitStatement = 69;
static readonly RULE_revertStatement = 70;
static readonly RULE_assemblyStatement = 71;
static readonly RULE_assemblyFlags = 72;
static readonly RULE_variableDeclarationList = 73;
static readonly RULE_variableDeclarationTuple = 74;
static readonly RULE_variableDeclarationStatement = 75;
static readonly RULE_expressionStatement = 76;
static readonly RULE_mappingType = 77;
static readonly RULE_mappingKeyType = 78;
static readonly RULE_yulStatement = 79;
static readonly RULE_yulBlock = 80;
static readonly RULE_yulVariableDeclaration = 81;
static readonly RULE_yulAssignment = 82;
static readonly RULE_yulIfStatement = 83;
static readonly RULE_yulForStatement = 84;
static readonly RULE_yulSwitchCase = 85;
static readonly RULE_yulSwitchStatement = 86;
static readonly RULE_yulFunctionDefinition = 87;
static readonly RULE_yulPath = 88;
static readonly RULE_yulFunctionCall = 89;
static readonly RULE_yulBoolean = 90;
static readonly RULE_yulLiteral = 91;
static readonly RULE_yulExpression = 92;
static readonly literalNames: (string | null)[];
static readonly symbolicNames: (string | null)[];
static readonly ruleNames: string[];
get grammarFileName(): string;
get literalNames(): (string | null)[];
get symbolicNames(): (string | null)[];
get ruleNames(): string[];
get serializedATN(): number[];
protected createFailedPredicateException(predicate?: string, message?: string): antlr.FailedPredicateException;
constructor(input: antlr.TokenStream);
sourceUnit(): SourceUnitContext;
pragmaDirective(): PragmaDirectiveContext;
importDirective(): ImportDirectiveContext;
importAliases(): ImportAliasesContext;
path(): PathContext;
symbolAliases(): SymbolAliasesContext;
contractDefinition(): ContractDefinitionContext;
interfaceDefinition(): InterfaceDefinitionContext;
libraryDefinition(): LibraryDefinitionContext;
inheritanceSpecifierList(): InheritanceSpecifierListContext;
inheritanceSpecifier(): InheritanceSpecifierContext;
contractBodyElement(): ContractBodyElementContext;
namedArgument(): NamedArgumentContext;
callArgumentList(): CallArgumentListContext;
identifierPath(): IdentifierPathContext;
modifierInvocation(): ModifierInvocationContext;
visibility(): VisibilityContext;
parameterList(): ParameterListContext;
parameterDeclaration(): ParameterDeclarationContext;
constructorDefinition(): ConstructorDefinitionContext;
stateMutability(): StateMutabilityContext;
overrideSpecifier(): OverrideSpecifierContext;
functionDefinition(): FunctionDefinitionContext;
modifierDefinition(): ModifierDefinitionContext;
fallbackFunctionDefinition(): FallbackFunctionDefinitionContext;
receiveFunctionDefinition(): ReceiveFunctionDefinitionContext;
structDefinition(): StructDefinitionContext;
structMember(): StructMemberContext;
enumDefinition(): EnumDefinitionContext;
userDefinedValueTypeDefinition(): UserDefinedValueTypeDefinitionContext;
stateVariableDeclaration(): StateVariableDeclarationContext;
constantVariableDeclaration(): ConstantVariableDeclarationContext;
eventParameter(): EventParameterContext;
eventDefinition(): EventDefinitionContext;
errorParameter(): ErrorParameterContext;
errorDefinition(): ErrorDefinitionContext;
userDefinableOperator(): UserDefinableOperatorContext;
usingDirective(): UsingDirectiveContext;
usingAliases(): UsingAliasesContext;
typeName(): TypeNameContext;
typeName(_p: number): TypeNameContext;
elementaryTypeName(allowAddressPayable: boolean): ElementaryTypeNameContext;
functionTypeName(): FunctionTypeNameContext;
variableDeclaration(): VariableDeclarationContext;
dataLocation(): DataLocationContext;
expression(): ExpressionContext;
expression(_p: number): ExpressionContext;
assignOp(): AssignOpContext;
tupleExpression(): TupleExpressionContext;
inlineArrayExpression(): InlineArrayExpressionContext;
identifier(): IdentifierContext;
literal(): LiteralContext;
literalWithSubDenomination(): LiteralWithSubDenominationContext;
booleanLiteral(): BooleanLiteralContext;
stringLiteral(): StringLiteralContext;
hexStringLiteral(): HexStringLiteralContext;
unicodeStringLiteral(): UnicodeStringLiteralContext;
numberLiteral(): NumberLiteralContext;
block(): BlockContext;
uncheckedBlock(): UncheckedBlockContext;
statement(): StatementContext;
simpleStatement(): SimpleStatementContext;
ifStatement(): IfStatementContext;
forStatement(): ForStatementContext;
whileStatement(): WhileStatementContext;
doWhileStatement(): DoWhileStatementContext;
continueStatement(): ContinueStatementContext;
breakStatement(): BreakStatementContext;
tryStatement(): TryStatementContext;
catchClause(): CatchClauseContext;
returnStatement(): ReturnStatementContext;
emitStatement(): EmitStatementContext;
revertStatement(): RevertStatementContext;
assemblyStatement(): AssemblyStatementContext;
assemblyFlags(): AssemblyFlagsContext;
variableDeclarationList(): VariableDeclarationListContext;
variableDeclarationTuple(): VariableDeclarationTupleContext;
variableDeclarationStatement(): VariableDeclarationStatementContext;
expressionStatement(): ExpressionStatementContext;
mappingType(): MappingTypeContext;
mappingKeyType(): MappingKeyTypeContext;
yulStatement(): YulStatementContext;
yulBlock(): YulBlockContext;
yulVariableDeclaration(): YulVariableDeclarationContext;
yulAssignment(): YulAssignmentContext;
yulIfStatement(): YulIfStatementContext;
yulForStatement(): YulForStatementContext;
yulSwitchCase(): YulSwitchCaseContext;
yulSwitchStatement(): YulSwitchStatementContext;
yulFunctionDefinition(): YulFunctionDefinitionContext;
yulPath(): YulPathContext;
yulFunctionCall(): YulFunctionCallContext;
yulBoolean(): YulBooleanContext;
yulLiteral(): YulLiteralContext;
yulExpression(): YulExpressionContext;
sempred(localContext: antlr.RuleContext | null, ruleIndex: number, predIndex: number): boolean;
private constructorDefinition_sempred;
private functionDefinition_sempred;
private modifierDefinition_sempred;
private fallbackFunctionDefinition_sempred;
private receiveFunctionDefinition_sempred;
private stateVariableDeclaration_sempred;
private typeName_sempred;
private elementaryTypeName_sempred;
private functionTypeName_sempred;
private expression_sempred;
static readonly _serializedATN: number[];
private static __ATN;
static get _ATN(): antlr.ATN;
private static readonly vocabulary;
get vocabulary(): antlr.Vocabulary;
private static readonly decisionsToDFA;
}
export declare class SourceUnitContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
EOF(): antlr.TerminalNode;
pragmaDirective(): PragmaDirectiveContext[];
pragmaDirective(i: number): PragmaDirectiveContext | null;
importDirective(): ImportDirectiveContext[];
importDirective(i: number): ImportDirectiveContext | null;
usingDirective(): UsingDirectiveContext[];
usingDirective(i: number): UsingDirectiveContext | null;
contractDefinition(): ContractDefinitionContext[];
contractDefinition(i: number): ContractDefinitionContext | null;
interfaceDefinition(): InterfaceDefinitionContext[];
interfaceDefinition(i: number): InterfaceDefinitionContext | null;
libraryDefinition(): LibraryDefinitionContext[];
libraryDefinition(i: number): LibraryDefinitionContext | null;
functionDefinition(): FunctionDefinitionContext[];
functionDefinition(i: number): FunctionDefinitionContext | null;
constantVariableDeclaration(): ConstantVariableDeclarationContext[];
constantVariableDeclaration(i: number): ConstantVariableDeclarationContext | null;
structDefinition(): StructDefinitionContext[];
structDefinition(i: number): StructDefinitionContext | null;
enumDefinition(): EnumDefinitionContext[];
enumDefinition(i: number): EnumDefinitionContext | null;
userDefinedValueTypeDefinition(): UserDefinedValueTypeDefinitionContext[];
userDefinedValueTypeDefinition(i: number): UserDefinedValueTypeDefinitionContext | null;
errorDefinition(): ErrorDefinitionContext[];
errorDefinition(i: number): ErrorDefinitionContext | null;
eventDefinition(): EventDefinitionContext[];
eventDefinition(i: number): EventDefinitionContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class PragmaDirectiveContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Pragma(): antlr.TerminalNode;
PragmaSemicolon(): antlr.TerminalNode;
PragmaToken(): antlr.TerminalNode[];
PragmaToken(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ImportDirectiveContext extends antlr.ParserRuleContext {
_unitAlias?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Import(): antlr.TerminalNode;
Semicolon(): antlr.TerminalNode;
path(): PathContext | null;
symbolAliases(): SymbolAliasesContext | null;
From(): antlr.TerminalNode | null;
Mul(): antlr.TerminalNode | null;
As(): antlr.TerminalNode | null;
identifier(): IdentifierContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ImportAliasesContext extends antlr.ParserRuleContext {
_symbol_?: IdentifierContext;
_alias?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
identifier(): IdentifierContext[];
identifier(i: number): IdentifierContext | null;
As(): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class PathContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
NonEmptyStringLiteral(): antlr.TerminalNode;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class SymbolAliasesContext extends antlr.ParserRuleContext {
_importAliases?: ImportAliasesContext;
_aliases: ImportAliasesContext[];
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
LBrace(): antlr.TerminalNode;
RBrace(): antlr.TerminalNode;
importAliases(): ImportAliasesContext[];
importAliases(i: number): ImportAliasesContext | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ContractDefinitionContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Contract(): antlr.TerminalNode;
LBrace(): antlr.TerminalNode;
RBrace(): antlr.TerminalNode;
identifier(): IdentifierContext;
Abstract(): antlr.TerminalNode | null;
inheritanceSpecifierList(): InheritanceSpecifierListContext | null;
contractBodyElement(): ContractBodyElementContext[];
contractBodyElement(i: number): ContractBodyElementContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class InterfaceDefinitionContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Interface(): antlr.TerminalNode;
LBrace(): antlr.TerminalNode;
RBrace(): antlr.TerminalNode;
identifier(): IdentifierContext;
inheritanceSpecifierList(): InheritanceSpecifierListContext | null;
contractBodyElement(): ContractBodyElementContext[];
contractBodyElement(i: number): ContractBodyElementContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class LibraryDefinitionContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Library(): antlr.TerminalNode;
LBrace(): antlr.TerminalNode;
RBrace(): antlr.TerminalNode;
identifier(): IdentifierContext;
contractBodyElement(): ContractBodyElementContext[];
contractBodyElement(i: number): ContractBodyElementContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class InheritanceSpecifierListContext extends antlr.ParserRuleContext {
_inheritanceSpecifier?: InheritanceSpecifierContext;
_inheritanceSpecifiers: InheritanceSpecifierContext[];
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Is(): antlr.TerminalNode;
inheritanceSpecifier(): InheritanceSpecifierContext[];
inheritanceSpecifier(i: number): InheritanceSpecifierContext | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class InheritanceSpecifierContext extends antlr.ParserRuleContext {
_name?: IdentifierPathContext;
_arguments?: CallArgumentListContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
identifierPath(): IdentifierPathContext;
callArgumentList(): CallArgumentListContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ContractBodyElementContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
constructorDefinition(): ConstructorDefinitionContext | null;
functionDefinition(): FunctionDefinitionContext | null;
modifierDefinition(): ModifierDefinitionContext | null;
fallbackFunctionDefinition(): FallbackFunctionDefinitionContext | null;
receiveFunctionDefinition(): ReceiveFunctionDefinitionContext | null;
structDefinition(): StructDefinitionContext | null;
enumDefinition(): EnumDefinitionContext | null;
userDefinedValueTypeDefinition(): UserDefinedValueTypeDefinitionContext | null;
stateVariableDeclaration(): StateVariableDeclarationContext | null;
eventDefinition(): EventDefinitionContext | null;
errorDefinition(): ErrorDefinitionContext | null;
usingDirective(): UsingDirectiveContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class NamedArgumentContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
_value?: ExpressionContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Colon(): antlr.TerminalNode;
identifier(): IdentifierContext;
expression(): ExpressionContext;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class CallArgumentListContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
LParen(): antlr.TerminalNode;
RParen(): antlr.TerminalNode;
LBrace(): antlr.TerminalNode | null;
RBrace(): antlr.TerminalNode | null;
expression(): ExpressionContext[];
expression(i: number): ExpressionContext | null;
namedArgument(): NamedArgumentContext[];
namedArgument(i: number): NamedArgumentContext | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class IdentifierPathContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
identifier(): IdentifierContext[];
identifier(i: number): IdentifierContext | null;
Period(): antlr.TerminalNode[];
Period(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ModifierInvocationContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
identifierPath(): IdentifierPathContext;
callArgumentList(): CallArgumentListContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class VisibilityContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Internal(): antlr.TerminalNode | null;
External(): antlr.TerminalNode | null;
Private(): antlr.TerminalNode | null;
Public(): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ParameterListContext extends antlr.ParserRuleContext {
_parameterDeclaration?: ParameterDeclarationContext;
_parameters: ParameterDeclarationContext[];
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
parameterDeclaration(): ParameterDeclarationContext[];
parameterDeclaration(i: number): ParameterDeclarationContext | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ParameterDeclarationContext extends antlr.ParserRuleContext {
_type_?: TypeNameContext;
_location?: DataLocationContext;
_name?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
typeName(): TypeNameContext;
dataLocation(): DataLocationContext | null;
identifier(): IdentifierContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ConstructorDefinitionContext extends antlr.ParserRuleContext {
payableSet: boolean;
visibilitySet: boolean;
_arguments?: ParameterListContext;
_body?: BlockContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Constructor(): antlr.TerminalNode;
LParen(): antlr.TerminalNode;
RParen(): antlr.TerminalNode;
block(): BlockContext;
modifierInvocation(): ModifierInvocationContext[];
modifierInvocation(i: number): ModifierInvocationContext | null;
Payable(): antlr.TerminalNode[];
Payable(i: number): antlr.TerminalNode | null;
Internal(): antlr.TerminalNode[];
Internal(i: number): antlr.TerminalNode | null;
Public(): antlr.TerminalNode[];
Public(i: number): antlr.TerminalNode | null;
parameterList(): ParameterListContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class StateMutabilityContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Pure(): antlr.TerminalNode | null;
View(): antlr.TerminalNode | null;
Payable(): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class OverrideSpecifierContext extends antlr.ParserRuleContext {
_identifierPath?: IdentifierPathContext;
_overrides: IdentifierPathContext[];
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Override(): antlr.TerminalNode;
LParen(): antlr.TerminalNode | null;
RParen(): antlr.TerminalNode | null;
identifierPath(): IdentifierPathContext[];
identifierPath(i: number): IdentifierPathContext | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class FunctionDefinitionContext extends antlr.ParserRuleContext {
visibilitySet: boolean;
mutabilitySet: boolean;
virtualSet: boolean;
overrideSpecifierSet: boolean;
_arguments?: ParameterListContext;
_returnParameters?: ParameterListContext;
_body?: BlockContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Function(): antlr.TerminalNode;
LParen(): antlr.TerminalNode[];
LParen(i: number): antlr.TerminalNode | null;
RParen(): antlr.TerminalNode[];
RParen(i: number): antlr.TerminalNode | null;
identifier(): IdentifierContext | null;
Fallback(): antlr.TerminalNode | null;
Receive(): antlr.TerminalNode | null;
Semicolon(): antlr.TerminalNode | null;
visibility(): VisibilityContext[];
visibility(i: number): VisibilityContext | null;
stateMutability(): StateMutabilityContext[];
stateMutability(i: number): StateMutabilityContext | null;
modifierInvocation(): ModifierInvocationContext[];
modifierInvocation(i: number): ModifierInvocationContext | null;
Virtual(): antlr.TerminalNode[];
Virtual(i: number): antlr.TerminalNode | null;
overrideSpecifier(): OverrideSpecifierContext[];
overrideSpecifier(i: number): OverrideSpecifierContext | null;
Returns(): antlr.TerminalNode | null;
block(): BlockContext | null;
parameterList(): ParameterListContext[];
parameterList(i: number): ParameterListContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ModifierDefinitionContext extends antlr.ParserRuleContext {
virtualSet: boolean;
overrideSpecifierSet: boolean;
_name?: IdentifierContext;
_arguments?: ParameterListContext;
_body?: BlockContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Modifier(): antlr.TerminalNode;
identifier(): IdentifierContext;
Semicolon(): antlr.TerminalNode | null;
LParen(): antlr.TerminalNode | null;
RParen(): antlr.TerminalNode | null;
Virtual(): antlr.TerminalNode[];
Virtual(i: number): antlr.TerminalNode | null;
overrideSpecifier(): OverrideSpecifierContext[];
overrideSpecifier(i: number): OverrideSpecifierContext | null;
block(): BlockContext | null;
parameterList(): ParameterListContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class FallbackFunctionDefinitionContext extends antlr.ParserRuleContext {
visibilitySet: boolean;
mutabilitySet: boolean;
virtualSet: boolean;
overrideSpecifierSet: boolean;
hasParameters: boolean;
_kind?: Token | null;
_returnParameters?: ParameterListContext;
_body?: BlockContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
LParen(): antlr.TerminalNode[];
LParen(i: number): antlr.TerminalNode | null;
RParen(): antlr.TerminalNode[];
RParen(i: number): antlr.TerminalNode | null;
Fallback(): antlr.TerminalNode;
Returns(): antlr.TerminalNode | null;
Semicolon(): antlr.TerminalNode | null;
parameterList(): ParameterListContext[];
parameterList(i: number): ParameterListContext | null;
External(): antlr.TerminalNode[];
External(i: number): antlr.TerminalNode | null;
stateMutability(): StateMutabilityContext[];
stateMutability(i: number): StateMutabilityContext | null;
modifierInvocation(): ModifierInvocationContext[];
modifierInvocation(i: number): ModifierInvocationContext | null;
Virtual(): antlr.TerminalNode[];
Virtual(i: number): antlr.TerminalNode | null;
overrideSpecifier(): OverrideSpecifierContext[];
overrideSpecifier(i: number): OverrideSpecifierContext | null;
block(): BlockContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ReceiveFunctionDefinitionContext extends antlr.ParserRuleContext {
visibilitySet: boolean;
mutabilitySet: boolean;
virtualSet: boolean;
overrideSpecifierSet: boolean;
_kind?: Token | null;
_body?: BlockContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
LParen(): antlr.TerminalNode;
RParen(): antlr.TerminalNode;
Receive(): antlr.TerminalNode;
Semicolon(): antlr.TerminalNode | null;
External(): antlr.TerminalNode[];
External(i: number): antlr.TerminalNode | null;
Payable(): antlr.TerminalNode[];
Payable(i: number): antlr.TerminalNode | null;
modifierInvocation(): ModifierInvocationContext[];
modifierInvocation(i: number): ModifierInvocationContext | null;
Virtual(): antlr.TerminalNode[];
Virtual(i: number): antlr.TerminalNode | null;
overrideSpecifier(): OverrideSpecifierContext[];
overrideSpecifier(i: number): OverrideSpecifierContext | null;
block(): BlockContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class StructDefinitionContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
_members?: StructMemberContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Struct(): antlr.TerminalNode;
LBrace(): antlr.TerminalNode;
RBrace(): antlr.TerminalNode;
identifier(): IdentifierContext;
structMember(): StructMemberContext[];
structMember(i: number): StructMemberContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class StructMemberContext extends antlr.ParserRuleContext {
_type_?: TypeNameContext;
_name?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Semicolon(): antlr.TerminalNode;
typeName(): TypeNameContext;
identifier(): IdentifierContext;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class EnumDefinitionContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
_identifier?: IdentifierContext;
_enumValues: IdentifierContext[];
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Enum(): antlr.TerminalNode;
LBrace(): antlr.TerminalNode;
RBrace(): antlr.TerminalNode;
identifier(): IdentifierContext[];
identifier(i: number): IdentifierContext | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class UserDefinedValueTypeDefinitionContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Type(): antlr.TerminalNode;
Is(): antlr.TerminalNode;
elementaryTypeName(): ElementaryTypeNameContext;
Semicolon(): antlr.TerminalNode;
identifier(): IdentifierContext;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class StateVariableDeclarationContext extends antlr.ParserRuleContext {
constantnessSet: boolean;
visibilitySet: boolean;
overrideSpecifierSet: boolean;
_type_?: TypeNameContext;
_name?: IdentifierContext;
_initialValue?: ExpressionContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Semicolon(): antlr.TerminalNode;
typeName(): TypeNameContext;
identifier(): IdentifierContext;
Public(): antlr.TerminalNode[];
Public(i: number): antlr.TerminalNode | null;
Private(): antlr.TerminalNode[];
Private(i: number): antlr.TerminalNode | null;
Internal(): antlr.TerminalNode[];
Internal(i: number): antlr.TerminalNode | null;
Constant(): antlr.TerminalNode[];
Constant(i: number): antlr.TerminalNode | null;
overrideSpecifier(): OverrideSpecifierContext[];
overrideSpecifier(i: number): OverrideSpecifierContext | null;
Immutable(): antlr.TerminalNode[];
Immutable(i: number): antlr.TerminalNode | null;
Assign(): antlr.TerminalNode | null;
expression(): ExpressionContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ConstantVariableDeclarationContext extends antlr.ParserRuleContext {
_type_?: TypeNameContext;
_name?: IdentifierContext;
_initialValue?: ExpressionContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Constant(): antlr.TerminalNode;
Assign(): antlr.TerminalNode;
Semicolon(): antlr.TerminalNode;
typeName(): TypeNameContext;
identifier(): IdentifierContext;
expression(): ExpressionContext;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class EventParameterContext extends antlr.ParserRuleContext {
_type_?: TypeNameContext;
_name?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
typeName(): TypeNameContext;
Indexed(): antlr.TerminalNode | null;
identifier(): IdentifierContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class EventDefinitionContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
_eventParameter?: EventParameterContext;
_parameters: EventParameterContext[];
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Event(): antlr.TerminalNode;
LParen(): antlr.TerminalNode;
RParen(): antlr.TerminalNode;
Semicolon(): antlr.TerminalNode;
identifier(): IdentifierContext;
Anonymous(): antlr.TerminalNode | null;
eventParameter(): EventParameterContext[];
eventParameter(i: number): EventParameterContext | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ErrorParameterContext extends antlr.ParserRuleContext {
_type_?: TypeNameContext;
_name?: IdentifierContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
typeName(): TypeNameContext;
identifier(): IdentifierContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ErrorDefinitionContext extends antlr.ParserRuleContext {
_name?: IdentifierContext;
_errorParameter?: ErrorParameterContext;
_parameters: ErrorParameterContext[];
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Error(): antlr.TerminalNode;
LParen(): antlr.TerminalNode;
RParen(): antlr.TerminalNode;
Semicolon(): antlr.TerminalNode;
identifier(): IdentifierContext;
errorParameter(): ErrorParameterContext[];
errorParameter(i: number): ErrorParameterContext | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class UserDefinableOperatorContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
BitAnd(): antlr.TerminalNode | null;
BitNot(): antlr.TerminalNode | null;
BitOr(): antlr.TerminalNode | null;
BitXor(): antlr.TerminalNode | null;
Add(): antlr.TerminalNode | null;
Div(): antlr.TerminalNode | null;
Mod(): antlr.TerminalNode | null;
Mul(): antlr.TerminalNode | null;
Sub(): antlr.TerminalNode | null;
Equal(): antlr.TerminalNode | null;
GreaterThan(): antlr.TerminalNode | null;
GreaterThanOrEqual(): antlr.TerminalNode | null;
LessThan(): antlr.TerminalNode | null;
LessThanOrEqual(): antlr.TerminalNode | null;
NotEqual(): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class UsingDirectiveContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
Using(): antlr.TerminalNode;
For(): antlr.TerminalNode;
Semicolon(): antlr.TerminalNode;
identifierPath(): IdentifierPathContext | null;
Mul(): antlr.TerminalNode | null;
typeName(): TypeNameContext | null;
Global(): antlr.TerminalNode | null;
LBrace(): antlr.TerminalNode | null;
usingAliases(): UsingAliasesContext[];
usingAliases(i: number): UsingAliasesContext | null;
RBrace(): antlr.TerminalNode | null;
Comma(): antlr.TerminalNode[];
Comma(i: number): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class UsingAliasesContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
identifierPath(): IdentifierPathContext;
As(): antlr.TerminalNode | null;
userDefinableOperator(): UserDefinableOperatorContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class TypeNameContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
elementaryTypeName(): ElementaryTypeNameContext | null;
functionTypeName(): FunctionTypeNameContext | null;
mappingType(): MappingTypeContext | null;
identifierPath(): IdentifierPathContext | null;
typeName(): TypeNameContext | null;
LBrack(): antlr.TerminalNode | null;
RBrack(): antlr.TerminalNode | null;
expression(): ExpressionContext | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Result>): Result | null;
}
export declare class ElementaryTypeNameContext extends antlr.ParserRuleContext {
allowAddressPayable: boolean;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number, allowAddressPayable: boolean);
Address(): antlr.TerminalNode | null;
Payable(): antlr.TerminalNode | null;
Bool(): antlr.TerminalNode | null;
String(): antlr.TerminalNode | null;
Bytes(): antlr.TerminalNode | null;
SignedIntegerType(): antlr.TerminalNode | null;
UnsignedIntegerType(): antlr.TerminalNode | null;
FixedBytes(): antlr.TerminalNode | null;
Fixed(): antlr.TerminalNode | null;
Ufixed(): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: SolidityParserListener): void;
exitRule(listener: SolidityParserListener): void;
accept<Result>(visitor: SolidityParserVisitor<Resul