GGD/node_modules/java-parser/api.d.ts

3562 lines
103 KiB
TypeScript

import {
CstNode as ChevrotainCstNode,
CstNodeLocation,
ICstVisitor,
IToken as ChevrotainIToken
} from "chevrotain";
export interface CstNode extends ChevrotainCstNode {
children: CstChildrenDictionary;
leadingComments?: IToken[];
trailingComments?: IToken[];
ignore?: boolean;
location: CstNodeLocation;
}
export interface IToken extends ChevrotainIToken {
leadingComments?: IToken[];
trailingComments?: IToken[];
startOffset: number;
startLine: number;
startColumn: number;
endOffset: number;
endLine: number;
endColumn: number;
}
export type CstElement = IToken | CstNode;
export declare type CstChildrenDictionary = {
[identifier: string]: CstElement[];
};
export function parse(text: string, startProduction?: string): CstNode;
export const BaseJavaCstVisitor: JavaCstVisitorConstructor<any, any>;
export const BaseJavaCstVisitorWithDefaults: JavaCstVisitorWithDefaultsConstructor<
any,
any
>;
export abstract class JavaCstVisitor<IN, OUT> implements ICstVisitor<IN, OUT> {
// No need to implement these two methods
// Generic Visit method implemented by the Chevrotain Library
visit(cstNode: CstNode | CstNode[], param?: IN): OUT;
validateVisitor(): void;
typeIdentifier(ctx: TypeIdentifierCtx, param?: IN): OUT;
literal(ctx: LiteralCtx, param?: IN): OUT;
integerLiteral(ctx: IntegerLiteralCtx, param?: IN): OUT;
floatingPointLiteral(ctx: FloatingPointLiteralCtx, param?: IN): OUT;
booleanLiteral(ctx: BooleanLiteralCtx, param?: IN): OUT;
primitiveType(ctx: PrimitiveTypeCtx, param?: IN): OUT;
numericType(ctx: NumericTypeCtx, param?: IN): OUT;
integralType(ctx: IntegralTypeCtx, param?: IN): OUT;
floatingPointType(ctx: FloatingPointTypeCtx, param?: IN): OUT;
referenceType(ctx: ReferenceTypeCtx, param?: IN): OUT;
classOrInterfaceType(ctx: ClassOrInterfaceTypeCtx, param?: IN): OUT;
classType(ctx: ClassTypeCtx, param?: IN): OUT;
interfaceType(ctx: InterfaceTypeCtx, param?: IN): OUT;
typeVariable(ctx: TypeVariableCtx, param?: IN): OUT;
dims(ctx: DimsCtx, param?: IN): OUT;
typeParameter(ctx: TypeParameterCtx, param?: IN): OUT;
typeParameterModifier(ctx: TypeParameterModifierCtx, param?: IN): OUT;
typeBound(ctx: TypeBoundCtx, param?: IN): OUT;
additionalBound(ctx: AdditionalBoundCtx, param?: IN): OUT;
typeArguments(ctx: TypeArgumentsCtx, param?: IN): OUT;
typeArgumentList(ctx: TypeArgumentListCtx, param?: IN): OUT;
typeArgument(ctx: TypeArgumentCtx, param?: IN): OUT;
wildcard(ctx: WildcardCtx, param?: IN): OUT;
wildcardBounds(ctx: WildcardBoundsCtx, param?: IN): OUT;
moduleName(ctx: ModuleNameCtx, param?: IN): OUT;
packageName(ctx: PackageNameCtx, param?: IN): OUT;
typeName(ctx: TypeNameCtx, param?: IN): OUT;
expressionName(ctx: ExpressionNameCtx, param?: IN): OUT;
methodName(ctx: MethodNameCtx, param?: IN): OUT;
packageOrTypeName(ctx: PackageOrTypeNameCtx, param?: IN): OUT;
ambiguousName(ctx: AmbiguousNameCtx, param?: IN): OUT;
classDeclaration(ctx: ClassDeclarationCtx, param?: IN): OUT;
normalClassDeclaration(ctx: NormalClassDeclarationCtx, param?: IN): OUT;
classModifier(ctx: ClassModifierCtx, param?: IN): OUT;
typeParameters(ctx: TypeParametersCtx, param?: IN): OUT;
typeParameterList(ctx: TypeParameterListCtx, param?: IN): OUT;
superclass(ctx: SuperclassCtx, param?: IN): OUT;
superinterfaces(ctx: SuperinterfacesCtx, param?: IN): OUT;
interfaceTypeList(ctx: InterfaceTypeListCtx, param?: IN): OUT;
classPermits(ctx: ClassPermitsCtx, param?: IN): OUT;
classBody(ctx: ClassBodyCtx, param?: IN): OUT;
classBodyDeclaration(ctx: ClassBodyDeclarationCtx, param?: IN): OUT;
classMemberDeclaration(ctx: ClassMemberDeclarationCtx, param?: IN): OUT;
fieldDeclaration(ctx: FieldDeclarationCtx, param?: IN): OUT;
fieldModifier(ctx: FieldModifierCtx, param?: IN): OUT;
variableDeclaratorList(ctx: VariableDeclaratorListCtx, param?: IN): OUT;
variableDeclarator(ctx: VariableDeclaratorCtx, param?: IN): OUT;
variableDeclaratorId(ctx: VariableDeclaratorIdCtx, param?: IN): OUT;
variableInitializer(ctx: VariableInitializerCtx, param?: IN): OUT;
unannType(ctx: UnannTypeCtx, param?: IN): OUT;
unannPrimitiveTypeWithOptionalDimsSuffix(
ctx: UnannPrimitiveTypeWithOptionalDimsSuffixCtx,
param?: IN
): OUT;
unannPrimitiveType(ctx: UnannPrimitiveTypeCtx, param?: IN): OUT;
unannReferenceType(ctx: UnannReferenceTypeCtx, param?: IN): OUT;
unannClassOrInterfaceType(ctx: UnannClassOrInterfaceTypeCtx, param?: IN): OUT;
unannClassType(ctx: UnannClassTypeCtx, param?: IN): OUT;
unannInterfaceType(ctx: UnannInterfaceTypeCtx, param?: IN): OUT;
unannTypeVariable(ctx: UnannTypeVariableCtx, param?: IN): OUT;
methodDeclaration(ctx: MethodDeclarationCtx, param?: IN): OUT;
methodModifier(ctx: MethodModifierCtx, param?: IN): OUT;
methodHeader(ctx: MethodHeaderCtx, param?: IN): OUT;
result(ctx: ResultCtx, param?: IN): OUT;
methodDeclarator(ctx: MethodDeclaratorCtx, param?: IN): OUT;
receiverParameter(ctx: ReceiverParameterCtx, param?: IN): OUT;
formalParameterList(ctx: FormalParameterListCtx, param?: IN): OUT;
formalParameter(ctx: FormalParameterCtx, param?: IN): OUT;
variableParaRegularParameter(
ctx: VariableParaRegularParameterCtx,
param?: IN
): OUT;
variableArityParameter(ctx: VariableArityParameterCtx, param?: IN): OUT;
variableModifier(ctx: VariableModifierCtx, param?: IN): OUT;
throws(ctx: ThrowsCtx, param?: IN): OUT;
exceptionTypeList(ctx: ExceptionTypeListCtx, param?: IN): OUT;
exceptionType(ctx: ExceptionTypeCtx, param?: IN): OUT;
methodBody(ctx: MethodBodyCtx, param?: IN): OUT;
instanceInitializer(ctx: InstanceInitializerCtx, param?: IN): OUT;
staticInitializer(ctx: StaticInitializerCtx, param?: IN): OUT;
constructorDeclaration(ctx: ConstructorDeclarationCtx, param?: IN): OUT;
constructorModifier(ctx: ConstructorModifierCtx, param?: IN): OUT;
constructorDeclarator(ctx: ConstructorDeclaratorCtx, param?: IN): OUT;
simpleTypeName(ctx: SimpleTypeNameCtx, param?: IN): OUT;
constructorBody(ctx: ConstructorBodyCtx, param?: IN): OUT;
explicitConstructorInvocation(
ctx: ExplicitConstructorInvocationCtx,
param?: IN
): OUT;
unqualifiedExplicitConstructorInvocation(
ctx: UnqualifiedExplicitConstructorInvocationCtx,
param?: IN
): OUT;
qualifiedExplicitConstructorInvocation(
ctx: QualifiedExplicitConstructorInvocationCtx,
param?: IN
): OUT;
enumDeclaration(ctx: EnumDeclarationCtx, param?: IN): OUT;
enumBody(ctx: EnumBodyCtx, param?: IN): OUT;
enumConstantList(ctx: EnumConstantListCtx, param?: IN): OUT;
enumConstant(ctx: EnumConstantCtx, param?: IN): OUT;
enumConstantModifier(ctx: EnumConstantModifierCtx, param?: IN): OUT;
enumBodyDeclarations(ctx: EnumBodyDeclarationsCtx, param?: IN): OUT;
recordDeclaration(ctx: RecordDeclarationCtx, param?: IN): OUT;
recordHeader(ctx: RecordHeaderCtx, param?: IN): OUT;
recordComponentList(ctx: RecordComponentListCtx, param?: IN): OUT;
recordComponent(ctx: RecordComponentCtx, param?: IN): OUT;
variableArityRecordComponent(
ctx: VariableArityRecordComponentCtx,
param?: IN
): OUT;
recordComponentModifier(ctx: RecordComponentModifierCtx, param?: IN): OUT;
recordBody(ctx: RecordBodyCtx, param?: IN): OUT;
recordBodyDeclaration(ctx: RecordBodyDeclarationCtx, param?: IN): OUT;
compactConstructorDeclaration(
ctx: CompactConstructorDeclarationCtx,
param?: IN
): OUT;
isClassDeclaration(ctx: IsClassDeclarationCtx, param?: IN): OUT;
identifyClassBodyDeclarationType(
ctx: IdentifyClassBodyDeclarationTypeCtx,
param?: IN
): OUT;
isDims(ctx: IsDimsCtx, param?: IN): OUT;
isCompactConstructorDeclaration(
ctx: IsCompactConstructorDeclarationCtx,
param?: IN
): OUT;
compilationUnit(ctx: CompilationUnitCtx, param?: IN): OUT;
ordinaryCompilationUnit(ctx: OrdinaryCompilationUnitCtx, param?: IN): OUT;
modularCompilationUnit(ctx: ModularCompilationUnitCtx, param?: IN): OUT;
packageDeclaration(ctx: PackageDeclarationCtx, param?: IN): OUT;
packageModifier(ctx: PackageModifierCtx, param?: IN): OUT;
importDeclaration(ctx: ImportDeclarationCtx, param?: IN): OUT;
typeDeclaration(ctx: TypeDeclarationCtx, param?: IN): OUT;
moduleDeclaration(ctx: ModuleDeclarationCtx, param?: IN): OUT;
moduleDirective(ctx: ModuleDirectiveCtx, param?: IN): OUT;
requiresModuleDirective(ctx: RequiresModuleDirectiveCtx, param?: IN): OUT;
exportsModuleDirective(ctx: ExportsModuleDirectiveCtx, param?: IN): OUT;
opensModuleDirective(ctx: OpensModuleDirectiveCtx, param?: IN): OUT;
usesModuleDirective(ctx: UsesModuleDirectiveCtx, param?: IN): OUT;
providesModuleDirective(ctx: ProvidesModuleDirectiveCtx, param?: IN): OUT;
requiresModifier(ctx: RequiresModifierCtx, param?: IN): OUT;
isModuleCompilationUnit(ctx: IsModuleCompilationUnitCtx, param?: IN): OUT;
interfaceDeclaration(ctx: InterfaceDeclarationCtx, param?: IN): OUT;
normalInterfaceDeclaration(
ctx: NormalInterfaceDeclarationCtx,
param?: IN
): OUT;
interfaceModifier(ctx: InterfaceModifierCtx, param?: IN): OUT;
extendsInterfaces(ctx: ExtendsInterfacesCtx, param?: IN): OUT;
interfacePermits(ctx: InterfacePermitsCtx, param?: IN): OUT;
interfaceBody(ctx: InterfaceBodyCtx, param?: IN): OUT;
interfaceMemberDeclaration(
ctx: InterfaceMemberDeclarationCtx,
param?: IN
): OUT;
constantDeclaration(ctx: ConstantDeclarationCtx, param?: IN): OUT;
constantModifier(ctx: ConstantModifierCtx, param?: IN): OUT;
interfaceMethodDeclaration(
ctx: InterfaceMethodDeclarationCtx,
param?: IN
): OUT;
interfaceMethodModifier(ctx: InterfaceMethodModifierCtx, param?: IN): OUT;
annotationTypeDeclaration(ctx: AnnotationTypeDeclarationCtx, param?: IN): OUT;
annotationTypeBody(ctx: AnnotationTypeBodyCtx, param?: IN): OUT;
annotationTypeMemberDeclaration(
ctx: AnnotationTypeMemberDeclarationCtx,
param?: IN
): OUT;
annotationTypeElementDeclaration(
ctx: AnnotationTypeElementDeclarationCtx,
param?: IN
): OUT;
annotationTypeElementModifier(
ctx: AnnotationTypeElementModifierCtx,
param?: IN
): OUT;
defaultValue(ctx: DefaultValueCtx, param?: IN): OUT;
annotation(ctx: AnnotationCtx, param?: IN): OUT;
elementValuePairList(ctx: ElementValuePairListCtx, param?: IN): OUT;
elementValuePair(ctx: ElementValuePairCtx, param?: IN): OUT;
elementValue(ctx: ElementValueCtx, param?: IN): OUT;
elementValueArrayInitializer(
ctx: ElementValueArrayInitializerCtx,
param?: IN
): OUT;
elementValueList(ctx: ElementValueListCtx, param?: IN): OUT;
identifyInterfaceBodyDeclarationType(
ctx: IdentifyInterfaceBodyDeclarationTypeCtx,
param?: IN
): OUT;
identifyAnnotationBodyDeclarationType(
ctx: IdentifyAnnotationBodyDeclarationTypeCtx,
param?: IN
): OUT;
isSimpleElementValueAnnotation(
ctx: IsSimpleElementValueAnnotationCtx,
param?: IN
): OUT;
arrayInitializer(ctx: ArrayInitializerCtx, param?: IN): OUT;
variableInitializerList(ctx: VariableInitializerListCtx, param?: IN): OUT;
block(ctx: BlockCtx, param?: IN): OUT;
blockStatements(ctx: BlockStatementsCtx, param?: IN): OUT;
blockStatement(ctx: BlockStatementCtx, param?: IN): OUT;
localVariableDeclarationStatement(
ctx: LocalVariableDeclarationStatementCtx,
param?: IN
): OUT;
localVariableDeclaration(ctx: LocalVariableDeclarationCtx, param?: IN): OUT;
localVariableType(ctx: LocalVariableTypeCtx, param?: IN): OUT;
statement(ctx: StatementCtx, param?: IN): OUT;
statementWithoutTrailingSubstatement(
ctx: StatementWithoutTrailingSubstatementCtx,
param?: IN
): OUT;
emptyStatement(ctx: EmptyStatementCtx, param?: IN): OUT;
labeledStatement(ctx: LabeledStatementCtx, param?: IN): OUT;
expressionStatement(ctx: ExpressionStatementCtx, param?: IN): OUT;
statementExpression(ctx: StatementExpressionCtx, param?: IN): OUT;
ifStatement(ctx: IfStatementCtx, param?: IN): OUT;
assertStatement(ctx: AssertStatementCtx, param?: IN): OUT;
switchStatement(ctx: SwitchStatementCtx, param?: IN): OUT;
switchBlock(ctx: SwitchBlockCtx, param?: IN): OUT;
switchBlockStatementGroup(ctx: SwitchBlockStatementGroupCtx, param?: IN): OUT;
switchLabel(ctx: SwitchLabelCtx, param?: IN): OUT;
caseOrDefaultLabel(ctx: CaseOrDefaultLabelCtx, param?: IN): OUT;
caseLabelElement(ctx: CaseLabelElementCtx, param?: IN): OUT;
switchRule(ctx: SwitchRuleCtx, param?: IN): OUT;
caseConstant(ctx: CaseConstantCtx, param?: IN): OUT;
whileStatement(ctx: WhileStatementCtx, param?: IN): OUT;
doStatement(ctx: DoStatementCtx, param?: IN): OUT;
forStatement(ctx: ForStatementCtx, param?: IN): OUT;
basicForStatement(ctx: BasicForStatementCtx, param?: IN): OUT;
forInit(ctx: ForInitCtx, param?: IN): OUT;
forUpdate(ctx: ForUpdateCtx, param?: IN): OUT;
statementExpressionList(ctx: StatementExpressionListCtx, param?: IN): OUT;
enhancedForStatement(ctx: EnhancedForStatementCtx, param?: IN): OUT;
breakStatement(ctx: BreakStatementCtx, param?: IN): OUT;
continueStatement(ctx: ContinueStatementCtx, param?: IN): OUT;
returnStatement(ctx: ReturnStatementCtx, param?: IN): OUT;
throwStatement(ctx: ThrowStatementCtx, param?: IN): OUT;
synchronizedStatement(ctx: SynchronizedStatementCtx, param?: IN): OUT;
tryStatement(ctx: TryStatementCtx, param?: IN): OUT;
catches(ctx: CatchesCtx, param?: IN): OUT;
catchClause(ctx: CatchClauseCtx, param?: IN): OUT;
catchFormalParameter(ctx: CatchFormalParameterCtx, param?: IN): OUT;
catchType(ctx: CatchTypeCtx, param?: IN): OUT;
finally(ctx: FinallyCtx, param?: IN): OUT;
tryWithResourcesStatement(ctx: TryWithResourcesStatementCtx, param?: IN): OUT;
resourceSpecification(ctx: ResourceSpecificationCtx, param?: IN): OUT;
resourceList(ctx: ResourceListCtx, param?: IN): OUT;
resource(ctx: ResourceCtx, param?: IN): OUT;
resourceInit(ctx: ResourceInitCtx, param?: IN): OUT;
yieldStatement(ctx: YieldStatementCtx, param?: IN): OUT;
variableAccess(ctx: VariableAccessCtx, param?: IN): OUT;
isBasicForStatement(ctx: IsBasicForStatementCtx, param?: IN): OUT;
isLocalVariableDeclaration(
ctx: IsLocalVariableDeclarationCtx,
param?: IN
): OUT;
isClassicSwitchLabel(ctx: IsClassicSwitchLabelCtx, param?: IN): OUT;
expression(ctx: ExpressionCtx, param?: IN): OUT;
lambdaExpression(ctx: LambdaExpressionCtx, param?: IN): OUT;
lambdaParameters(ctx: LambdaParametersCtx, param?: IN): OUT;
lambdaParametersWithBraces(
ctx: LambdaParametersWithBracesCtx,
param?: IN
): OUT;
lambdaParameterList(ctx: LambdaParameterListCtx, param?: IN): OUT;
inferredLambdaParameterList(
ctx: InferredLambdaParameterListCtx,
param?: IN
): OUT;
explicitLambdaParameterList(
ctx: ExplicitLambdaParameterListCtx,
param?: IN
): OUT;
lambdaParameter(ctx: LambdaParameterCtx, param?: IN): OUT;
regularLambdaParameter(ctx: RegularLambdaParameterCtx, param?: IN): OUT;
lambdaParameterType(ctx: LambdaParameterTypeCtx, param?: IN): OUT;
lambdaBody(ctx: LambdaBodyCtx, param?: IN): OUT;
ternaryExpression(ctx: TernaryExpressionCtx, param?: IN): OUT;
binaryExpression(ctx: BinaryExpressionCtx, param?: IN): OUT;
unaryExpression(ctx: UnaryExpressionCtx, param?: IN): OUT;
unaryExpressionNotPlusMinus(
ctx: UnaryExpressionNotPlusMinusCtx,
param?: IN
): OUT;
primary(ctx: PrimaryCtx, param?: IN): OUT;
primaryPrefix(ctx: PrimaryPrefixCtx, param?: IN): OUT;
primarySuffix(ctx: PrimarySuffixCtx, param?: IN): OUT;
fqnOrRefType(ctx: FqnOrRefTypeCtx, param?: IN): OUT;
fqnOrRefTypePartRest(ctx: FqnOrRefTypePartRestCtx, param?: IN): OUT;
fqnOrRefTypePartCommon(ctx: FqnOrRefTypePartCommonCtx, param?: IN): OUT;
fqnOrRefTypePartFirst(ctx: FqnOrRefTypePartFirstCtx, param?: IN): OUT;
parenthesisExpression(ctx: ParenthesisExpressionCtx, param?: IN): OUT;
castExpression(ctx: CastExpressionCtx, param?: IN): OUT;
primitiveCastExpression(ctx: PrimitiveCastExpressionCtx, param?: IN): OUT;
referenceTypeCastExpression(
ctx: ReferenceTypeCastExpressionCtx,
param?: IN
): OUT;
newExpression(ctx: NewExpressionCtx, param?: IN): OUT;
unqualifiedClassInstanceCreationExpression(
ctx: UnqualifiedClassInstanceCreationExpressionCtx,
param?: IN
): OUT;
classOrInterfaceTypeToInstantiate(
ctx: ClassOrInterfaceTypeToInstantiateCtx,
param?: IN
): OUT;
typeArgumentsOrDiamond(ctx: TypeArgumentsOrDiamondCtx, param?: IN): OUT;
diamond(ctx: DiamondCtx, param?: IN): OUT;
methodInvocationSuffix(ctx: MethodInvocationSuffixCtx, param?: IN): OUT;
argumentList(ctx: ArgumentListCtx, param?: IN): OUT;
arrayCreationExpression(ctx: ArrayCreationExpressionCtx, param?: IN): OUT;
arrayCreationDefaultInitSuffix(
ctx: ArrayCreationDefaultInitSuffixCtx,
param?: IN
): OUT;
arrayCreationExplicitInitSuffix(
ctx: ArrayCreationExplicitInitSuffixCtx,
param?: IN
): OUT;
dimExprs(ctx: DimExprsCtx, param?: IN): OUT;
dimExpr(ctx: DimExprCtx, param?: IN): OUT;
classLiteralSuffix(ctx: ClassLiteralSuffixCtx, param?: IN): OUT;
arrayAccessSuffix(ctx: ArrayAccessSuffixCtx, param?: IN): OUT;
methodReferenceSuffix(ctx: MethodReferenceSuffixCtx, param?: IN): OUT;
pattern(ctx: PatternCtx, param?: IN): OUT;
typePattern(ctx: TypePatternCtx, param?: IN): OUT;
identifyNewExpressionType(ctx: IdentifyNewExpressionTypeCtx, param?: IN): OUT;
isLambdaExpression(ctx: IsLambdaExpressionCtx, param?: IN): OUT;
isCastExpression(ctx: IsCastExpressionCtx, param?: IN): OUT;
isPrimitiveCastExpression(ctx: IsPrimitiveCastExpressionCtx, param?: IN): OUT;
isReferenceTypeCastExpression(
ctx: IsReferenceTypeCastExpressionCtx,
param?: IN
): OUT;
isRefTypeInMethodRef(ctx: IsRefTypeInMethodRefCtx, param?: IN): OUT;
}
interface JavaCstVisitorConstructor<IN, OUT> {
new (): JavaCstVisitor<IN, OUT>;
}
export abstract class JavaCstVisitorWithDefaults<IN, OUT>
implements ICstVisitor<IN, OUT>
{
// No need to implement these two methods
// Generic Visit method implemented by the Chevrotain Library
visit(cstNode: CstNode | CstNode[], param?: IN): OUT;
validateVisitor(): void;
typeIdentifier(ctx: TypeIdentifierCtx, param?: IN): OUT;
literal(ctx: LiteralCtx, param?: IN): OUT;
integerLiteral(ctx: IntegerLiteralCtx, param?: IN): OUT;
floatingPointLiteral(ctx: FloatingPointLiteralCtx, param?: IN): OUT;
booleanLiteral(ctx: BooleanLiteralCtx, param?: IN): OUT;
primitiveType(ctx: PrimitiveTypeCtx, param?: IN): OUT;
numericType(ctx: NumericTypeCtx, param?: IN): OUT;
integralType(ctx: IntegralTypeCtx, param?: IN): OUT;
floatingPointType(ctx: FloatingPointTypeCtx, param?: IN): OUT;
referenceType(ctx: ReferenceTypeCtx, param?: IN): OUT;
classOrInterfaceType(ctx: ClassOrInterfaceTypeCtx, param?: IN): OUT;
classType(ctx: ClassTypeCtx, param?: IN): OUT;
interfaceType(ctx: InterfaceTypeCtx, param?: IN): OUT;
typeVariable(ctx: TypeVariableCtx, param?: IN): OUT;
dims(ctx: DimsCtx, param?: IN): OUT;
typeParameter(ctx: TypeParameterCtx, param?: IN): OUT;
typeParameterModifier(ctx: TypeParameterModifierCtx, param?: IN): OUT;
typeBound(ctx: TypeBoundCtx, param?: IN): OUT;
additionalBound(ctx: AdditionalBoundCtx, param?: IN): OUT;
typeArguments(ctx: TypeArgumentsCtx, param?: IN): OUT;
typeArgumentList(ctx: TypeArgumentListCtx, param?: IN): OUT;
typeArgument(ctx: TypeArgumentCtx, param?: IN): OUT;
wildcard(ctx: WildcardCtx, param?: IN): OUT;
wildcardBounds(ctx: WildcardBoundsCtx, param?: IN): OUT;
moduleName(ctx: ModuleNameCtx, param?: IN): OUT;
packageName(ctx: PackageNameCtx, param?: IN): OUT;
typeName(ctx: TypeNameCtx, param?: IN): OUT;
expressionName(ctx: ExpressionNameCtx, param?: IN): OUT;
methodName(ctx: MethodNameCtx, param?: IN): OUT;
packageOrTypeName(ctx: PackageOrTypeNameCtx, param?: IN): OUT;
ambiguousName(ctx: AmbiguousNameCtx, param?: IN): OUT;
classDeclaration(ctx: ClassDeclarationCtx, param?: IN): OUT;
normalClassDeclaration(ctx: NormalClassDeclarationCtx, param?: IN): OUT;
classModifier(ctx: ClassModifierCtx, param?: IN): OUT;
typeParameters(ctx: TypeParametersCtx, param?: IN): OUT;
typeParameterList(ctx: TypeParameterListCtx, param?: IN): OUT;
superclass(ctx: SuperclassCtx, param?: IN): OUT;
superinterfaces(ctx: SuperinterfacesCtx, param?: IN): OUT;
interfaceTypeList(ctx: InterfaceTypeListCtx, param?: IN): OUT;
classPermits(ctx: ClassPermitsCtx, param?: IN): OUT;
classBody(ctx: ClassBodyCtx, param?: IN): OUT;
classBodyDeclaration(ctx: ClassBodyDeclarationCtx, param?: IN): OUT;
classMemberDeclaration(ctx: ClassMemberDeclarationCtx, param?: IN): OUT;
fieldDeclaration(ctx: FieldDeclarationCtx, param?: IN): OUT;
fieldModifier(ctx: FieldModifierCtx, param?: IN): OUT;
variableDeclaratorList(ctx: VariableDeclaratorListCtx, param?: IN): OUT;
variableDeclarator(ctx: VariableDeclaratorCtx, param?: IN): OUT;
variableDeclaratorId(ctx: VariableDeclaratorIdCtx, param?: IN): OUT;
variableInitializer(ctx: VariableInitializerCtx, param?: IN): OUT;
unannType(ctx: UnannTypeCtx, param?: IN): OUT;
unannPrimitiveTypeWithOptionalDimsSuffix(
ctx: UnannPrimitiveTypeWithOptionalDimsSuffixCtx,
param?: IN
): OUT;
unannPrimitiveType(ctx: UnannPrimitiveTypeCtx, param?: IN): OUT;
unannReferenceType(ctx: UnannReferenceTypeCtx, param?: IN): OUT;
unannClassOrInterfaceType(ctx: UnannClassOrInterfaceTypeCtx, param?: IN): OUT;
unannClassType(ctx: UnannClassTypeCtx, param?: IN): OUT;
unannInterfaceType(ctx: UnannInterfaceTypeCtx, param?: IN): OUT;
unannTypeVariable(ctx: UnannTypeVariableCtx, param?: IN): OUT;
methodDeclaration(ctx: MethodDeclarationCtx, param?: IN): OUT;
methodModifier(ctx: MethodModifierCtx, param?: IN): OUT;
methodHeader(ctx: MethodHeaderCtx, param?: IN): OUT;
result(ctx: ResultCtx, param?: IN): OUT;
methodDeclarator(ctx: MethodDeclaratorCtx, param?: IN): OUT;
receiverParameter(ctx: ReceiverParameterCtx, param?: IN): OUT;
formalParameterList(ctx: FormalParameterListCtx, param?: IN): OUT;
formalParameter(ctx: FormalParameterCtx, param?: IN): OUT;
variableParaRegularParameter(
ctx: VariableParaRegularParameterCtx,
param?: IN
): OUT;
variableArityParameter(ctx: VariableArityParameterCtx, param?: IN): OUT;
variableModifier(ctx: VariableModifierCtx, param?: IN): OUT;
throws(ctx: ThrowsCtx, param?: IN): OUT;
exceptionTypeList(ctx: ExceptionTypeListCtx, param?: IN): OUT;
exceptionType(ctx: ExceptionTypeCtx, param?: IN): OUT;
methodBody(ctx: MethodBodyCtx, param?: IN): OUT;
instanceInitializer(ctx: InstanceInitializerCtx, param?: IN): OUT;
staticInitializer(ctx: StaticInitializerCtx, param?: IN): OUT;
constructorDeclaration(ctx: ConstructorDeclarationCtx, param?: IN): OUT;
constructorModifier(ctx: ConstructorModifierCtx, param?: IN): OUT;
constructorDeclarator(ctx: ConstructorDeclaratorCtx, param?: IN): OUT;
simpleTypeName(ctx: SimpleTypeNameCtx, param?: IN): OUT;
constructorBody(ctx: ConstructorBodyCtx, param?: IN): OUT;
explicitConstructorInvocation(
ctx: ExplicitConstructorInvocationCtx,
param?: IN
): OUT;
unqualifiedExplicitConstructorInvocation(
ctx: UnqualifiedExplicitConstructorInvocationCtx,
param?: IN
): OUT;
qualifiedExplicitConstructorInvocation(
ctx: QualifiedExplicitConstructorInvocationCtx,
param?: IN
): OUT;
enumDeclaration(ctx: EnumDeclarationCtx, param?: IN): OUT;
enumBody(ctx: EnumBodyCtx, param?: IN): OUT;
enumConstantList(ctx: EnumConstantListCtx, param?: IN): OUT;
enumConstant(ctx: EnumConstantCtx, param?: IN): OUT;
enumConstantModifier(ctx: EnumConstantModifierCtx, param?: IN): OUT;
enumBodyDeclarations(ctx: EnumBodyDeclarationsCtx, param?: IN): OUT;
recordDeclaration(ctx: RecordDeclarationCtx, param?: IN): OUT;
recordHeader(ctx: RecordHeaderCtx, param?: IN): OUT;
recordComponentList(ctx: RecordComponentListCtx, param?: IN): OUT;
recordComponent(ctx: RecordComponentCtx, param?: IN): OUT;
variableArityRecordComponent(
ctx: VariableArityRecordComponentCtx,
param?: IN
): OUT;
recordComponentModifier(ctx: RecordComponentModifierCtx, param?: IN): OUT;
recordBody(ctx: RecordBodyCtx, param?: IN): OUT;
recordBodyDeclaration(ctx: RecordBodyDeclarationCtx, param?: IN): OUT;
compactConstructorDeclaration(
ctx: CompactConstructorDeclarationCtx,
param?: IN
): OUT;
isClassDeclaration(ctx: IsClassDeclarationCtx, param?: IN): OUT;
identifyClassBodyDeclarationType(
ctx: IdentifyClassBodyDeclarationTypeCtx,
param?: IN
): OUT;
isDims(ctx: IsDimsCtx, param?: IN): OUT;
isCompactConstructorDeclaration(
ctx: IsCompactConstructorDeclarationCtx,
param?: IN
): OUT;
compilationUnit(ctx: CompilationUnitCtx, param?: IN): OUT;
ordinaryCompilationUnit(ctx: OrdinaryCompilationUnitCtx, param?: IN): OUT;
modularCompilationUnit(ctx: ModularCompilationUnitCtx, param?: IN): OUT;
packageDeclaration(ctx: PackageDeclarationCtx, param?: IN): OUT;
packageModifier(ctx: PackageModifierCtx, param?: IN): OUT;
importDeclaration(ctx: ImportDeclarationCtx, param?: IN): OUT;
typeDeclaration(ctx: TypeDeclarationCtx, param?: IN): OUT;
moduleDeclaration(ctx: ModuleDeclarationCtx, param?: IN): OUT;
moduleDirective(ctx: ModuleDirectiveCtx, param?: IN): OUT;
requiresModuleDirective(ctx: RequiresModuleDirectiveCtx, param?: IN): OUT;
exportsModuleDirective(ctx: ExportsModuleDirectiveCtx, param?: IN): OUT;
opensModuleDirective(ctx: OpensModuleDirectiveCtx, param?: IN): OUT;
usesModuleDirective(ctx: UsesModuleDirectiveCtx, param?: IN): OUT;
providesModuleDirective(ctx: ProvidesModuleDirectiveCtx, param?: IN): OUT;
requiresModifier(ctx: RequiresModifierCtx, param?: IN): OUT;
isModuleCompilationUnit(ctx: IsModuleCompilationUnitCtx, param?: IN): OUT;
interfaceDeclaration(ctx: InterfaceDeclarationCtx, param?: IN): OUT;
normalInterfaceDeclaration(
ctx: NormalInterfaceDeclarationCtx,
param?: IN
): OUT;
interfaceModifier(ctx: InterfaceModifierCtx, param?: IN): OUT;
extendsInterfaces(ctx: ExtendsInterfacesCtx, param?: IN): OUT;
interfacePermits(ctx: InterfacePermitsCtx, param?: IN): OUT;
interfaceBody(ctx: InterfaceBodyCtx, param?: IN): OUT;
interfaceMemberDeclaration(
ctx: InterfaceMemberDeclarationCtx,
param?: IN
): OUT;
constantDeclaration(ctx: ConstantDeclarationCtx, param?: IN): OUT;
constantModifier(ctx: ConstantModifierCtx, param?: IN): OUT;
interfaceMethodDeclaration(
ctx: InterfaceMethodDeclarationCtx,
param?: IN
): OUT;
interfaceMethodModifier(ctx: InterfaceMethodModifierCtx, param?: IN): OUT;
annotationTypeDeclaration(ctx: AnnotationTypeDeclarationCtx, param?: IN): OUT;
annotationTypeBody(ctx: AnnotationTypeBodyCtx, param?: IN): OUT;
annotationTypeMemberDeclaration(
ctx: AnnotationTypeMemberDeclarationCtx,
param?: IN
): OUT;
annotationTypeElementDeclaration(
ctx: AnnotationTypeElementDeclarationCtx,
param?: IN
): OUT;
annotationTypeElementModifier(
ctx: AnnotationTypeElementModifierCtx,
param?: IN
): OUT;
defaultValue(ctx: DefaultValueCtx, param?: IN): OUT;
annotation(ctx: AnnotationCtx, param?: IN): OUT;
elementValuePairList(ctx: ElementValuePairListCtx, param?: IN): OUT;
elementValuePair(ctx: ElementValuePairCtx, param?: IN): OUT;
elementValue(ctx: ElementValueCtx, param?: IN): OUT;
elementValueArrayInitializer(
ctx: ElementValueArrayInitializerCtx,
param?: IN
): OUT;
elementValueList(ctx: ElementValueListCtx, param?: IN): OUT;
identifyInterfaceBodyDeclarationType(
ctx: IdentifyInterfaceBodyDeclarationTypeCtx,
param?: IN
): OUT;
identifyAnnotationBodyDeclarationType(
ctx: IdentifyAnnotationBodyDeclarationTypeCtx,
param?: IN
): OUT;
isSimpleElementValueAnnotation(
ctx: IsSimpleElementValueAnnotationCtx,
param?: IN
): OUT;
arrayInitializer(ctx: ArrayInitializerCtx, param?: IN): OUT;
variableInitializerList(ctx: VariableInitializerListCtx, param?: IN): OUT;
block(ctx: BlockCtx, param?: IN): OUT;
blockStatements(ctx: BlockStatementsCtx, param?: IN): OUT;
blockStatement(ctx: BlockStatementCtx, param?: IN): OUT;
localVariableDeclarationStatement(
ctx: LocalVariableDeclarationStatementCtx,
param?: IN
): OUT;
localVariableDeclaration(ctx: LocalVariableDeclarationCtx, param?: IN): OUT;
localVariableType(ctx: LocalVariableTypeCtx, param?: IN): OUT;
statement(ctx: StatementCtx, param?: IN): OUT;
statementWithoutTrailingSubstatement(
ctx: StatementWithoutTrailingSubstatementCtx,
param?: IN
): OUT;
emptyStatement(ctx: EmptyStatementCtx, param?: IN): OUT;
labeledStatement(ctx: LabeledStatementCtx, param?: IN): OUT;
expressionStatement(ctx: ExpressionStatementCtx, param?: IN): OUT;
statementExpression(ctx: StatementExpressionCtx, param?: IN): OUT;
ifStatement(ctx: IfStatementCtx, param?: IN): OUT;
assertStatement(ctx: AssertStatementCtx, param?: IN): OUT;
switchStatement(ctx: SwitchStatementCtx, param?: IN): OUT;
switchBlock(ctx: SwitchBlockCtx, param?: IN): OUT;
switchBlockStatementGroup(ctx: SwitchBlockStatementGroupCtx, param?: IN): OUT;
switchLabel(ctx: SwitchLabelCtx, param?: IN): OUT;
switchRule(ctx: SwitchRuleCtx, param?: IN): OUT;
caseConstant(ctx: CaseConstantCtx, param?: IN): OUT;
whileStatement(ctx: WhileStatementCtx, param?: IN): OUT;
doStatement(ctx: DoStatementCtx, param?: IN): OUT;
forStatement(ctx: ForStatementCtx, param?: IN): OUT;
basicForStatement(ctx: BasicForStatementCtx, param?: IN): OUT;
forInit(ctx: ForInitCtx, param?: IN): OUT;
forUpdate(ctx: ForUpdateCtx, param?: IN): OUT;
statementExpressionList(ctx: StatementExpressionListCtx, param?: IN): OUT;
enhancedForStatement(ctx: EnhancedForStatementCtx, param?: IN): OUT;
breakStatement(ctx: BreakStatementCtx, param?: IN): OUT;
continueStatement(ctx: ContinueStatementCtx, param?: IN): OUT;
returnStatement(ctx: ReturnStatementCtx, param?: IN): OUT;
throwStatement(ctx: ThrowStatementCtx, param?: IN): OUT;
synchronizedStatement(ctx: SynchronizedStatementCtx, param?: IN): OUT;
tryStatement(ctx: TryStatementCtx, param?: IN): OUT;
catches(ctx: CatchesCtx, param?: IN): OUT;
catchClause(ctx: CatchClauseCtx, param?: IN): OUT;
catchFormalParameter(ctx: CatchFormalParameterCtx, param?: IN): OUT;
catchType(ctx: CatchTypeCtx, param?: IN): OUT;
finally(ctx: FinallyCtx, param?: IN): OUT;
tryWithResourcesStatement(ctx: TryWithResourcesStatementCtx, param?: IN): OUT;
resourceSpecification(ctx: ResourceSpecificationCtx, param?: IN): OUT;
resourceList(ctx: ResourceListCtx, param?: IN): OUT;
resource(ctx: ResourceCtx, param?: IN): OUT;
resourceInit(ctx: ResourceInitCtx, param?: IN): OUT;
yieldStatement(ctx: YieldStatementCtx, param?: IN): OUT;
variableAccess(ctx: VariableAccessCtx, param?: IN): OUT;
isBasicForStatement(ctx: IsBasicForStatementCtx, param?: IN): OUT;
isLocalVariableDeclaration(
ctx: IsLocalVariableDeclarationCtx,
param?: IN
): OUT;
isClassicSwitchLabel(ctx: IsClassicSwitchLabelCtx, param?: IN): OUT;
expression(ctx: ExpressionCtx, param?: IN): OUT;
lambdaExpression(ctx: LambdaExpressionCtx, param?: IN): OUT;
lambdaParameters(ctx: LambdaParametersCtx, param?: IN): OUT;
lambdaParametersWithBraces(
ctx: LambdaParametersWithBracesCtx,
param?: IN
): OUT;
lambdaParameterList(ctx: LambdaParameterListCtx, param?: IN): OUT;
inferredLambdaParameterList(
ctx: InferredLambdaParameterListCtx,
param?: IN
): OUT;
explicitLambdaParameterList(
ctx: ExplicitLambdaParameterListCtx,
param?: IN
): OUT;
lambdaParameter(ctx: LambdaParameterCtx, param?: IN): OUT;
regularLambdaParameter(ctx: RegularLambdaParameterCtx, param?: IN): OUT;
lambdaParameterType(ctx: LambdaParameterTypeCtx, param?: IN): OUT;
lambdaBody(ctx: LambdaBodyCtx, param?: IN): OUT;
ternaryExpression(ctx: TernaryExpressionCtx, param?: IN): OUT;
binaryExpression(ctx: BinaryExpressionCtx, param?: IN): OUT;
unaryExpression(ctx: UnaryExpressionCtx, param?: IN): OUT;
unaryExpressionNotPlusMinus(
ctx: UnaryExpressionNotPlusMinusCtx,
param?: IN
): OUT;
primary(ctx: PrimaryCtx, param?: IN): OUT;
primaryPrefix(ctx: PrimaryPrefixCtx, param?: IN): OUT;
primarySuffix(ctx: PrimarySuffixCtx, param?: IN): OUT;
fqnOrRefType(ctx: FqnOrRefTypeCtx, param?: IN): OUT;
fqnOrRefTypePartRest(ctx: FqnOrRefTypePartRestCtx, param?: IN): OUT;
fqnOrRefTypePartCommon(ctx: FqnOrRefTypePartCommonCtx, param?: IN): OUT;
fqnOrRefTypePartFirst(ctx: FqnOrRefTypePartFirstCtx, param?: IN): OUT;
parenthesisExpression(ctx: ParenthesisExpressionCtx, param?: IN): OUT;
castExpression(ctx: CastExpressionCtx, param?: IN): OUT;
primitiveCastExpression(ctx: PrimitiveCastExpressionCtx, param?: IN): OUT;
referenceTypeCastExpression(
ctx: ReferenceTypeCastExpressionCtx,
param?: IN
): OUT;
newExpression(ctx: NewExpressionCtx, param?: IN): OUT;
unqualifiedClassInstanceCreationExpression(
ctx: UnqualifiedClassInstanceCreationExpressionCtx,
param?: IN
): OUT;
classOrInterfaceTypeToInstantiate(
ctx: ClassOrInterfaceTypeToInstantiateCtx,
param?: IN
): OUT;
typeArgumentsOrDiamond(ctx: TypeArgumentsOrDiamondCtx, param?: IN): OUT;
diamond(ctx: DiamondCtx, param?: IN): OUT;
methodInvocationSuffix(ctx: MethodInvocationSuffixCtx, param?: IN): OUT;
argumentList(ctx: ArgumentListCtx, param?: IN): OUT;
arrayCreationExpression(ctx: ArrayCreationExpressionCtx, param?: IN): OUT;
arrayCreationDefaultInitSuffix(
ctx: ArrayCreationDefaultInitSuffixCtx,
param?: IN
): OUT;
arrayCreationExplicitInitSuffix(
ctx: ArrayCreationExplicitInitSuffixCtx,
param?: IN
): OUT;
dimExprs(ctx: DimExprsCtx, param?: IN): OUT;
dimExpr(ctx: DimExprCtx, param?: IN): OUT;
classLiteralSuffix(ctx: ClassLiteralSuffixCtx, param?: IN): OUT;
arrayAccessSuffix(ctx: ArrayAccessSuffixCtx, param?: IN): OUT;
methodReferenceSuffix(ctx: MethodReferenceSuffixCtx, param?: IN): OUT;
pattern(ctx: PatternCtx, param?: IN): OUT;
typePattern(ctx: TypePatternCtx, param?: IN): OUT;
identifyNewExpressionType(ctx: IdentifyNewExpressionTypeCtx, param?: IN): OUT;
isLambdaExpression(ctx: IsLambdaExpressionCtx, param?: IN): OUT;
isCastExpression(ctx: IsCastExpressionCtx, param?: IN): OUT;
isPrimitiveCastExpression(ctx: IsPrimitiveCastExpressionCtx, param?: IN): OUT;
isReferenceTypeCastExpression(
ctx: IsReferenceTypeCastExpressionCtx,
param?: IN
): OUT;
isRefTypeInMethodRef(ctx: IsRefTypeInMethodRefCtx, param?: IN): OUT;
}
interface JavaCstVisitorWithDefaultsConstructor<IN, OUT> {
new (): JavaCstVisitorWithDefaults<IN, OUT>;
}
export interface TypeIdentifierCstNode extends CstNode {
name: "typeIdentifier";
children: TypeIdentifierCtx;
}
export type TypeIdentifierCtx = {
Identifier: IToken[];
};
export interface LiteralCstNode extends CstNode {
name: "literal";
children: LiteralCtx;
}
export type LiteralCtx = {
integerLiteral?: IntegerLiteralCstNode[];
floatingPointLiteral?: FloatingPointLiteralCstNode[];
booleanLiteral?: BooleanLiteralCstNode[];
CharLiteral?: IToken[];
TextBlock?: IToken[];
StringLiteral?: IToken[];
Null?: IToken[];
};
export interface IntegerLiteralCstNode extends CstNode {
name: "integerLiteral";
children: IntegerLiteralCtx;
}
export type IntegerLiteralCtx = {
DecimalLiteral?: IToken[];
HexLiteral?: IToken[];
OctalLiteral?: IToken[];
BinaryLiteral?: IToken[];
};
export interface FloatingPointLiteralCstNode extends CstNode {
name: "floatingPointLiteral";
children: FloatingPointLiteralCtx;
}
export type FloatingPointLiteralCtx = {
FloatLiteral?: IToken[];
HexFloatLiteral?: IToken[];
};
export interface BooleanLiteralCstNode extends CstNode {
name: "booleanLiteral";
children: BooleanLiteralCtx;
}
export type BooleanLiteralCtx = {
True?: IToken[];
False?: IToken[];
};
export interface PrimitiveTypeCstNode extends CstNode {
name: "primitiveType";
children: PrimitiveTypeCtx;
}
export type PrimitiveTypeCtx = {
annotation?: AnnotationCstNode[];
numericType?: NumericTypeCstNode[];
Boolean?: IToken[];
};
export interface NumericTypeCstNode extends CstNode {
name: "numericType";
children: NumericTypeCtx;
}
export type NumericTypeCtx = {
integralType?: IntegralTypeCstNode[];
floatingPointType?: FloatingPointTypeCstNode[];
};
export interface IntegralTypeCstNode extends CstNode {
name: "integralType";
children: IntegralTypeCtx;
}
export type IntegralTypeCtx = {
Byte?: IToken[];
Short?: IToken[];
Int?: IToken[];
Long?: IToken[];
Char?: IToken[];
};
export interface FloatingPointTypeCstNode extends CstNode {
name: "floatingPointType";
children: FloatingPointTypeCtx;
}
export type FloatingPointTypeCtx = {
Float?: IToken[];
Double?: IToken[];
};
export interface ReferenceTypeCstNode extends CstNode {
name: "referenceType";
children: ReferenceTypeCtx;
}
export type ReferenceTypeCtx = {
annotation?: AnnotationCstNode[];
primitiveType?: PrimitiveTypeCstNode[];
dims?: DimsCstNode[];
classOrInterfaceType?: ClassOrInterfaceTypeCstNode[];
};
export interface ClassOrInterfaceTypeCstNode extends CstNode {
name: "classOrInterfaceType";
children: ClassOrInterfaceTypeCtx;
}
export type ClassOrInterfaceTypeCtx = {
classType: ClassTypeCstNode[];
};
export interface ClassTypeCstNode extends CstNode {
name: "classType";
children: ClassTypeCtx;
}
export type ClassTypeCtx = {
annotation?: AnnotationCstNode[];
Identifier: IToken[];
typeArguments?: TypeArgumentsCstNode[];
Dot?: IToken[];
};
export interface InterfaceTypeCstNode extends CstNode {
name: "interfaceType";
children: InterfaceTypeCtx;
}
export type InterfaceTypeCtx = {
classType: ClassTypeCstNode[];
};
export interface TypeVariableCstNode extends CstNode {
name: "typeVariable";
children: TypeVariableCtx;
}
export type TypeVariableCtx = {
annotation?: AnnotationCstNode[];
Identifier: IToken[];
};
export interface DimsCstNode extends CstNode {
name: "dims";
children: DimsCtx;
}
export type DimsCtx = {
annotation?: AnnotationCstNode[];
LSquare: IToken[];
RSquare: IToken[];
};
export interface TypeParameterCstNode extends CstNode {
name: "typeParameter";
children: TypeParameterCtx;
}
export type TypeParameterCtx = {
typeParameterModifier?: TypeParameterModifierCstNode[];
typeIdentifier: TypeIdentifierCstNode[];
typeBound?: TypeBoundCstNode[];
};
export interface TypeParameterModifierCstNode extends CstNode {
name: "typeParameterModifier";
children: TypeParameterModifierCtx;
}
export type TypeParameterModifierCtx = {
annotation: AnnotationCstNode[];
};
export interface TypeBoundCstNode extends CstNode {
name: "typeBound";
children: TypeBoundCtx;
}
export type TypeBoundCtx = {
Extends: IToken[];
classOrInterfaceType: ClassOrInterfaceTypeCstNode[];
additionalBound?: AdditionalBoundCstNode[];
};
export interface AdditionalBoundCstNode extends CstNode {
name: "additionalBound";
children: AdditionalBoundCtx;
}
export type AdditionalBoundCtx = {
And: IToken[];
interfaceType: InterfaceTypeCstNode[];
};
export interface TypeArgumentsCstNode extends CstNode {
name: "typeArguments";
children: TypeArgumentsCtx;
}
export type TypeArgumentsCtx = {
Less: IToken[];
typeArgumentList: TypeArgumentListCstNode[];
Greater: IToken[];
};
export interface TypeArgumentListCstNode extends CstNode {
name: "typeArgumentList";
children: TypeArgumentListCtx;
}
export type TypeArgumentListCtx = {
typeArgument: TypeArgumentCstNode[];
Comma?: IToken[];
};
export interface TypeArgumentCstNode extends CstNode {
name: "typeArgument";
children: TypeArgumentCtx;
}
export type TypeArgumentCtx = {
referenceType?: ReferenceTypeCstNode[];
wildcard?: WildcardCstNode[];
};
export interface WildcardCstNode extends CstNode {
name: "wildcard";
children: WildcardCtx;
}
export type WildcardCtx = {
annotation?: AnnotationCstNode[];
QuestionMark: IToken[];
wildcardBounds?: WildcardBoundsCstNode[];
};
export interface WildcardBoundsCstNode extends CstNode {
name: "wildcardBounds";
children: WildcardBoundsCtx;
}
export type WildcardBoundsCtx = {
Extends?: IToken[];
Super?: IToken[];
referenceType: ReferenceTypeCstNode[];
};
export interface ModuleNameCstNode extends CstNode {
name: "moduleName";
children: ModuleNameCtx;
}
export type ModuleNameCtx = {
Identifier: IToken[];
Dot?: IToken[];
};
export interface PackageNameCstNode extends CstNode {
name: "packageName";
children: PackageNameCtx;
}
export type PackageNameCtx = {
Identifier: IToken[];
Dot?: IToken[];
};
export interface TypeNameCstNode extends CstNode {
name: "typeName";
children: TypeNameCtx;
}
export type TypeNameCtx = {
Identifier: IToken[];
Dot?: IToken[];
};
export interface ExpressionNameCstNode extends CstNode {
name: "expressionName";
children: ExpressionNameCtx;
}
export type ExpressionNameCtx = {
Identifier: IToken[];
Dot?: IToken[];
};
export interface MethodNameCstNode extends CstNode {
name: "methodName";
children: MethodNameCtx;
}
export type MethodNameCtx = {
Identifier: IToken[];
};
export interface PackageOrTypeNameCstNode extends CstNode {
name: "packageOrTypeName";
children: PackageOrTypeNameCtx;
}
export type PackageOrTypeNameCtx = {
Identifier: IToken[];
Dot?: IToken[];
};
export interface AmbiguousNameCstNode extends CstNode {
name: "ambiguousName";
children: AmbiguousNameCtx;
}
export type AmbiguousNameCtx = {
Identifier: IToken[];
Dot?: IToken[];
};
export interface ClassDeclarationCstNode extends CstNode {
name: "classDeclaration";
children: ClassDeclarationCtx;
}
export type ClassDeclarationCtx = {
classModifier?: ClassModifierCstNode[];
normalClassDeclaration?: NormalClassDeclarationCstNode[];
enumDeclaration?: EnumDeclarationCstNode[];
recordDeclaration?: RecordDeclarationCstNode[];
};
export interface NormalClassDeclarationCstNode extends CstNode {
name: "normalClassDeclaration";
children: NormalClassDeclarationCtx;
}
export type NormalClassDeclarationCtx = {
Class: IToken[];
typeIdentifier: TypeIdentifierCstNode[];
typeParameters?: TypeParametersCstNode[];
superclass?: SuperclassCstNode[];
superinterfaces?: SuperinterfacesCstNode[];
classPermits?: ClassPermitsCstNode[];
classBody: ClassBodyCstNode[];
};
export interface ClassModifierCstNode extends CstNode {
name: "classModifier";
children: ClassModifierCtx;
}
export type ClassModifierCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
Abstract?: IToken[];
Static?: IToken[];
Final?: IToken[];
Sealed?: IToken[];
NonSealed?: IToken[];
Strictfp?: IToken[];
};
export interface TypeParametersCstNode extends CstNode {
name: "typeParameters";
children: TypeParametersCtx;
}
export type TypeParametersCtx = {
Less: IToken[];
typeParameterList: TypeParameterListCstNode[];
Greater: IToken[];
};
export interface TypeParameterListCstNode extends CstNode {
name: "typeParameterList";
children: TypeParameterListCtx;
}
export type TypeParameterListCtx = {
typeParameter: TypeParameterCstNode[];
Comma?: IToken[];
};
export interface SuperclassCstNode extends CstNode {
name: "superclass";
children: SuperclassCtx;
}
export type SuperclassCtx = {
Extends: IToken[];
classType: ClassTypeCstNode[];
};
export interface SuperinterfacesCstNode extends CstNode {
name: "superinterfaces";
children: SuperinterfacesCtx;
}
export type SuperinterfacesCtx = {
Implements: IToken[];
interfaceTypeList: InterfaceTypeListCstNode[];
};
export interface InterfaceTypeListCstNode extends CstNode {
name: "interfaceTypeList";
children: InterfaceTypeListCtx;
}
export type InterfaceTypeListCtx = {
interfaceType: InterfaceTypeCstNode[];
Comma?: IToken[];
};
export interface ClassPermitsCstNode extends CstNode {
name: "classPermits";
children: ClassPermitsCtx;
}
export type ClassPermitsCtx = {
Permits: IToken[];
typeName: TypeNameCstNode[];
Comma?: IToken[];
};
export interface ClassBodyCstNode extends CstNode {
name: "classBody";
children: ClassBodyCtx;
}
export type ClassBodyCtx = {
LCurly: IToken[];
classBodyDeclaration?: ClassBodyDeclarationCstNode[];
RCurly: IToken[];
};
export interface ClassBodyDeclarationCstNode extends CstNode {
name: "classBodyDeclaration";
children: ClassBodyDeclarationCtx;
}
export type ClassBodyDeclarationCtx = {
classMemberDeclaration?: ClassMemberDeclarationCstNode[];
instanceInitializer?: InstanceInitializerCstNode[];
staticInitializer?: StaticInitializerCstNode[];
constructorDeclaration?: ConstructorDeclarationCstNode[];
};
export interface ClassMemberDeclarationCstNode extends CstNode {
name: "classMemberDeclaration";
children: ClassMemberDeclarationCtx;
}
export type ClassMemberDeclarationCtx = {
fieldDeclaration?: FieldDeclarationCstNode[];
methodDeclaration?: MethodDeclarationCstNode[];
classDeclaration?: ClassDeclarationCstNode[];
interfaceDeclaration?: InterfaceDeclarationCstNode[];
Semicolon?: IToken[];
};
export interface FieldDeclarationCstNode extends CstNode {
name: "fieldDeclaration";
children: FieldDeclarationCtx;
}
export type FieldDeclarationCtx = {
fieldModifier?: FieldModifierCstNode[];
unannType: UnannTypeCstNode[];
variableDeclaratorList: VariableDeclaratorListCstNode[];
Semicolon: IToken[];
};
export interface FieldModifierCstNode extends CstNode {
name: "fieldModifier";
children: FieldModifierCtx;
}
export type FieldModifierCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
Static?: IToken[];
Final?: IToken[];
Transient?: IToken[];
Volatile?: IToken[];
};
export interface VariableDeclaratorListCstNode extends CstNode {
name: "variableDeclaratorList";
children: VariableDeclaratorListCtx;
}
export type VariableDeclaratorListCtx = {
variableDeclarator: VariableDeclaratorCstNode[];
Comma?: IToken[];
};
export interface VariableDeclaratorCstNode extends CstNode {
name: "variableDeclarator";
children: VariableDeclaratorCtx;
}
export type VariableDeclaratorCtx = {
variableDeclaratorId: VariableDeclaratorIdCstNode[];
Equals?: IToken[];
variableInitializer?: VariableInitializerCstNode[];
};
export interface VariableDeclaratorIdCstNode extends CstNode {
name: "variableDeclaratorId";
children: VariableDeclaratorIdCtx;
}
export type VariableDeclaratorIdCtx = {
Identifier: IToken[];
dims?: DimsCstNode[];
};
export interface VariableInitializerCstNode extends CstNode {
name: "variableInitializer";
children: VariableInitializerCtx;
}
export type VariableInitializerCtx = {
expression?: ExpressionCstNode[];
arrayInitializer?: ArrayInitializerCstNode[];
};
export interface UnannTypeCstNode extends CstNode {
name: "unannType";
children: UnannTypeCtx;
}
export type UnannTypeCtx = {
unannPrimitiveTypeWithOptionalDimsSuffix?: UnannPrimitiveTypeWithOptionalDimsSuffixCstNode[];
unannReferenceType?: UnannReferenceTypeCstNode[];
};
export interface UnannPrimitiveTypeWithOptionalDimsSuffixCstNode
extends CstNode {
name: "unannPrimitiveTypeWithOptionalDimsSuffix";
children: UnannPrimitiveTypeWithOptionalDimsSuffixCtx;
}
export type UnannPrimitiveTypeWithOptionalDimsSuffixCtx = {
unannPrimitiveType: UnannPrimitiveTypeCstNode[];
dims?: DimsCstNode[];
};
export interface UnannPrimitiveTypeCstNode extends CstNode {
name: "unannPrimitiveType";
children: UnannPrimitiveTypeCtx;
}
export type UnannPrimitiveTypeCtx = {
numericType?: NumericTypeCstNode[];
Boolean?: IToken[];
};
export interface UnannReferenceTypeCstNode extends CstNode {
name: "unannReferenceType";
children: UnannReferenceTypeCtx;
}
export type UnannReferenceTypeCtx = {
unannClassOrInterfaceType: UnannClassOrInterfaceTypeCstNode[];
dims?: DimsCstNode[];
};
export interface UnannClassOrInterfaceTypeCstNode extends CstNode {
name: "unannClassOrInterfaceType";
children: UnannClassOrInterfaceTypeCtx;
}
export type UnannClassOrInterfaceTypeCtx = {
unannClassType: UnannClassTypeCstNode[];
};
export interface UnannClassTypeCstNode extends CstNode {
name: "unannClassType";
children: UnannClassTypeCtx;
}
export type UnannClassTypeCtx = {
Identifier: IToken[];
typeArguments?: TypeArgumentsCstNode[];
Dot?: IToken[];
annotation?: AnnotationCstNode[];
};
export interface UnannInterfaceTypeCstNode extends CstNode {
name: "unannInterfaceType";
children: UnannInterfaceTypeCtx;
}
export type UnannInterfaceTypeCtx = {
unannClassType: UnannClassTypeCstNode[];
};
export interface UnannTypeVariableCstNode extends CstNode {
name: "unannTypeVariable";
children: UnannTypeVariableCtx;
}
export type UnannTypeVariableCtx = {
Identifier: IToken[];
};
export interface MethodDeclarationCstNode extends CstNode {
name: "methodDeclaration";
children: MethodDeclarationCtx;
}
export type MethodDeclarationCtx = {
methodModifier?: MethodModifierCstNode[];
methodHeader: MethodHeaderCstNode[];
methodBody: MethodBodyCstNode[];
};
export interface MethodModifierCstNode extends CstNode {
name: "methodModifier";
children: MethodModifierCtx;
}
export type MethodModifierCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
Abstract?: IToken[];
Static?: IToken[];
Final?: IToken[];
Synchronized?: IToken[];
Native?: IToken[];
Strictfp?: IToken[];
};
export interface MethodHeaderCstNode extends CstNode {
name: "methodHeader";
children: MethodHeaderCtx;
}
export type MethodHeaderCtx = {
typeParameters?: TypeParametersCstNode[];
annotation?: AnnotationCstNode[];
result: ResultCstNode[];
methodDeclarator: MethodDeclaratorCstNode[];
throws?: ThrowsCstNode[];
};
export interface ResultCstNode extends CstNode {
name: "result";
children: ResultCtx;
}
export type ResultCtx = {
unannType?: UnannTypeCstNode[];
Void?: IToken[];
};
export interface MethodDeclaratorCstNode extends CstNode {
name: "methodDeclarator";
children: MethodDeclaratorCtx;
}
export type MethodDeclaratorCtx = {
Identifier: IToken[];
LBrace: IToken[];
formalParameterList?: FormalParameterListCstNode[];
RBrace: IToken[];
dims?: DimsCstNode[];
};
export interface ReceiverParameterCstNode extends CstNode {
name: "receiverParameter";
children: ReceiverParameterCtx;
}
export type ReceiverParameterCtx = {
annotation?: AnnotationCstNode[];
unannType: UnannTypeCstNode[];
Identifier?: IToken[];
Dot?: IToken[];
This: IToken[];
};
export interface FormalParameterListCstNode extends CstNode {
name: "formalParameterList";
children: FormalParameterListCtx;
}
export type FormalParameterListCtx = {
formalParameter: FormalParameterCstNode[];
Comma?: IToken[];
};
export interface FormalParameterCstNode extends CstNode {
name: "formalParameter";
children: FormalParameterCtx;
}
export type FormalParameterCtx = {
variableParaRegularParameter?: VariableParaRegularParameterCstNode[];
variableArityParameter?: VariableArityParameterCstNode[];
};
export interface VariableParaRegularParameterCstNode extends CstNode {
name: "variableParaRegularParameter";
children: VariableParaRegularParameterCtx;
}
export type VariableParaRegularParameterCtx = {
variableModifier?: VariableModifierCstNode[];
unannType: UnannTypeCstNode[];
variableDeclaratorId: VariableDeclaratorIdCstNode[];
};
export interface VariableArityParameterCstNode extends CstNode {
name: "variableArityParameter";
children: VariableArityParameterCtx;
}
export type VariableArityParameterCtx = {
variableModifier?: VariableModifierCstNode[];
unannType: UnannTypeCstNode[];
annotation?: AnnotationCstNode[];
DotDotDot: IToken[];
Identifier: IToken[];
};
export interface VariableModifierCstNode extends CstNode {
name: "variableModifier";
children: VariableModifierCtx;
}
export type VariableModifierCtx = {
annotation?: AnnotationCstNode[];
Final?: IToken[];
};
export interface ThrowsCstNode extends CstNode {
name: "throws";
children: ThrowsCtx;
}
export type ThrowsCtx = {
Throws: IToken[];
exceptionTypeList: ExceptionTypeListCstNode[];
};
export interface ExceptionTypeListCstNode extends CstNode {
name: "exceptionTypeList";
children: ExceptionTypeListCtx;
}
export type ExceptionTypeListCtx = {
exceptionType: ExceptionTypeCstNode[];
Comma?: IToken[];
};
export interface ExceptionTypeCstNode extends CstNode {
name: "exceptionType";
children: ExceptionTypeCtx;
}
export type ExceptionTypeCtx = {
classType: ClassTypeCstNode[];
};
export interface MethodBodyCstNode extends CstNode {
name: "methodBody";
children: MethodBodyCtx;
}
export type MethodBodyCtx = {
block?: BlockCstNode[];
Semicolon?: IToken[];
};
export interface InstanceInitializerCstNode extends CstNode {
name: "instanceInitializer";
children: InstanceInitializerCtx;
}
export type InstanceInitializerCtx = {
block: BlockCstNode[];
};
export interface StaticInitializerCstNode extends CstNode {
name: "staticInitializer";
children: StaticInitializerCtx;
}
export type StaticInitializerCtx = {
Static: IToken[];
block: BlockCstNode[];
};
export interface ConstructorDeclarationCstNode extends CstNode {
name: "constructorDeclaration";
children: ConstructorDeclarationCtx;
}
export type ConstructorDeclarationCtx = {
constructorModifier?: ConstructorModifierCstNode[];
constructorDeclarator: ConstructorDeclaratorCstNode[];
throws?: ThrowsCstNode[];
constructorBody: ConstructorBodyCstNode[];
};
export interface ConstructorModifierCstNode extends CstNode {
name: "constructorModifier";
children: ConstructorModifierCtx;
}
export type ConstructorModifierCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
};
export interface ConstructorDeclaratorCstNode extends CstNode {
name: "constructorDeclarator";
children: ConstructorDeclaratorCtx;
}
export type ConstructorDeclaratorCtx = {
typeParameters?: TypeParametersCstNode[];
simpleTypeName: SimpleTypeNameCstNode[];
LBrace: IToken[];
receiverParameter?: ReceiverParameterCstNode[];
Comma?: IToken[];
formalParameterList?: FormalParameterListCstNode[];
RBrace: IToken[];
};
export interface SimpleTypeNameCstNode extends CstNode {
name: "simpleTypeName";
children: SimpleTypeNameCtx;
}
export type SimpleTypeNameCtx = {
Identifier: IToken[];
};
export interface ConstructorBodyCstNode extends CstNode {
name: "constructorBody";
children: ConstructorBodyCtx;
}
export type ConstructorBodyCtx = {
LCurly: IToken[];
explicitConstructorInvocation?: ExplicitConstructorInvocationCstNode[];
blockStatements?: BlockStatementsCstNode[];
RCurly: IToken[];
};
export interface ExplicitConstructorInvocationCstNode extends CstNode {
name: "explicitConstructorInvocation";
children: ExplicitConstructorInvocationCtx;
}
export type ExplicitConstructorInvocationCtx = {
unqualifiedExplicitConstructorInvocation?: UnqualifiedExplicitConstructorInvocationCstNode[];
qualifiedExplicitConstructorInvocation?: QualifiedExplicitConstructorInvocationCstNode[];
};
export interface UnqualifiedExplicitConstructorInvocationCstNode
extends CstNode {
name: "unqualifiedExplicitConstructorInvocation";
children: UnqualifiedExplicitConstructorInvocationCtx;
}
export type UnqualifiedExplicitConstructorInvocationCtx = {
typeArguments?: TypeArgumentsCstNode[];
This?: IToken[];
Super?: IToken[];
LBrace: IToken[];
argumentList?: ArgumentListCstNode[];
RBrace: IToken[];
Semicolon: IToken[];
};
export interface QualifiedExplicitConstructorInvocationCstNode extends CstNode {
name: "qualifiedExplicitConstructorInvocation";
children: QualifiedExplicitConstructorInvocationCtx;
}
export type QualifiedExplicitConstructorInvocationCtx = {
expressionName: ExpressionNameCstNode[];
Dot: IToken[];
typeArguments?: TypeArgumentsCstNode[];
Super: IToken[];
LBrace: IToken[];
argumentList?: ArgumentListCstNode[];
RBrace: IToken[];
Semicolon: IToken[];
};
export interface EnumDeclarationCstNode extends CstNode {
name: "enumDeclaration";
children: EnumDeclarationCtx;
}
export type EnumDeclarationCtx = {
classModifier?: ClassModifierCstNode[];
Enum: IToken[];
typeIdentifier: TypeIdentifierCstNode[];
superinterfaces?: SuperinterfacesCstNode[];
enumBody: EnumBodyCstNode[];
};
export interface EnumBodyCstNode extends CstNode {
name: "enumBody";
children: EnumBodyCtx;
}
export type EnumBodyCtx = {
LCurly: IToken[];
enumConstantList?: EnumConstantListCstNode[];
Comma?: IToken[];
enumBodyDeclarations?: EnumBodyDeclarationsCstNode[];
RCurly: IToken[];
};
export interface EnumConstantListCstNode extends CstNode {
name: "enumConstantList";
children: EnumConstantListCtx;
}
export type EnumConstantListCtx = {
enumConstant: EnumConstantCstNode[];
Comma?: IToken[];
};
export interface EnumConstantCstNode extends CstNode {
name: "enumConstant";
children: EnumConstantCtx;
}
export type EnumConstantCtx = {
enumConstantModifier?: EnumConstantModifierCstNode[];
Identifier: IToken[];
LBrace?: IToken[];
argumentList?: ArgumentListCstNode[];
RBrace?: IToken[];
classBody?: ClassBodyCstNode[];
};
export interface EnumConstantModifierCstNode extends CstNode {
name: "enumConstantModifier";
children: EnumConstantModifierCtx;
}
export type EnumConstantModifierCtx = {
annotation: AnnotationCstNode[];
};
export interface EnumBodyDeclarationsCstNode extends CstNode {
name: "enumBodyDeclarations";
children: EnumBodyDeclarationsCtx;
}
export type EnumBodyDeclarationsCtx = {
Semicolon: IToken[];
classBodyDeclaration?: ClassBodyDeclarationCstNode[];
};
export interface RecordDeclarationCstNode extends CstNode {
name: "recordDeclaration";
children: RecordDeclarationCtx;
}
export type RecordDeclarationCtx = {
Record: IToken[];
typeIdentifier: TypeIdentifierCstNode[];
typeParameters?: TypeParametersCstNode[];
recordHeader: RecordHeaderCstNode[];
superinterfaces?: SuperinterfacesCstNode[];
recordBody: RecordBodyCstNode[];
};
export interface RecordHeaderCstNode extends CstNode {
name: "recordHeader";
children: RecordHeaderCtx;
}
export type RecordHeaderCtx = {
LBrace: IToken[];
recordComponentList?: RecordComponentListCstNode[];
RBrace: IToken[];
};
export interface RecordComponentListCstNode extends CstNode {
name: "recordComponentList";
children: RecordComponentListCtx;
}
export type RecordComponentListCtx = {
recordComponent: RecordComponentCstNode[];
Comma?: IToken[];
};
export interface RecordComponentCstNode extends CstNode {
name: "recordComponent";
children: RecordComponentCtx;
}
export type RecordComponentCtx = {
recordComponentModifier?: RecordComponentModifierCstNode[];
unannType: UnannTypeCstNode[];
Identifier?: IToken[];
variableArityRecordComponent?: VariableArityRecordComponentCstNode[];
};
export interface VariableArityRecordComponentCstNode extends CstNode {
name: "variableArityRecordComponent";
children: VariableArityRecordComponentCtx;
}
export type VariableArityRecordComponentCtx = {
annotation?: AnnotationCstNode[];
DotDotDot: IToken[];
Identifier: IToken[];
};
export interface RecordComponentModifierCstNode extends CstNode {
name: "recordComponentModifier";
children: RecordComponentModifierCtx;
}
export type RecordComponentModifierCtx = {
annotation: AnnotationCstNode[];
};
export interface RecordBodyCstNode extends CstNode {
name: "recordBody";
children: RecordBodyCtx;
}
export type RecordBodyCtx = {
LCurly: IToken[];
recordBodyDeclaration?: RecordBodyDeclarationCstNode[];
RCurly: IToken[];
};
export interface RecordBodyDeclarationCstNode extends CstNode {
name: "recordBodyDeclaration";
children: RecordBodyDeclarationCtx;
}
export type RecordBodyDeclarationCtx = {
compactConstructorDeclaration?: CompactConstructorDeclarationCstNode[];
classBodyDeclaration?: ClassBodyDeclarationCstNode[];
};
export interface CompactConstructorDeclarationCstNode extends CstNode {
name: "compactConstructorDeclaration";
children: CompactConstructorDeclarationCtx;
}
export type CompactConstructorDeclarationCtx = {
constructorModifier?: ConstructorModifierCstNode[];
simpleTypeName: SimpleTypeNameCstNode[];
constructorBody: ConstructorBodyCstNode[];
};
export interface IsClassDeclarationCstNode extends CstNode {
name: "isClassDeclaration";
children: IsClassDeclarationCtx;
}
export type IsClassDeclarationCtx = {
Semicolon?: IToken[];
classModifier?: ClassModifierCstNode[];
};
export interface IdentifyClassBodyDeclarationTypeCstNode extends CstNode {
name: "identifyClassBodyDeclarationType";
children: IdentifyClassBodyDeclarationTypeCtx;
}
export type IdentifyClassBodyDeclarationTypeCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
Abstract?: IToken[];
Static?: IToken[];
Final?: IToken[];
Transient?: IToken[];
Volatile?: IToken[];
Synchronized?: IToken[];
Native?: IToken[];
Strictfp?: IToken[];
unannType: UnannTypeCstNode[];
};
export interface IsDimsCstNode extends CstNode {
name: "isDims";
children: IsDimsCtx;
}
export type IsDimsCtx = {
At?: IToken[];
typeName?: TypeNameCstNode[];
LBrace?: IToken[];
elementValuePairList?: ElementValuePairListCstNode[];
elementValue?: ElementValueCstNode[];
RBrace?: IToken[];
};
export interface IsCompactConstructorDeclarationCstNode extends CstNode {
name: "isCompactConstructorDeclaration";
children: IsCompactConstructorDeclarationCtx;
}
export type IsCompactConstructorDeclarationCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
simpleTypeName: SimpleTypeNameCstNode[];
LCurly: IToken[];
};
export interface CompilationUnitCstNode extends CstNode {
name: "compilationUnit";
children: CompilationUnitCtx;
}
export type AbstractOrdinaryCompilationUnitCtx = {
ordinaryCompilationUnit: OrdinaryCompilationUnitCstNode[];
EOF: IToken[];
};
export type AbstractModularCompilationUnitCtx = {
modularCompilationUnit: OrdinaryCompilationUnitCstNode[];
EOF: IToken[];
};
export type CompilationUnitCtx =
| AbstractOrdinaryCompilationUnitCtx
| AbstractModularCompilationUnitCtx;
export interface OrdinaryCompilationUnitCstNode extends CstNode {
name: "ordinaryCompilationUnit";
children: OrdinaryCompilationUnitCtx;
}
export type OrdinaryCompilationUnitCtx = {
packageDeclaration?: PackageDeclarationCstNode[];
importDeclaration?: ImportDeclarationCstNode[];
typeDeclaration?: TypeDeclarationCstNode[];
};
export interface ModularCompilationUnitCstNode extends CstNode {
name: "modularCompilationUnit";
children: ModularCompilationUnitCtx;
}
export type ModularCompilationUnitCtx = {
importDeclaration?: ImportDeclarationCstNode[];
moduleDeclaration: ModuleDeclarationCstNode[];
};
export interface PackageDeclarationCstNode extends CstNode {
name: "packageDeclaration";
children: PackageDeclarationCtx;
}
export type PackageDeclarationCtx = {
packageModifier?: PackageModifierCstNode[];
Package: IToken[];
Identifier: IToken[];
Dot?: IToken[];
Semicolon: IToken[];
};
export interface PackageModifierCstNode extends CstNode {
name: "packageModifier";
children: PackageModifierCtx;
}
export type PackageModifierCtx = {
annotation: AnnotationCstNode[];
};
export interface ImportDeclarationCstNode extends CstNode {
name: "importDeclaration";
children: ImportDeclarationCtx;
}
export type ImportDeclarationCtx = {
Import?: IToken[];
Static?: IToken[];
packageOrTypeName?: PackageOrTypeNameCstNode[];
Dot?: IToken[];
Star?: IToken[];
Semicolon?: IToken[];
emptyStatement?: EmptyStatementCstNode[];
};
export interface TypeDeclarationCstNode extends CstNode {
name: "typeDeclaration";
children: TypeDeclarationCtx;
}
export type TypeDeclarationCtx = {
classDeclaration?: ClassDeclarationCstNode[];
interfaceDeclaration?: InterfaceDeclarationCstNode[];
Semicolon?: IToken[];
};
export interface ModuleDeclarationCstNode extends CstNode {
name: "moduleDeclaration";
children: ModuleDeclarationCtx;
}
export type ModuleDeclarationCtx = {
annotation?: AnnotationCstNode[];
Open?: IToken[];
Module: IToken[];
Identifier: IToken[];
Dot?: IToken[];
LCurly: IToken[];
moduleDirective?: ModuleDirectiveCstNode[];
RCurly: IToken[];
};
export interface ModuleDirectiveCstNode extends CstNode {
name: "moduleDirective";
children: ModuleDirectiveCtx;
}
export type ModuleDirectiveCtx = {
requiresModuleDirective?: RequiresModuleDirectiveCstNode[];
exportsModuleDirective?: ExportsModuleDirectiveCstNode[];
opensModuleDirective?: OpensModuleDirectiveCstNode[];
usesModuleDirective?: UsesModuleDirectiveCstNode[];
providesModuleDirective?: ProvidesModuleDirectiveCstNode[];
};
export interface RequiresModuleDirectiveCstNode extends CstNode {
name: "requiresModuleDirective";
children: RequiresModuleDirectiveCtx;
}
export type RequiresModuleDirectiveCtx = {
Requires: IToken[];
requiresModifier?: RequiresModifierCstNode[];
moduleName: ModuleNameCstNode[];
Semicolon: IToken[];
};
export interface ExportsModuleDirectiveCstNode extends CstNode {
name: "exportsModuleDirective";
children: ExportsModuleDirectiveCtx;
}
export type ExportsModuleDirectiveCtx = {
Exports: IToken[];
packageName: PackageNameCstNode[];
To?: IToken[];
moduleName?: ModuleNameCstNode[];
Comma?: IToken[];
Semicolon: IToken[];
};
export interface OpensModuleDirectiveCstNode extends CstNode {
name: "opensModuleDirective";
children: OpensModuleDirectiveCtx;
}
export type OpensModuleDirectiveCtx = {
Opens: IToken[];
packageName: PackageNameCstNode[];
To?: IToken[];
moduleName?: ModuleNameCstNode[];
Comma?: IToken[];
Semicolon: IToken[];
};
export interface UsesModuleDirectiveCstNode extends CstNode {
name: "usesModuleDirective";
children: UsesModuleDirectiveCtx;
}
export type UsesModuleDirectiveCtx = {
Uses: IToken[];
typeName: TypeNameCstNode[];
Semicolon: IToken[];
};
export interface ProvidesModuleDirectiveCstNode extends CstNode {
name: "providesModuleDirective";
children: ProvidesModuleDirectiveCtx;
}
export type ProvidesModuleDirectiveCtx = {
Provides: IToken[];
typeName: TypeNameCstNode[];
With: IToken[];
Comma?: IToken[];
Semicolon: IToken[];
};
export interface RequiresModifierCstNode extends CstNode {
name: "requiresModifier";
children: RequiresModifierCtx;
}
export type RequiresModifierCtx = {
Transitive?: IToken[];
Static?: IToken[];
};
export interface IsModuleCompilationUnitCstNode extends CstNode {
name: "isModuleCompilationUnit";
children: IsModuleCompilationUnitCtx;
}
export type IsModuleCompilationUnitCtx = {
packageDeclaration?: PackageDeclarationCstNode[];
importDeclaration?: ImportDeclarationCstNode[];
annotation?: AnnotationCstNode[];
};
export interface InterfaceDeclarationCstNode extends CstNode {
name: "interfaceDeclaration";
children: InterfaceDeclarationCtx;
}
export type InterfaceDeclarationCtx = {
interfaceModifier?: InterfaceModifierCstNode[];
normalInterfaceDeclaration?: NormalInterfaceDeclarationCstNode[];
annotationTypeDeclaration?: AnnotationTypeDeclarationCstNode[];
};
export interface NormalInterfaceDeclarationCstNode extends CstNode {
name: "normalInterfaceDeclaration";
children: NormalInterfaceDeclarationCtx;
}
export type NormalInterfaceDeclarationCtx = {
Interface: IToken[];
typeIdentifier: TypeIdentifierCstNode[];
typeParameters?: TypeParametersCstNode[];
extendsInterfaces?: ExtendsInterfacesCstNode[];
interfacePermits?: InterfacePermitsCstNode[];
interfaceBody: InterfaceBodyCstNode[];
};
export interface InterfaceModifierCstNode extends CstNode {
name: "interfaceModifier";
children: InterfaceModifierCtx;
}
export type InterfaceModifierCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
Abstract?: IToken[];
Static?: IToken[];
Sealed?: IToken[];
NonSealed?: IToken[];
Strictfp?: IToken[];
};
export interface ExtendsInterfacesCstNode extends CstNode {
name: "extendsInterfaces";
children: ExtendsInterfacesCtx;
}
export type ExtendsInterfacesCtx = {
Extends: IToken[];
interfaceTypeList: InterfaceTypeListCstNode[];
};
export interface InterfacePermitsCstNode extends CstNode {
name: "interfacePermits";
children: InterfacePermitsCtx;
}
export type InterfacePermitsCtx = {
Permits: IToken[];
typeName: TypeNameCstNode[];
Comma?: IToken[];
};
export interface InterfaceBodyCstNode extends CstNode {
name: "interfaceBody";
children: InterfaceBodyCtx;
}
export type InterfaceBodyCtx = {
LCurly: IToken[];
interfaceMemberDeclaration?: InterfaceMemberDeclarationCstNode[];
RCurly: IToken[];
};
export interface InterfaceMemberDeclarationCstNode extends CstNode {
name: "interfaceMemberDeclaration";
children: InterfaceMemberDeclarationCtx;
}
export type InterfaceMemberDeclarationCtx = {
constantDeclaration?: ConstantDeclarationCstNode[];
interfaceMethodDeclaration?: InterfaceMethodDeclarationCstNode[];
classDeclaration?: ClassDeclarationCstNode[];
interfaceDeclaration?: InterfaceDeclarationCstNode[];
Semicolon?: IToken[];
};
export interface ConstantDeclarationCstNode extends CstNode {
name: "constantDeclaration";
children: ConstantDeclarationCtx;
}
export type ConstantDeclarationCtx = {
constantModifier?: ConstantModifierCstNode[];
unannType: UnannTypeCstNode[];
variableDeclaratorList: VariableDeclaratorListCstNode[];
Semicolon: IToken[];
};
export interface ConstantModifierCstNode extends CstNode {
name: "constantModifier";
children: ConstantModifierCtx;
}
export type ConstantModifierCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Static?: IToken[];
Final?: IToken[];
};
export interface InterfaceMethodDeclarationCstNode extends CstNode {
name: "interfaceMethodDeclaration";
children: InterfaceMethodDeclarationCtx;
}
export type InterfaceMethodDeclarationCtx = {
interfaceMethodModifier?: InterfaceMethodModifierCstNode[];
methodHeader: MethodHeaderCstNode[];
methodBody: MethodBodyCstNode[];
};
export interface InterfaceMethodModifierCstNode extends CstNode {
name: "interfaceMethodModifier";
children: InterfaceMethodModifierCtx;
}
export type InterfaceMethodModifierCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Private?: IToken[];
Abstract?: IToken[];
Default?: IToken[];
Static?: IToken[];
Strictfp?: IToken[];
};
export interface AnnotationTypeDeclarationCstNode extends CstNode {
name: "annotationTypeDeclaration";
children: AnnotationTypeDeclarationCtx;
}
export type AnnotationTypeDeclarationCtx = {
At: IToken[];
Interface: IToken[];
typeIdentifier: TypeIdentifierCstNode[];
annotationTypeBody: AnnotationTypeBodyCstNode[];
};
export interface AnnotationTypeBodyCstNode extends CstNode {
name: "annotationTypeBody";
children: AnnotationTypeBodyCtx;
}
export type AnnotationTypeBodyCtx = {
LCurly: IToken[];
annotationTypeMemberDeclaration?: AnnotationTypeMemberDeclarationCstNode[];
RCurly: IToken[];
};
export interface AnnotationTypeMemberDeclarationCstNode extends CstNode {
name: "annotationTypeMemberDeclaration";
children: AnnotationTypeMemberDeclarationCtx;
}
export type AnnotationTypeMemberDeclarationCtx = {
annotationTypeElementDeclaration?: AnnotationTypeElementDeclarationCstNode[];
constantDeclaration?: ConstantDeclarationCstNode[];
classDeclaration?: ClassDeclarationCstNode[];
interfaceDeclaration?: InterfaceDeclarationCstNode[];
Semicolon?: IToken[];
};
export interface AnnotationTypeElementDeclarationCstNode extends CstNode {
name: "annotationTypeElementDeclaration";
children: AnnotationTypeElementDeclarationCtx;
}
export type AnnotationTypeElementDeclarationCtx = {
annotationTypeElementModifier?: AnnotationTypeElementModifierCstNode[];
unannType: UnannTypeCstNode[];
Identifier: IToken[];
LBrace: IToken[];
RBrace: IToken[];
dims?: DimsCstNode[];
defaultValue?: DefaultValueCstNode[];
Semicolon: IToken[];
};
export interface AnnotationTypeElementModifierCstNode extends CstNode {
name: "annotationTypeElementModifier";
children: AnnotationTypeElementModifierCtx;
}
export type AnnotationTypeElementModifierCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Abstract?: IToken[];
};
export interface DefaultValueCstNode extends CstNode {
name: "defaultValue";
children: DefaultValueCtx;
}
export type DefaultValueCtx = {
Default: IToken[];
elementValue: ElementValueCstNode[];
};
export interface AnnotationCstNode extends CstNode {
name: "annotation";
children: AnnotationCtx;
}
export type AnnotationCtx = {
At: IToken[];
typeName: TypeNameCstNode[];
LBrace?: IToken[];
elementValuePairList?: ElementValuePairListCstNode[];
elementValue?: ElementValueCstNode[];
RBrace?: IToken[];
};
export interface ElementValuePairListCstNode extends CstNode {
name: "elementValuePairList";
children: ElementValuePairListCtx;
}
export type ElementValuePairListCtx = {
elementValuePair: ElementValuePairCstNode[];
Comma?: IToken[];
};
export interface ElementValuePairCstNode extends CstNode {
name: "elementValuePair";
children: ElementValuePairCtx;
}
export type ElementValuePairCtx = {
Identifier: IToken[];
Equals: IToken[];
elementValue: ElementValueCstNode[];
};
export interface ElementValueCstNode extends CstNode {
name: "elementValue";
children: ElementValueCtx;
}
export type ElementValueCtx = {
expression?: ExpressionCstNode[];
elementValueArrayInitializer?: ElementValueArrayInitializerCstNode[];
annotation?: AnnotationCstNode[];
};
export interface ElementValueArrayInitializerCstNode extends CstNode {
name: "elementValueArrayInitializer";
children: ElementValueArrayInitializerCtx;
}
export type ElementValueArrayInitializerCtx = {
LCurly: IToken[];
elementValueList?: ElementValueListCstNode[];
Comma?: IToken[];
RCurly: IToken[];
};
export interface ElementValueListCstNode extends CstNode {
name: "elementValueList";
children: ElementValueListCtx;
}
export type ElementValueListCtx = {
elementValue: ElementValueCstNode[];
Comma?: IToken[];
};
export interface IdentifyInterfaceBodyDeclarationTypeCstNode extends CstNode {
name: "identifyInterfaceBodyDeclarationType";
children: IdentifyInterfaceBodyDeclarationTypeCtx;
}
export type IdentifyInterfaceBodyDeclarationTypeCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
Static?: IToken[];
Final?: IToken[];
Abstract?: IToken[];
Default?: IToken[];
Strictfp?: IToken[];
unannType: UnannTypeCstNode[];
};
export interface IdentifyAnnotationBodyDeclarationTypeCstNode extends CstNode {
name: "identifyAnnotationBodyDeclarationType";
children: IdentifyAnnotationBodyDeclarationTypeCtx;
}
export type IdentifyAnnotationBodyDeclarationTypeCtx = {
annotation?: AnnotationCstNode[];
Public?: IToken[];
Protected?: IToken[];
Private?: IToken[];
Abstract?: IToken[];
Static?: IToken[];
Final?: IToken[];
Strictfp?: IToken[];
unannType: UnannTypeCstNode[];
};
export interface IsSimpleElementValueAnnotationCstNode extends CstNode {
name: "isSimpleElementValueAnnotation";
children: IsSimpleElementValueAnnotationCtx;
}
export type IsSimpleElementValueAnnotationCtx = {
annotation: AnnotationCstNode[];
};
export interface ArrayInitializerCstNode extends CstNode {
name: "arrayInitializer";
children: ArrayInitializerCtx;
}
export type ArrayInitializerCtx = {
LCurly: IToken[];
variableInitializerList?: VariableInitializerListCstNode[];
Comma?: IToken[];
RCurly: IToken[];
};
export interface VariableInitializerListCstNode extends CstNode {
name: "variableInitializerList";
children: VariableInitializerListCtx;
}
export type VariableInitializerListCtx = {
variableInitializer: VariableInitializerCstNode[];
Comma?: IToken[];
};
export interface BlockCstNode extends CstNode {
name: "block";
children: BlockCtx;
}
export type BlockCtx = {
LCurly: IToken[];
blockStatements?: BlockStatementsCstNode[];
RCurly: IToken[];
};
export interface BlockStatementsCstNode extends CstNode {
name: "blockStatements";
children: BlockStatementsCtx;
}
export type BlockStatementsCtx = {
blockStatement: BlockStatementCstNode[];
};
export interface BlockStatementCstNode extends CstNode {
name: "blockStatement";
children: BlockStatementCtx;
}
export type BlockStatementCtx = {
localVariableDeclarationStatement?: LocalVariableDeclarationStatementCstNode[];
classDeclaration?: ClassDeclarationCstNode[];
interfaceDeclaration?: InterfaceDeclarationCstNode[];
statement?: StatementCstNode[];
};
export interface LocalVariableDeclarationStatementCstNode extends CstNode {
name: "localVariableDeclarationStatement";
children: LocalVariableDeclarationStatementCtx;
}
export type LocalVariableDeclarationStatementCtx = {
localVariableDeclaration: LocalVariableDeclarationCstNode[];
Semicolon: IToken[];
};
export interface LocalVariableDeclarationCstNode extends CstNode {
name: "localVariableDeclaration";
children: LocalVariableDeclarationCtx;
}
export type LocalVariableDeclarationCtx = {
variableModifier?: VariableModifierCstNode[];
localVariableType: LocalVariableTypeCstNode[];
variableDeclaratorList: VariableDeclaratorListCstNode[];
};
export interface LocalVariableTypeCstNode extends CstNode {
name: "localVariableType";
children: LocalVariableTypeCtx;
}
export type LocalVariableTypeCtx = {
unannType?: UnannTypeCstNode[];
Var?: IToken[];
};
export interface StatementCstNode extends CstNode {
name: "statement";
children: StatementCtx;
}
export type StatementCtx = {
statementWithoutTrailingSubstatement?: StatementWithoutTrailingSubstatementCstNode[];
labeledStatement?: LabeledStatementCstNode[];
ifStatement?: IfStatementCstNode[];
whileStatement?: WhileStatementCstNode[];
forStatement?: ForStatementCstNode[];
};
export interface StatementWithoutTrailingSubstatementCstNode extends CstNode {
name: "statementWithoutTrailingSubstatement";
children: StatementWithoutTrailingSubstatementCtx;
}
export type StatementWithoutTrailingSubstatementCtx = {
block?: BlockCstNode[];
yieldStatement?: YieldStatementCstNode[];
emptyStatement?: EmptyStatementCstNode[];
expressionStatement?: ExpressionStatementCstNode[];
assertStatement?: AssertStatementCstNode[];
switchStatement?: SwitchStatementCstNode[];
doStatement?: DoStatementCstNode[];
breakStatement?: BreakStatementCstNode[];
continueStatement?: ContinueStatementCstNode[];
returnStatement?: ReturnStatementCstNode[];
synchronizedStatement?: SynchronizedStatementCstNode[];
throwStatement?: ThrowStatementCstNode[];
tryStatement?: TryStatementCstNode[];
};
export interface EmptyStatementCstNode extends CstNode {
name: "emptyStatement";
children: EmptyStatementCtx;
}
export type EmptyStatementCtx = {
Semicolon: IToken[];
};
export interface LabeledStatementCstNode extends CstNode {
name: "labeledStatement";
children: LabeledStatementCtx;
}
export type LabeledStatementCtx = {
Identifier: IToken[];
Colon: IToken[];
statement: StatementCstNode[];
};
export interface ExpressionStatementCstNode extends CstNode {
name: "expressionStatement";
children: ExpressionStatementCtx;
}
export type ExpressionStatementCtx = {
statementExpression: StatementExpressionCstNode[];
Semicolon: IToken[];
};
export interface StatementExpressionCstNode extends CstNode {
name: "statementExpression";
children: StatementExpressionCtx;
}
export type StatementExpressionCtx = {
expression: ExpressionCstNode[];
};
export interface IfStatementCstNode extends CstNode {
name: "ifStatement";
children: IfStatementCtx;
}
export type IfStatementCtx = {
If: IToken[];
LBrace: IToken[];
expression: ExpressionCstNode[];
RBrace: IToken[];
statement: StatementCstNode[];
Else?: IToken[];
};
export interface AssertStatementCstNode extends CstNode {
name: "assertStatement";
children: AssertStatementCtx;
}
export type AssertStatementCtx = {
Assert: IToken[];
expression: ExpressionCstNode[];
Colon?: IToken[];
Semicolon: IToken[];
};
export interface SwitchStatementCstNode extends CstNode {
name: "switchStatement";
children: SwitchStatementCtx;
}
export type SwitchStatementCtx = {
Switch: IToken[];
LBrace: IToken[];
expression: ExpressionCstNode[];
RBrace: IToken[];
switchBlock: SwitchBlockCstNode[];
};
export interface SwitchBlockCstNode extends CstNode {
name: "switchBlock";
children: SwitchBlockCtx;
}
export type SwitchBlockCtx = {
LCurly: IToken[];
switchBlockStatementGroup?: SwitchBlockStatementGroupCstNode[];
switchRule?: SwitchRuleCstNode[];
RCurly: IToken[];
};
export interface SwitchBlockStatementGroupCstNode extends CstNode {
name: "switchBlockStatementGroup";
children: SwitchBlockStatementGroupCtx;
}
export type SwitchBlockStatementGroupCtx = {
switchLabel: SwitchLabelCstNode[];
Colon: IToken[];
blockStatements: BlockStatementsCstNode[];
};
export interface SwitchLabelCstNode extends CstNode {
name: "switchLabel";
children: SwitchLabelCtx;
}
export type SwitchLabelCtx = {
caseOrDefaultLabel: CaseOrDefaultLabelCstNode[];
Colon?: IToken[];
};
export interface CaseOrDefaultLabelCstNode extends CstNode {
name: "caseOrDefaultLabel";
children: CaseOrDefaultLabelCtx;
}
export type CaseOrDefaultLabelCtx = {
Case?: IToken[];
caseLabelElement?: CaseLabelElementCstNode[];
Comma?: IToken[];
Default?: IToken[];
};
export interface CaseLabelElementCstNode extends CstNode {
name: "caseLabelElement";
children: CaseLabelElementCtx;
}
export type CaseLabelElementCtx = {
caseConstant?: CaseConstantCstNode[];
pattern?: PatternCstNode[];
Null?: IToken[];
Default?: IToken[];
};
export interface SwitchRuleCstNode extends CstNode {
name: "switchRule";
children: SwitchRuleCtx;
}
export type SwitchRuleCtx = {
switchLabel: SwitchLabelCstNode[];
Arrow: IToken[];
throwStatement?: ThrowStatementCstNode[];
block?: BlockCstNode[];
expression?: ExpressionCstNode[];
Semicolon?: IToken[];
};
export interface CaseConstantCstNode extends CstNode {
name: "caseConstant";
children: CaseConstantCtx;
}
export type CaseConstantCtx = {
ternaryExpression: TernaryExpressionCstNode[];
};
export interface WhileStatementCstNode extends CstNode {
name: "whileStatement";
children: WhileStatementCtx;
}
export type WhileStatementCtx = {
While: IToken[];
LBrace: IToken[];
expression: ExpressionCstNode[];
RBrace: IToken[];
statement: StatementCstNode[];
};
export interface DoStatementCstNode extends CstNode {
name: "doStatement";
children: DoStatementCtx;
}
export type DoStatementCtx = {
Do: IToken[];
statement: StatementCstNode[];
While: IToken[];
LBrace: IToken[];
expression: ExpressionCstNode[];
RBrace: IToken[];
Semicolon: IToken[];
};
export interface ForStatementCstNode extends CstNode {
name: "forStatement";
children: ForStatementCtx;
}
export type ForStatementCtx = {
basicForStatement?: BasicForStatementCstNode[];
enhancedForStatement?: EnhancedForStatementCstNode[];
};
export interface BasicForStatementCstNode extends CstNode {
name: "basicForStatement";
children: BasicForStatementCtx;
}
export type BasicForStatementCtx = {
For: IToken[];
LBrace: IToken[];
forInit?: ForInitCstNode[];
Semicolon: IToken[];
expression?: ExpressionCstNode[];
forUpdate?: ForUpdateCstNode[];
RBrace: IToken[];
statement: StatementCstNode[];
};
export interface ForInitCstNode extends CstNode {
name: "forInit";
children: ForInitCtx;
}
export type ForInitCtx = {
localVariableDeclaration?: LocalVariableDeclarationCstNode[];
statementExpressionList?: StatementExpressionListCstNode[];
};
export interface ForUpdateCstNode extends CstNode {
name: "forUpdate";
children: ForUpdateCtx;
}
export type ForUpdateCtx = {
statementExpressionList: StatementExpressionListCstNode[];
};
export interface StatementExpressionListCstNode extends CstNode {
name: "statementExpressionList";
children: StatementExpressionListCtx;
}
export type StatementExpressionListCtx = {
statementExpression: StatementExpressionCstNode[];
Comma?: IToken[];
};
export interface EnhancedForStatementCstNode extends CstNode {
name: "enhancedForStatement";
children: EnhancedForStatementCtx;
}
export type EnhancedForStatementCtx = {
For: IToken[];
LBrace: IToken[];
variableModifier?: VariableModifierCstNode[];
localVariableType: LocalVariableTypeCstNode[];
variableDeclaratorId: VariableDeclaratorIdCstNode[];
Colon: IToken[];
expression: ExpressionCstNode[];
RBrace: IToken[];
statement: StatementCstNode[];
};
export interface BreakStatementCstNode extends CstNode {
name: "breakStatement";
children: BreakStatementCtx;
}
export type BreakStatementCtx = {
Break: IToken[];
Identifier?: IToken[];
Semicolon: IToken[];
};
export interface ContinueStatementCstNode extends CstNode {
name: "continueStatement";
children: ContinueStatementCtx;
}
export type ContinueStatementCtx = {
Continue: IToken[];
Identifier?: IToken[];
Semicolon: IToken[];
};
export interface ReturnStatementCstNode extends CstNode {
name: "returnStatement";
children: ReturnStatementCtx;
}
export type ReturnStatementCtx = {
Return: IToken[];
expression?: ExpressionCstNode[];
Semicolon: IToken[];
};
export interface ThrowStatementCstNode extends CstNode {
name: "throwStatement";
children: ThrowStatementCtx;
}
export type ThrowStatementCtx = {
Throw: IToken[];
expression: ExpressionCstNode[];
Semicolon: IToken[];
};
export interface SynchronizedStatementCstNode extends CstNode {
name: "synchronizedStatement";
children: SynchronizedStatementCtx;
}
export type SynchronizedStatementCtx = {
Synchronized: IToken[];
LBrace: IToken[];
expression: ExpressionCstNode[];
RBrace: IToken[];
block: BlockCstNode[];
};
export interface TryStatementCstNode extends CstNode {
name: "tryStatement";
children: TryStatementCtx;
}
export type TryStatementCtx = {
Try?: IToken[];
block?: BlockCstNode[];
catches?: CatchesCstNode[];
finally?: FinallyCstNode[];
tryWithResourcesStatement?: TryWithResourcesStatementCstNode[];
};
export interface CatchesCstNode extends CstNode {
name: "catches";
children: CatchesCtx;
}
export type CatchesCtx = {
catchClause: CatchClauseCstNode[];
};
export interface CatchClauseCstNode extends CstNode {
name: "catchClause";
children: CatchClauseCtx;
}
export type CatchClauseCtx = {
Catch: IToken[];
LBrace: IToken[];
catchFormalParameter: CatchFormalParameterCstNode[];
RBrace: IToken[];
block: BlockCstNode[];
};
export interface CatchFormalParameterCstNode extends CstNode {
name: "catchFormalParameter";
children: CatchFormalParameterCtx;
}
export type CatchFormalParameterCtx = {
variableModifier?: VariableModifierCstNode[];
catchType: CatchTypeCstNode[];
variableDeclaratorId: VariableDeclaratorIdCstNode[];
};
export interface CatchTypeCstNode extends CstNode {
name: "catchType";
children: CatchTypeCtx;
}
export type CatchTypeCtx = {
unannClassType: UnannClassTypeCstNode[];
Or?: IToken[];
classType?: ClassTypeCstNode[];
};
export interface FinallyCstNode extends CstNode {
name: "finally";
children: FinallyCtx;
}
export type FinallyCtx = {
Finally: IToken[];
block: BlockCstNode[];
};
export interface TryWithResourcesStatementCstNode extends CstNode {
name: "tryWithResourcesStatement";
children: TryWithResourcesStatementCtx;
}
export type TryWithResourcesStatementCtx = {
Try: IToken[];
resourceSpecification: ResourceSpecificationCstNode[];
block: BlockCstNode[];
catches?: CatchesCstNode[];
finally?: FinallyCstNode[];
};
export interface ResourceSpecificationCstNode extends CstNode {
name: "resourceSpecification";
children: ResourceSpecificationCtx;
}
export type ResourceSpecificationCtx = {
LBrace: IToken[];
resourceList: ResourceListCstNode[];
Semicolon?: IToken[];
RBrace: IToken[];
};
export interface ResourceListCstNode extends CstNode {
name: "resourceList";
children: ResourceListCtx;
}
export type ResourceListCtx = {
resource: ResourceCstNode[];
Semicolon?: IToken[];
};
export interface ResourceCstNode extends CstNode {
name: "resource";
children: ResourceCtx;
}
export type ResourceCtx = {
resourceInit?: ResourceInitCstNode[];
variableAccess?: VariableAccessCstNode[];
};
export interface ResourceInitCstNode extends CstNode {
name: "resourceInit";
children: ResourceInitCtx;
}
export type ResourceInitCtx = {
variableModifier?: VariableModifierCstNode[];
localVariableType: LocalVariableTypeCstNode[];
Identifier: IToken[];
Equals: IToken[];
expression: ExpressionCstNode[];
};
export interface YieldStatementCstNode extends CstNode {
name: "yieldStatement";
children: YieldStatementCtx;
}
export type YieldStatementCtx = {
Yield: IToken[];
expression: ExpressionCstNode[];
Semicolon: IToken[];
};
export interface VariableAccessCstNode extends CstNode {
name: "variableAccess";
children: VariableAccessCtx;
}
export type VariableAccessCtx = {
primary: PrimaryCstNode[];
};
export interface IsBasicForStatementCstNode extends CstNode {
name: "isBasicForStatement";
children: IsBasicForStatementCtx;
}
export type IsBasicForStatementCtx = {
For: IToken[];
LBrace: IToken[];
forInit?: ForInitCstNode[];
Semicolon: IToken[];
};
export interface IsLocalVariableDeclarationCstNode extends CstNode {
name: "isLocalVariableDeclaration";
children: IsLocalVariableDeclarationCtx;
}
export type IsLocalVariableDeclarationCtx = {
variableModifier?: VariableModifierCstNode[];
localVariableType: LocalVariableTypeCstNode[];
variableDeclaratorId: VariableDeclaratorIdCstNode[];
};
export interface IsClassicSwitchLabelCstNode extends CstNode {
name: "isClassicSwitchLabel";
children: IsClassicSwitchLabelCtx;
}
export type IsClassicSwitchLabelCtx = {
switchLabel: SwitchLabelCstNode[];
Colon: IToken[];
};
export interface ExpressionCstNode extends CstNode {
name: "expression";
children: ExpressionCtx;
}
export type ExpressionCtx = {
lambdaExpression?: LambdaExpressionCstNode[];
ternaryExpression?: TernaryExpressionCstNode[];
};
export interface LambdaExpressionCstNode extends CstNode {
name: "lambdaExpression";
children: LambdaExpressionCtx;
}
export type LambdaExpressionCtx = {
lambdaParameters: LambdaParametersCstNode[];
Arrow: IToken[];
lambdaBody: LambdaBodyCstNode[];
};
export interface LambdaParametersCstNode extends CstNode {
name: "lambdaParameters";
children: LambdaParametersCtx;
}
export type LambdaParametersCtx = {
lambdaParametersWithBraces?: LambdaParametersWithBracesCstNode[];
Identifier?: IToken[];
};
export interface LambdaParametersWithBracesCstNode extends CstNode {
name: "lambdaParametersWithBraces";
children: LambdaParametersWithBracesCtx;
}
export type LambdaParametersWithBracesCtx = {
LBrace: IToken[];
lambdaParameterList?: LambdaParameterListCstNode[];
RBrace: IToken[];
};
export interface LambdaParameterListCstNode extends CstNode {
name: "lambdaParameterList";
children: LambdaParameterListCtx;
}
export type LambdaParameterListCtx = {
inferredLambdaParameterList?: InferredLambdaParameterListCstNode[];
explicitLambdaParameterList?: ExplicitLambdaParameterListCstNode[];
};
export interface InferredLambdaParameterListCstNode extends CstNode {
name: "inferredLambdaParameterList";
children: InferredLambdaParameterListCtx;
}
export type InferredLambdaParameterListCtx = {
Identifier: IToken[];
Comma?: IToken[];
};
export interface ExplicitLambdaParameterListCstNode extends CstNode {
name: "explicitLambdaParameterList";
children: ExplicitLambdaParameterListCtx;
}
export type ExplicitLambdaParameterListCtx = {
lambdaParameter: LambdaParameterCstNode[];
Comma?: IToken[];
};
export interface LambdaParameterCstNode extends CstNode {
name: "lambdaParameter";
children: LambdaParameterCtx;
}
export type LambdaParameterCtx = {
regularLambdaParameter?: RegularLambdaParameterCstNode[];
variableArityParameter?: VariableArityParameterCstNode[];
};
export interface RegularLambdaParameterCstNode extends CstNode {
name: "regularLambdaParameter";
children: RegularLambdaParameterCtx;
}
export type RegularLambdaParameterCtx = {
variableModifier?: VariableModifierCstNode[];
lambdaParameterType: LambdaParameterTypeCstNode[];
variableDeclaratorId: VariableDeclaratorIdCstNode[];
};
export interface LambdaParameterTypeCstNode extends CstNode {
name: "lambdaParameterType";
children: LambdaParameterTypeCtx;
}
export type LambdaParameterTypeCtx = {
unannType?: UnannTypeCstNode[];
Var?: IToken[];
};
export interface LambdaBodyCstNode extends CstNode {
name: "lambdaBody";
children: LambdaBodyCtx;
}
export type LambdaBodyCtx = {
expression?: ExpressionCstNode[];
block?: BlockCstNode[];
};
export interface TernaryExpressionCstNode extends CstNode {
name: "ternaryExpression";
children: TernaryExpressionCtx;
}
export type TernaryExpressionCtx = {
binaryExpression: BinaryExpressionCstNode[];
QuestionMark?: IToken[];
expression?: ExpressionCstNode[];
Colon?: IToken[];
};
export interface BinaryExpressionCstNode extends CstNode {
name: "binaryExpression";
children: BinaryExpressionCtx;
}
export type BinaryExpressionCtx = {
unaryExpression: UnaryExpressionCstNode[];
Instanceof?: IToken[];
pattern?: PatternCstNode[];
referenceType?: ReferenceTypeCstNode[];
AssignmentOperator?: IToken[];
expression?: ExpressionCstNode[];
Less?: IToken[];
Greater?: IToken[];
BinaryOperator?: IToken[];
};
export interface UnaryExpressionCstNode extends CstNode {
name: "unaryExpression";
children: UnaryExpressionCtx;
}
export type UnaryExpressionCtx = {
UnaryPrefixOperator?: IToken[];
primary: PrimaryCstNode[];
UnarySuffixOperator?: IToken[];
};
export interface UnaryExpressionNotPlusMinusCstNode extends CstNode {
name: "unaryExpressionNotPlusMinus";
children: UnaryExpressionNotPlusMinusCtx;
}
export type UnaryExpressionNotPlusMinusCtx = {
UnaryPrefixOperatorNotPlusMinus?: IToken[];
primary: PrimaryCstNode[];
UnarySuffixOperator?: IToken[];
};
export interface PrimaryCstNode extends CstNode {
name: "primary";
children: PrimaryCtx;
}
export type PrimaryCtx = {
primaryPrefix: PrimaryPrefixCstNode[];
primarySuffix?: PrimarySuffixCstNode[];
};
export interface PrimaryPrefixCstNode extends CstNode {
name: "primaryPrefix";
children: PrimaryPrefixCtx;
}
export type PrimaryPrefixCtx = {
literal?: LiteralCstNode[];
This?: IToken[];
Void?: IToken[];
unannPrimitiveTypeWithOptionalDimsSuffix?: UnannPrimitiveTypeWithOptionalDimsSuffixCstNode[];
fqnOrRefType?: FqnOrRefTypeCstNode[];
castExpression?: CastExpressionCstNode[];
parenthesisExpression?: ParenthesisExpressionCstNode[];
newExpression?: NewExpressionCstNode[];
switchStatement?: SwitchStatementCstNode[];
};
export interface PrimarySuffixCstNode extends CstNode {
name: "primarySuffix";
children: PrimarySuffixCtx;
}
export type PrimarySuffixCtx = {
Dot?: IToken[];
This?: IToken[];
unqualifiedClassInstanceCreationExpression?: UnqualifiedClassInstanceCreationExpressionCstNode[];
typeArguments?: TypeArgumentsCstNode[];
Identifier?: IToken[];
methodInvocationSuffix?: MethodInvocationSuffixCstNode[];
classLiteralSuffix?: ClassLiteralSuffixCstNode[];
arrayAccessSuffix?: ArrayAccessSuffixCstNode[];
methodReferenceSuffix?: MethodReferenceSuffixCstNode[];
};
export interface FqnOrRefTypeCstNode extends CstNode {
name: "fqnOrRefType";
children: FqnOrRefTypeCtx;
}
export type FqnOrRefTypeCtx = {
fqnOrRefTypePartFirst: FqnOrRefTypePartFirstCstNode[];
Dot?: IToken[];
fqnOrRefTypePartRest?: FqnOrRefTypePartRestCstNode[];
dims?: DimsCstNode[];
};
export interface FqnOrRefTypePartRestCstNode extends CstNode {
name: "fqnOrRefTypePartRest";
children: FqnOrRefTypePartRestCtx;
}
export type FqnOrRefTypePartRestCtx = {
annotation?: AnnotationCstNode[];
typeArguments?: TypeArgumentsCstNode[];
fqnOrRefTypePartCommon: FqnOrRefTypePartCommonCstNode[];
};
export interface FqnOrRefTypePartCommonCstNode extends CstNode {
name: "fqnOrRefTypePartCommon";
children: FqnOrRefTypePartCommonCtx;
}
export type FqnOrRefTypePartCommonCtx = {
Identifier?: IToken[];
Super?: IToken[];
typeArguments?: TypeArgumentsCstNode[];
};
export interface FqnOrRefTypePartFirstCstNode extends CstNode {
name: "fqnOrRefTypePartFirst";
children: FqnOrRefTypePartFirstCtx;
}
export type FqnOrRefTypePartFirstCtx = {
annotation?: AnnotationCstNode[];
fqnOrRefTypePartCommon: FqnOrRefTypePartCommonCstNode[];
};
export interface ParenthesisExpressionCstNode extends CstNode {
name: "parenthesisExpression";
children: ParenthesisExpressionCtx;
}
export type ParenthesisExpressionCtx = {
LBrace: IToken[];
expression: ExpressionCstNode[];
RBrace: IToken[];
};
export interface CastExpressionCstNode extends CstNode {
name: "castExpression";
children: CastExpressionCtx;
}
export type CastExpressionCtx = {
primitiveCastExpression?: PrimitiveCastExpressionCstNode[];
referenceTypeCastExpression?: ReferenceTypeCastExpressionCstNode[];
};
export interface PrimitiveCastExpressionCstNode extends CstNode {
name: "primitiveCastExpression";
children: PrimitiveCastExpressionCtx;
}
export type PrimitiveCastExpressionCtx = {
LBrace: IToken[];
primitiveType: PrimitiveTypeCstNode[];
RBrace: IToken[];
unaryExpression: UnaryExpressionCstNode[];
};
export interface ReferenceTypeCastExpressionCstNode extends CstNode {
name: "referenceTypeCastExpression";
children: ReferenceTypeCastExpressionCtx;
}
export type ReferenceTypeCastExpressionCtx = {
LBrace: IToken[];
referenceType: ReferenceTypeCstNode[];
additionalBound?: AdditionalBoundCstNode[];
RBrace: IToken[];
lambdaExpression?: LambdaExpressionCstNode[];
unaryExpressionNotPlusMinus?: UnaryExpressionNotPlusMinusCstNode[];
};
export interface NewExpressionCstNode extends CstNode {
name: "newExpression";
children: NewExpressionCtx;
}
export type NewExpressionCtx = {
arrayCreationExpression?: ArrayCreationExpressionCstNode[];
unqualifiedClassInstanceCreationExpression?: UnqualifiedClassInstanceCreationExpressionCstNode[];
};
export interface UnqualifiedClassInstanceCreationExpressionCstNode
extends CstNode {
name: "unqualifiedClassInstanceCreationExpression";
children: UnqualifiedClassInstanceCreationExpressionCtx;
}
export type UnqualifiedClassInstanceCreationExpressionCtx = {
New: IToken[];
typeArguments?: TypeArgumentsCstNode[];
classOrInterfaceTypeToInstantiate: ClassOrInterfaceTypeToInstantiateCstNode[];
LBrace: IToken[];
argumentList?: ArgumentListCstNode[];
RBrace: IToken[];
classBody?: ClassBodyCstNode[];
};
export interface ClassOrInterfaceTypeToInstantiateCstNode extends CstNode {
name: "classOrInterfaceTypeToInstantiate";
children: ClassOrInterfaceTypeToInstantiateCtx;
}
export type ClassOrInterfaceTypeToInstantiateCtx = {
annotation?: AnnotationCstNode[];
Identifier: IToken[];
Dot?: IToken[];
typeArgumentsOrDiamond?: TypeArgumentsOrDiamondCstNode[];
};
export interface TypeArgumentsOrDiamondCstNode extends CstNode {
name: "typeArgumentsOrDiamond";
children: TypeArgumentsOrDiamondCtx;
}
export type TypeArgumentsOrDiamondCtx = {
diamond?: DiamondCstNode[];
typeArguments?: TypeArgumentsCstNode[];
};
export interface DiamondCstNode extends CstNode {
name: "diamond";
children: DiamondCtx;
}
export type DiamondCtx = {
Less: IToken[];
Greater: IToken[];
};
export interface MethodInvocationSuffixCstNode extends CstNode {
name: "methodInvocationSuffix";
children: MethodInvocationSuffixCtx;
}
export type MethodInvocationSuffixCtx = {
LBrace: IToken[];
argumentList?: ArgumentListCstNode[];
RBrace: IToken[];
};
export interface ArgumentListCstNode extends CstNode {
name: "argumentList";
children: ArgumentListCtx;
}
export type ArgumentListCtx = {
expression: ExpressionCstNode[];
Comma?: IToken[];
};
export interface ArrayCreationExpressionCstNode extends CstNode {
name: "arrayCreationExpression";
children: ArrayCreationExpressionCtx;
}
export type ArrayCreationExpressionCtx = {
New: IToken[];
primitiveType?: PrimitiveTypeCstNode[];
classOrInterfaceType?: ClassOrInterfaceTypeCstNode[];
arrayCreationDefaultInitSuffix?: ArrayCreationDefaultInitSuffixCstNode[];
arrayCreationExplicitInitSuffix?: ArrayCreationExplicitInitSuffixCstNode[];
};
export interface ArrayCreationDefaultInitSuffixCstNode extends CstNode {
name: "arrayCreationDefaultInitSuffix";
children: ArrayCreationDefaultInitSuffixCtx;
}
export type ArrayCreationDefaultInitSuffixCtx = {
dimExprs: DimExprsCstNode[];
dims?: DimsCstNode[];
};
export interface ArrayCreationExplicitInitSuffixCstNode extends CstNode {
name: "arrayCreationExplicitInitSuffix";
children: ArrayCreationExplicitInitSuffixCtx;
}
export type ArrayCreationExplicitInitSuffixCtx = {
dims: DimsCstNode[];
arrayInitializer: ArrayInitializerCstNode[];
};
export interface DimExprsCstNode extends CstNode {
name: "dimExprs";
children: DimExprsCtx;
}
export type DimExprsCtx = {
dimExpr: DimExprCstNode[];
};
export interface DimExprCstNode extends CstNode {
name: "dimExpr";
children: DimExprCtx;
}
export type DimExprCtx = {
annotation?: AnnotationCstNode[];
LSquare: IToken[];
expression: ExpressionCstNode[];
RSquare: IToken[];
};
export interface ClassLiteralSuffixCstNode extends CstNode {
name: "classLiteralSuffix";
children: ClassLiteralSuffixCtx;
}
export type ClassLiteralSuffixCtx = {
LSquare?: IToken[];
RSquare?: IToken[];
Dot: IToken[];
Class: IToken[];
};
export interface ArrayAccessSuffixCstNode extends CstNode {
name: "arrayAccessSuffix";
children: ArrayAccessSuffixCtx;
}
export type ArrayAccessSuffixCtx = {
LSquare: IToken[];
expression: ExpressionCstNode[];
RSquare: IToken[];
};
export interface MethodReferenceSuffixCstNode extends CstNode {
name: "methodReferenceSuffix";
children: MethodReferenceSuffixCtx;
}
export type MethodReferenceSuffixCtx = {
ColonColon: IToken[];
typeArguments?: TypeArgumentsCstNode[];
Identifier?: IToken[];
New?: IToken[];
};
export interface PatternCstNode extends CstNode {
name: "pattern";
children: PatternCtx;
}
export type PatternCtx = {
typePattern: TypePatternCstNode[];
};
export interface TypePatternCstNode extends CstNode {
name: "typePattern";
children: TypePatternCtx;
}
export type TypePatternCtx = {
localVariableDeclaration: LocalVariableDeclarationCstNode[];
};
export interface IdentifyNewExpressionTypeCstNode extends CstNode {
name: "identifyNewExpressionType";
children: IdentifyNewExpressionTypeCtx;
}
export type IdentifyNewExpressionTypeCtx = {
New: IToken[];
classOrInterfaceTypeToInstantiate: ClassOrInterfaceTypeToInstantiateCstNode[];
};
export interface IsLambdaExpressionCstNode extends CstNode {
name: "isLambdaExpression";
children: IsLambdaExpressionCtx;
}
export type IsLambdaExpressionCtx = {};
export interface IsCastExpressionCstNode extends CstNode {
name: "isCastExpression";
children: IsCastExpressionCtx;
}
export type IsCastExpressionCtx = {};
export interface IsPrimitiveCastExpressionCstNode extends CstNode {
name: "isPrimitiveCastExpression";
children: IsPrimitiveCastExpressionCtx;
}
export type IsPrimitiveCastExpressionCtx = {
LBrace: IToken[];
primitiveType: PrimitiveTypeCstNode[];
RBrace: IToken[];
};
export interface IsReferenceTypeCastExpressionCstNode extends CstNode {
name: "isReferenceTypeCastExpression";
children: IsReferenceTypeCastExpressionCtx;
}
export type IsReferenceTypeCastExpressionCtx = {
LBrace: IToken[];
referenceType: ReferenceTypeCstNode[];
additionalBound?: AdditionalBoundCstNode[];
RBrace: IToken[];
};
export interface IsRefTypeInMethodRefCstNode extends CstNode {
name: "isRefTypeInMethodRef";
children: IsRefTypeInMethodRefCtx;
}
export type IsRefTypeInMethodRefCtx = {
typeArguments: TypeArgumentsCstNode[];
dims?: DimsCstNode[];
Dot?: IToken[];
classOrInterfaceType?: ClassOrInterfaceTypeCstNode[];
};