java-ast
Version:
Java Parser for JavaScript/TypeScript, based on antlr4ts
893 lines (892 loc) • 35.6 kB
TypeScript
import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
import { CompilationUnitContext } from "./JavaParser";
import { PackageDeclarationContext } from "./JavaParser";
import { ImportDeclarationContext } from "./JavaParser";
import { TypeDeclarationContext } from "./JavaParser";
import { ModifierContext } from "./JavaParser";
import { ClassOrInterfaceModifierContext } from "./JavaParser";
import { VariableModifierContext } from "./JavaParser";
import { ClassDeclarationContext } from "./JavaParser";
import { TypeParametersContext } from "./JavaParser";
import { TypeParameterContext } from "./JavaParser";
import { TypeBoundContext } from "./JavaParser";
import { EnumDeclarationContext } from "./JavaParser";
import { EnumConstantsContext } from "./JavaParser";
import { EnumConstantContext } from "./JavaParser";
import { EnumBodyDeclarationsContext } from "./JavaParser";
import { InterfaceDeclarationContext } from "./JavaParser";
import { ClassBodyContext } from "./JavaParser";
import { InterfaceBodyContext } from "./JavaParser";
import { ClassBodyDeclarationContext } from "./JavaParser";
import { MemberDeclarationContext } from "./JavaParser";
import { MethodDeclarationContext } from "./JavaParser";
import { MethodBodyContext } from "./JavaParser";
import { TypeTypeOrVoidContext } from "./JavaParser";
import { GenericMethodDeclarationContext } from "./JavaParser";
import { GenericConstructorDeclarationContext } from "./JavaParser";
import { ConstructorDeclarationContext } from "./JavaParser";
import { CompactConstructorDeclarationContext } from "./JavaParser";
import { FieldDeclarationContext } from "./JavaParser";
import { InterfaceBodyDeclarationContext } from "./JavaParser";
import { InterfaceMemberDeclarationContext } from "./JavaParser";
import { ConstDeclarationContext } from "./JavaParser";
import { ConstantDeclaratorContext } from "./JavaParser";
import { InterfaceMethodDeclarationContext } from "./JavaParser";
import { InterfaceMethodModifierContext } from "./JavaParser";
import { GenericInterfaceMethodDeclarationContext } from "./JavaParser";
import { InterfaceCommonBodyDeclarationContext } from "./JavaParser";
import { VariableDeclaratorsContext } from "./JavaParser";
import { VariableDeclaratorContext } from "./JavaParser";
import { VariableDeclaratorIdContext } from "./JavaParser";
import { VariableInitializerContext } from "./JavaParser";
import { ArrayInitializerContext } from "./JavaParser";
import { ClassOrInterfaceTypeContext } from "./JavaParser";
import { TypeArgumentContext } from "./JavaParser";
import { QualifiedNameListContext } from "./JavaParser";
import { FormalParametersContext } from "./JavaParser";
import { ReceiverParameterContext } from "./JavaParser";
import { FormalParameterListContext } from "./JavaParser";
import { FormalParameterContext } from "./JavaParser";
import { LastFormalParameterContext } from "./JavaParser";
import { LambdaLVTIListContext } from "./JavaParser";
import { LambdaLVTIParameterContext } from "./JavaParser";
import { QualifiedNameContext } from "./JavaParser";
import { LiteralContext } from "./JavaParser";
import { IntegerLiteralContext } from "./JavaParser";
import { FloatLiteralContext } from "./JavaParser";
import { AltAnnotationQualifiedNameContext } from "./JavaParser";
import { AnnotationContext } from "./JavaParser";
import { ElementValuePairsContext } from "./JavaParser";
import { ElementValuePairContext } from "./JavaParser";
import { ElementValueContext } from "./JavaParser";
import { ElementValueArrayInitializerContext } from "./JavaParser";
import { AnnotationTypeDeclarationContext } from "./JavaParser";
import { AnnotationTypeBodyContext } from "./JavaParser";
import { AnnotationTypeElementDeclarationContext } from "./JavaParser";
import { AnnotationTypeElementRestContext } from "./JavaParser";
import { AnnotationMethodOrConstantRestContext } from "./JavaParser";
import { AnnotationMethodRestContext } from "./JavaParser";
import { AnnotationConstantRestContext } from "./JavaParser";
import { DefaultValueContext } from "./JavaParser";
import { ModuleDeclarationContext } from "./JavaParser";
import { ModuleBodyContext } from "./JavaParser";
import { ModuleDirectiveContext } from "./JavaParser";
import { RequiresModifierContext } from "./JavaParser";
import { RecordDeclarationContext } from "./JavaParser";
import { RecordHeaderContext } from "./JavaParser";
import { RecordComponentListContext } from "./JavaParser";
import { RecordComponentContext } from "./JavaParser";
import { RecordBodyContext } from "./JavaParser";
import { BlockContext } from "./JavaParser";
import { BlockStatementContext } from "./JavaParser";
import { LocalVariableDeclarationContext } from "./JavaParser";
import { IdentifierContext } from "./JavaParser";
import { TypeIdentifierContext } from "./JavaParser";
import { LocalTypeDeclarationContext } from "./JavaParser";
import { StatementContext } from "./JavaParser";
import { CatchClauseContext } from "./JavaParser";
import { CatchTypeContext } from "./JavaParser";
import { FinallyBlockContext } from "./JavaParser";
import { ResourceSpecificationContext } from "./JavaParser";
import { ResourcesContext } from "./JavaParser";
import { ResourceContext } from "./JavaParser";
import { SwitchBlockStatementGroupContext } from "./JavaParser";
import { SwitchLabelContext } from "./JavaParser";
import { ForControlContext } from "./JavaParser";
import { ForInitContext } from "./JavaParser";
import { EnhancedForControlContext } from "./JavaParser";
import { ParExpressionContext } from "./JavaParser";
import { ExpressionListContext } from "./JavaParser";
import { MethodCallContext } from "./JavaParser";
import { ExpressionContext } from "./JavaParser";
import { PatternContext } from "./JavaParser";
import { LambdaExpressionContext } from "./JavaParser";
import { LambdaParametersContext } from "./JavaParser";
import { LambdaBodyContext } from "./JavaParser";
import { PrimaryContext } from "./JavaParser";
import { SwitchExpressionContext } from "./JavaParser";
import { SwitchLabeledRuleContext } from "./JavaParser";
import { GuardedPatternContext } from "./JavaParser";
import { SwitchRuleOutcomeContext } from "./JavaParser";
import { ClassTypeContext } from "./JavaParser";
import { CreatorContext } from "./JavaParser";
import { CreatedNameContext } from "./JavaParser";
import { InnerCreatorContext } from "./JavaParser";
import { ArrayCreatorRestContext } from "./JavaParser";
import { ClassCreatorRestContext } from "./JavaParser";
import { ExplicitGenericInvocationContext } from "./JavaParser";
import { TypeArgumentsOrDiamondContext } from "./JavaParser";
import { NonWildcardTypeArgumentsOrDiamondContext } from "./JavaParser";
import { NonWildcardTypeArgumentsContext } from "./JavaParser";
import { TypeListContext } from "./JavaParser";
import { TypeTypeContext } from "./JavaParser";
import { PrimitiveTypeContext } from "./JavaParser";
import { TypeArgumentsContext } from "./JavaParser";
import { SuperSuffixContext } from "./JavaParser";
import { ExplicitGenericInvocationSuffixContext } from "./JavaParser";
import { ArgumentsContext } from "./JavaParser";
/**
* This interface defines a complete generic visitor for a parse tree produced
* by `JavaParser`.
*
* @param <Result> The return type of the visit operation. Use `void` for
* operations with no return type.
*/
export interface JavaParserVisitor<Result> extends ParseTreeVisitor<Result> {
/**
* Visit a parse tree produced by `JavaParser.compilationUnit`.
* @param ctx the parse tree
* @return the visitor result
*/
visitCompilationUnit?: (ctx: CompilationUnitContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.packageDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitPackageDeclaration?: (ctx: PackageDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.importDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitImportDeclaration?: (ctx: ImportDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeDeclaration?: (ctx: TypeDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.modifier`.
* @param ctx the parse tree
* @return the visitor result
*/
visitModifier?: (ctx: ModifierContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.classOrInterfaceModifier`.
* @param ctx the parse tree
* @return the visitor result
*/
visitClassOrInterfaceModifier?: (ctx: ClassOrInterfaceModifierContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.variableModifier`.
* @param ctx the parse tree
* @return the visitor result
*/
visitVariableModifier?: (ctx: VariableModifierContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.classDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitClassDeclaration?: (ctx: ClassDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeParameters`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeParameters?: (ctx: TypeParametersContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeParameter`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeParameter?: (ctx: TypeParameterContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeBound`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeBound?: (ctx: TypeBoundContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.enumDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitEnumDeclaration?: (ctx: EnumDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.enumConstants`.
* @param ctx the parse tree
* @return the visitor result
*/
visitEnumConstants?: (ctx: EnumConstantsContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.enumConstant`.
* @param ctx the parse tree
* @return the visitor result
*/
visitEnumConstant?: (ctx: EnumConstantContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.enumBodyDeclarations`.
* @param ctx the parse tree
* @return the visitor result
*/
visitEnumBodyDeclarations?: (ctx: EnumBodyDeclarationsContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.interfaceDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitInterfaceDeclaration?: (ctx: InterfaceDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.classBody`.
* @param ctx the parse tree
* @return the visitor result
*/
visitClassBody?: (ctx: ClassBodyContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.interfaceBody`.
* @param ctx the parse tree
* @return the visitor result
*/
visitInterfaceBody?: (ctx: InterfaceBodyContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.classBodyDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitClassBodyDeclaration?: (ctx: ClassBodyDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.memberDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitMemberDeclaration?: (ctx: MemberDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.methodDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitMethodDeclaration?: (ctx: MethodDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.methodBody`.
* @param ctx the parse tree
* @return the visitor result
*/
visitMethodBody?: (ctx: MethodBodyContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeTypeOrVoid`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeTypeOrVoid?: (ctx: TypeTypeOrVoidContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.genericMethodDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitGenericMethodDeclaration?: (ctx: GenericMethodDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.genericConstructorDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitGenericConstructorDeclaration?: (ctx: GenericConstructorDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.constructorDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitConstructorDeclaration?: (ctx: ConstructorDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.compactConstructorDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitCompactConstructorDeclaration?: (ctx: CompactConstructorDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.fieldDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitFieldDeclaration?: (ctx: FieldDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.interfaceBodyDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitInterfaceBodyDeclaration?: (ctx: InterfaceBodyDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.interfaceMemberDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitInterfaceMemberDeclaration?: (ctx: InterfaceMemberDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.constDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitConstDeclaration?: (ctx: ConstDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.constantDeclarator`.
* @param ctx the parse tree
* @return the visitor result
*/
visitConstantDeclarator?: (ctx: ConstantDeclaratorContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.interfaceMethodDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitInterfaceMethodDeclaration?: (ctx: InterfaceMethodDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.interfaceMethodModifier`.
* @param ctx the parse tree
* @return the visitor result
*/
visitInterfaceMethodModifier?: (ctx: InterfaceMethodModifierContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.genericInterfaceMethodDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitGenericInterfaceMethodDeclaration?: (ctx: GenericInterfaceMethodDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.interfaceCommonBodyDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitInterfaceCommonBodyDeclaration?: (ctx: InterfaceCommonBodyDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.variableDeclarators`.
* @param ctx the parse tree
* @return the visitor result
*/
visitVariableDeclarators?: (ctx: VariableDeclaratorsContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.variableDeclarator`.
* @param ctx the parse tree
* @return the visitor result
*/
visitVariableDeclarator?: (ctx: VariableDeclaratorContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.variableDeclaratorId`.
* @param ctx the parse tree
* @return the visitor result
*/
visitVariableDeclaratorId?: (ctx: VariableDeclaratorIdContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.variableInitializer`.
* @param ctx the parse tree
* @return the visitor result
*/
visitVariableInitializer?: (ctx: VariableInitializerContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.arrayInitializer`.
* @param ctx the parse tree
* @return the visitor result
*/
visitArrayInitializer?: (ctx: ArrayInitializerContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.classOrInterfaceType`.
* @param ctx the parse tree
* @return the visitor result
*/
visitClassOrInterfaceType?: (ctx: ClassOrInterfaceTypeContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeArgument`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeArgument?: (ctx: TypeArgumentContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.qualifiedNameList`.
* @param ctx the parse tree
* @return the visitor result
*/
visitQualifiedNameList?: (ctx: QualifiedNameListContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.formalParameters`.
* @param ctx the parse tree
* @return the visitor result
*/
visitFormalParameters?: (ctx: FormalParametersContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.receiverParameter`.
* @param ctx the parse tree
* @return the visitor result
*/
visitReceiverParameter?: (ctx: ReceiverParameterContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.formalParameterList`.
* @param ctx the parse tree
* @return the visitor result
*/
visitFormalParameterList?: (ctx: FormalParameterListContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.formalParameter`.
* @param ctx the parse tree
* @return the visitor result
*/
visitFormalParameter?: (ctx: FormalParameterContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.lastFormalParameter`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLastFormalParameter?: (ctx: LastFormalParameterContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.lambdaLVTIList`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLambdaLVTIList?: (ctx: LambdaLVTIListContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.lambdaLVTIParameter`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLambdaLVTIParameter?: (ctx: LambdaLVTIParameterContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.qualifiedName`.
* @param ctx the parse tree
* @return the visitor result
*/
visitQualifiedName?: (ctx: QualifiedNameContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.literal`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLiteral?: (ctx: LiteralContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.integerLiteral`.
* @param ctx the parse tree
* @return the visitor result
*/
visitIntegerLiteral?: (ctx: IntegerLiteralContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.floatLiteral`.
* @param ctx the parse tree
* @return the visitor result
*/
visitFloatLiteral?: (ctx: FloatLiteralContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.altAnnotationQualifiedName`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAltAnnotationQualifiedName?: (ctx: AltAnnotationQualifiedNameContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.annotation`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAnnotation?: (ctx: AnnotationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.elementValuePairs`.
* @param ctx the parse tree
* @return the visitor result
*/
visitElementValuePairs?: (ctx: ElementValuePairsContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.elementValuePair`.
* @param ctx the parse tree
* @return the visitor result
*/
visitElementValuePair?: (ctx: ElementValuePairContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.elementValue`.
* @param ctx the parse tree
* @return the visitor result
*/
visitElementValue?: (ctx: ElementValueContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.elementValueArrayInitializer`.
* @param ctx the parse tree
* @return the visitor result
*/
visitElementValueArrayInitializer?: (ctx: ElementValueArrayInitializerContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.annotationTypeDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAnnotationTypeDeclaration?: (ctx: AnnotationTypeDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.annotationTypeBody`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAnnotationTypeBody?: (ctx: AnnotationTypeBodyContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.annotationTypeElementDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAnnotationTypeElementDeclaration?: (ctx: AnnotationTypeElementDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.annotationTypeElementRest`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAnnotationTypeElementRest?: (ctx: AnnotationTypeElementRestContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.annotationMethodOrConstantRest`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAnnotationMethodOrConstantRest?: (ctx: AnnotationMethodOrConstantRestContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.annotationMethodRest`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAnnotationMethodRest?: (ctx: AnnotationMethodRestContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.annotationConstantRest`.
* @param ctx the parse tree
* @return the visitor result
*/
visitAnnotationConstantRest?: (ctx: AnnotationConstantRestContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.defaultValue`.
* @param ctx the parse tree
* @return the visitor result
*/
visitDefaultValue?: (ctx: DefaultValueContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.moduleDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitModuleDeclaration?: (ctx: ModuleDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.moduleBody`.
* @param ctx the parse tree
* @return the visitor result
*/
visitModuleBody?: (ctx: ModuleBodyContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.moduleDirective`.
* @param ctx the parse tree
* @return the visitor result
*/
visitModuleDirective?: (ctx: ModuleDirectiveContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.requiresModifier`.
* @param ctx the parse tree
* @return the visitor result
*/
visitRequiresModifier?: (ctx: RequiresModifierContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.recordDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitRecordDeclaration?: (ctx: RecordDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.recordHeader`.
* @param ctx the parse tree
* @return the visitor result
*/
visitRecordHeader?: (ctx: RecordHeaderContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.recordComponentList`.
* @param ctx the parse tree
* @return the visitor result
*/
visitRecordComponentList?: (ctx: RecordComponentListContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.recordComponent`.
* @param ctx the parse tree
* @return the visitor result
*/
visitRecordComponent?: (ctx: RecordComponentContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.recordBody`.
* @param ctx the parse tree
* @return the visitor result
*/
visitRecordBody?: (ctx: RecordBodyContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.block`.
* @param ctx the parse tree
* @return the visitor result
*/
visitBlock?: (ctx: BlockContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.blockStatement`.
* @param ctx the parse tree
* @return the visitor result
*/
visitBlockStatement?: (ctx: BlockStatementContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.localVariableDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLocalVariableDeclaration?: (ctx: LocalVariableDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.identifier`.
* @param ctx the parse tree
* @return the visitor result
*/
visitIdentifier?: (ctx: IdentifierContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeIdentifier`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeIdentifier?: (ctx: TypeIdentifierContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.localTypeDeclaration`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLocalTypeDeclaration?: (ctx: LocalTypeDeclarationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.statement`.
* @param ctx the parse tree
* @return the visitor result
*/
visitStatement?: (ctx: StatementContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.catchClause`.
* @param ctx the parse tree
* @return the visitor result
*/
visitCatchClause?: (ctx: CatchClauseContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.catchType`.
* @param ctx the parse tree
* @return the visitor result
*/
visitCatchType?: (ctx: CatchTypeContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.finallyBlock`.
* @param ctx the parse tree
* @return the visitor result
*/
visitFinallyBlock?: (ctx: FinallyBlockContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.resourceSpecification`.
* @param ctx the parse tree
* @return the visitor result
*/
visitResourceSpecification?: (ctx: ResourceSpecificationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.resources`.
* @param ctx the parse tree
* @return the visitor result
*/
visitResources?: (ctx: ResourcesContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.resource`.
* @param ctx the parse tree
* @return the visitor result
*/
visitResource?: (ctx: ResourceContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.switchBlockStatementGroup`.
* @param ctx the parse tree
* @return the visitor result
*/
visitSwitchBlockStatementGroup?: (ctx: SwitchBlockStatementGroupContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.switchLabel`.
* @param ctx the parse tree
* @return the visitor result
*/
visitSwitchLabel?: (ctx: SwitchLabelContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.forControl`.
* @param ctx the parse tree
* @return the visitor result
*/
visitForControl?: (ctx: ForControlContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.forInit`.
* @param ctx the parse tree
* @return the visitor result
*/
visitForInit?: (ctx: ForInitContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.enhancedForControl`.
* @param ctx the parse tree
* @return the visitor result
*/
visitEnhancedForControl?: (ctx: EnhancedForControlContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.parExpression`.
* @param ctx the parse tree
* @return the visitor result
*/
visitParExpression?: (ctx: ParExpressionContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.expressionList`.
* @param ctx the parse tree
* @return the visitor result
*/
visitExpressionList?: (ctx: ExpressionListContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.methodCall`.
* @param ctx the parse tree
* @return the visitor result
*/
visitMethodCall?: (ctx: MethodCallContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.expression`.
* @param ctx the parse tree
* @return the visitor result
*/
visitExpression?: (ctx: ExpressionContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.pattern`.
* @param ctx the parse tree
* @return the visitor result
*/
visitPattern?: (ctx: PatternContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.lambdaExpression`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLambdaExpression?: (ctx: LambdaExpressionContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.lambdaParameters`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLambdaParameters?: (ctx: LambdaParametersContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.lambdaBody`.
* @param ctx the parse tree
* @return the visitor result
*/
visitLambdaBody?: (ctx: LambdaBodyContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.primary`.
* @param ctx the parse tree
* @return the visitor result
*/
visitPrimary?: (ctx: PrimaryContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.switchExpression`.
* @param ctx the parse tree
* @return the visitor result
*/
visitSwitchExpression?: (ctx: SwitchExpressionContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.switchLabeledRule`.
* @param ctx the parse tree
* @return the visitor result
*/
visitSwitchLabeledRule?: (ctx: SwitchLabeledRuleContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.guardedPattern`.
* @param ctx the parse tree
* @return the visitor result
*/
visitGuardedPattern?: (ctx: GuardedPatternContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.switchRuleOutcome`.
* @param ctx the parse tree
* @return the visitor result
*/
visitSwitchRuleOutcome?: (ctx: SwitchRuleOutcomeContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.classType`.
* @param ctx the parse tree
* @return the visitor result
*/
visitClassType?: (ctx: ClassTypeContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.creator`.
* @param ctx the parse tree
* @return the visitor result
*/
visitCreator?: (ctx: CreatorContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.createdName`.
* @param ctx the parse tree
* @return the visitor result
*/
visitCreatedName?: (ctx: CreatedNameContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.innerCreator`.
* @param ctx the parse tree
* @return the visitor result
*/
visitInnerCreator?: (ctx: InnerCreatorContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.arrayCreatorRest`.
* @param ctx the parse tree
* @return the visitor result
*/
visitArrayCreatorRest?: (ctx: ArrayCreatorRestContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.classCreatorRest`.
* @param ctx the parse tree
* @return the visitor result
*/
visitClassCreatorRest?: (ctx: ClassCreatorRestContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.explicitGenericInvocation`.
* @param ctx the parse tree
* @return the visitor result
*/
visitExplicitGenericInvocation?: (ctx: ExplicitGenericInvocationContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeArgumentsOrDiamond`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeArgumentsOrDiamond?: (ctx: TypeArgumentsOrDiamondContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.nonWildcardTypeArgumentsOrDiamond`.
* @param ctx the parse tree
* @return the visitor result
*/
visitNonWildcardTypeArgumentsOrDiamond?: (ctx: NonWildcardTypeArgumentsOrDiamondContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.nonWildcardTypeArguments`.
* @param ctx the parse tree
* @return the visitor result
*/
visitNonWildcardTypeArguments?: (ctx: NonWildcardTypeArgumentsContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeList`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeList?: (ctx: TypeListContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeType`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeType?: (ctx: TypeTypeContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.primitiveType`.
* @param ctx the parse tree
* @return the visitor result
*/
visitPrimitiveType?: (ctx: PrimitiveTypeContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.typeArguments`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTypeArguments?: (ctx: TypeArgumentsContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.superSuffix`.
* @param ctx the parse tree
* @return the visitor result
*/
visitSuperSuffix?: (ctx: SuperSuffixContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.explicitGenericInvocationSuffix`.
* @param ctx the parse tree
* @return the visitor result
*/
visitExplicitGenericInvocationSuffix?: (ctx: ExplicitGenericInvocationSuffixContext) => Result;
/**
* Visit a parse tree produced by `JavaParser.arguments`.
* @param ctx the parse tree
* @return the visitor result
*/
visitArguments?: (ctx: ArgumentsContext) => Result;
}