From 264ede100c9698b45e1568d0ebc52cbcb1f6c5d0 Mon Sep 17 00:00:00 2001 From: Jakob Herrmann Date: Wed, 23 Nov 2016 00:43:57 +0100 Subject: [PATCH 1/5] Create list with notes/questions/problems. --- src/de/dhbwstuttgart/parser/TODO | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/de/dhbwstuttgart/parser/TODO diff --git a/src/de/dhbwstuttgart/parser/TODO b/src/de/dhbwstuttgart/parser/TODO new file mode 100644 index 00000000..b738b3e7 --- /dev/null +++ b/src/de/dhbwstuttgart/parser/TODO @@ -0,0 +1,3 @@ += Grammatik = + +* Core-Problem: Typinferenz vs. Konstruktoren From 52a5e54c3a1166883948520ef5350e091639e8ab Mon Sep 17 00:00:00 2001 From: Jakob Herrmann Date: Tue, 29 Nov 2016 18:31:50 +0100 Subject: [PATCH 2/5] Recompile grammer due to some technical problems. --- src/de/dhbwstuttgart/parser/Java8.g4 | 2 +- src/de/dhbwstuttgart/parser/Java8.tokens | 205 - .../parser/Java8BaseListener.java | 2883 --- src/de/dhbwstuttgart/parser/Java8Lexer.java | 584 - src/de/dhbwstuttgart/parser/Java8Lexer.tokens | 205 - .../dhbwstuttgart/parser/Java8Listener.java | 2380 -- src/de/dhbwstuttgart/parser/Java8Parser.java | 18556 ---------------- 7 files changed, 1 insertion(+), 24814 deletions(-) delete mode 100644 src/de/dhbwstuttgart/parser/Java8.tokens delete mode 100644 src/de/dhbwstuttgart/parser/Java8BaseListener.java delete mode 100644 src/de/dhbwstuttgart/parser/Java8Lexer.java delete mode 100644 src/de/dhbwstuttgart/parser/Java8Lexer.tokens delete mode 100644 src/de/dhbwstuttgart/parser/Java8Listener.java delete mode 100644 src/de/dhbwstuttgart/parser/Java8Parser.java diff --git a/src/de/dhbwstuttgart/parser/Java8.g4 b/src/de/dhbwstuttgart/parser/Java8.g4 index f63f01a5..8a554bf5 100644 --- a/src/de/dhbwstuttgart/parser/Java8.g4 +++ b/src/de/dhbwstuttgart/parser/Java8.g4 @@ -333,7 +333,7 @@ classMemberDeclaration ; fieldDeclaration - : fieldModifier* unannType variableDeclaratorList ';' + : fieldModifier* unannType? variableDeclaratorList ';' ; fieldModifier diff --git a/src/de/dhbwstuttgart/parser/Java8.tokens b/src/de/dhbwstuttgart/parser/Java8.tokens deleted file mode 100644 index 52ef1eee..00000000 --- a/src/de/dhbwstuttgart/parser/Java8.tokens +++ /dev/null @@ -1,205 +0,0 @@ -ABSTRACT=1 -ASSERT=2 -BOOLEAN=3 -BREAK=4 -BYTE=5 -CASE=6 -CATCH=7 -CHAR=8 -CLASS=9 -CONST=10 -CONTINUE=11 -DEFAULT=12 -DO=13 -DOUBLE=14 -ELSE=15 -ENUM=16 -EXTENDS=17 -FINAL=18 -FINALLY=19 -FLOAT=20 -FOR=21 -IF=22 -GOTO=23 -IMPLEMENTS=24 -IMPORT=25 -INSTANCEOF=26 -INT=27 -INTERFACE=28 -LONG=29 -NATIVE=30 -NEW=31 -PACKAGE=32 -PRIVATE=33 -PROTECTED=34 -PUBLIC=35 -RETURN=36 -SHORT=37 -STATIC=38 -STRICTFP=39 -SUPER=40 -SWITCH=41 -SYNCHRONIZED=42 -THIS=43 -THROW=44 -THROWS=45 -TRANSIENT=46 -TRY=47 -VOID=48 -VOLATILE=49 -WHILE=50 -IntegerLiteral=51 -FloatingPointLiteral=52 -BooleanLiteral=53 -CharacterLiteral=54 -StringLiteral=55 -NullLiteral=56 -LPAREN=57 -RPAREN=58 -LBRACE=59 -RBRACE=60 -LBRACK=61 -RBRACK=62 -SEMI=63 -COMMA=64 -DOT=65 -ASSIGN=66 -GT=67 -LT=68 -BANG=69 -TILDE=70 -QUESTION=71 -COLON=72 -EQUAL=73 -LE=74 -GE=75 -NOTEQUAL=76 -AND=77 -OR=78 -INC=79 -DEC=80 -ADD=81 -SUB=82 -MUL=83 -DIV=84 -BITAND=85 -BITOR=86 -CARET=87 -MOD=88 -ARROW=89 -COLONCOLON=90 -ADD_ASSIGN=91 -SUB_ASSIGN=92 -MUL_ASSIGN=93 -DIV_ASSIGN=94 -AND_ASSIGN=95 -OR_ASSIGN=96 -XOR_ASSIGN=97 -MOD_ASSIGN=98 -LSHIFT_ASSIGN=99 -RSHIFT_ASSIGN=100 -URSHIFT_ASSIGN=101 -Identifier=102 -AT=103 -ELLIPSIS=104 -WS=105 -COMMENT=106 -LINE_COMMENT=107 -'abstract'=1 -'assert'=2 -'boolean'=3 -'break'=4 -'byte'=5 -'case'=6 -'catch'=7 -'char'=8 -'class'=9 -'const'=10 -'continue'=11 -'default'=12 -'do'=13 -'double'=14 -'else'=15 -'enum'=16 -'extends'=17 -'final'=18 -'finally'=19 -'float'=20 -'for'=21 -'if'=22 -'goto'=23 -'implements'=24 -'import'=25 -'instanceof'=26 -'int'=27 -'interface'=28 -'long'=29 -'native'=30 -'new'=31 -'package'=32 -'private'=33 -'protected'=34 -'public'=35 -'return'=36 -'short'=37 -'static'=38 -'strictfp'=39 -'super'=40 -'switch'=41 -'synchronized'=42 -'this'=43 -'throw'=44 -'throws'=45 -'transient'=46 -'try'=47 -'void'=48 -'volatile'=49 -'while'=50 -'null'=56 -'('=57 -')'=58 -'{'=59 -'}'=60 -'['=61 -']'=62 -';'=63 -','=64 -'.'=65 -'='=66 -'>'=67 -'<'=68 -'!'=69 -'~'=70 -'?'=71 -':'=72 -'=='=73 -'<='=74 -'>='=75 -'!='=76 -'&&'=77 -'||'=78 -'++'=79 -'--'=80 -'+'=81 -'-'=82 -'*'=83 -'/'=84 -'&'=85 -'|'=86 -'^'=87 -'%'=88 -'->'=89 -'::'=90 -'+='=91 -'-='=92 -'*='=93 -'/='=94 -'&='=95 -'|='=96 -'^='=97 -'%='=98 -'<<='=99 -'>>='=100 -'>>>='=101 -'@'=103 -'...'=104 diff --git a/src/de/dhbwstuttgart/parser/Java8BaseListener.java b/src/de/dhbwstuttgart/parser/Java8BaseListener.java deleted file mode 100644 index 0d26fe00..00000000 --- a/src/de/dhbwstuttgart/parser/Java8BaseListener.java +++ /dev/null @@ -1,2883 +0,0 @@ -// Generated from Java8.g4 by ANTLR 4.5.3 -package de.dhbwstuttgart.parser; - -import org.antlr.v4.runtime.ParserRuleContext; -import org.antlr.v4.runtime.tree.ErrorNode; -import org.antlr.v4.runtime.tree.TerminalNode; - -/** - * This class provides an empty implementation of {@link Java8Listener}, - * which can be extended to create a listener which only needs to handle a subset - * of the available methods. - */ -public class Java8BaseListener implements Java8Listener { - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLiteral(Java8Parser.LiteralContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLiteral(Java8Parser.LiteralContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterType(Java8Parser.TypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitType(Java8Parser.TypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimitiveType(Java8Parser.PrimitiveTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimitiveType(Java8Parser.PrimitiveTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNumericType(Java8Parser.NumericTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNumericType(Java8Parser.NumericTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIntegralType(Java8Parser.IntegralTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIntegralType(Java8Parser.IntegralTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFloatingPointType(Java8Parser.FloatingPointTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFloatingPointType(Java8Parser.FloatingPointTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterReferenceType(Java8Parser.ReferenceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitReferenceType(Java8Parser.ReferenceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassType(Java8Parser.ClassTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassType(Java8Parser.ClassTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceType(Java8Parser.InterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceType(Java8Parser.InterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeVariable(Java8Parser.TypeVariableContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeVariable(Java8Parser.TypeVariableContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayType(Java8Parser.ArrayTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayType(Java8Parser.ArrayTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDims(Java8Parser.DimsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDims(Java8Parser.DimsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeParameter(Java8Parser.TypeParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeParameter(Java8Parser.TypeParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeBound(Java8Parser.TypeBoundContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeBound(Java8Parser.TypeBoundContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAdditionalBound(Java8Parser.AdditionalBoundContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAdditionalBound(Java8Parser.AdditionalBoundContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeArguments(Java8Parser.TypeArgumentsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeArguments(Java8Parser.TypeArgumentsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeArgumentList(Java8Parser.TypeArgumentListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeArgumentList(Java8Parser.TypeArgumentListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeArgument(Java8Parser.TypeArgumentContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeArgument(Java8Parser.TypeArgumentContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWildcard(Java8Parser.WildcardContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWildcard(Java8Parser.WildcardContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWildcardBounds(Java8Parser.WildcardBoundsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWildcardBounds(Java8Parser.WildcardBoundsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPackageName(Java8Parser.PackageNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPackageName(Java8Parser.PackageNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeName(Java8Parser.TypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeName(Java8Parser.TypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExpressionName(Java8Parser.ExpressionNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExpressionName(Java8Parser.ExpressionNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodName(Java8Parser.MethodNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodName(Java8Parser.MethodNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAmbiguousName(Java8Parser.AmbiguousNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAmbiguousName(Java8Parser.AmbiguousNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCompilationUnit(Java8Parser.CompilationUnitContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCompilationUnit(Java8Parser.CompilationUnitContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPackageDeclaration(Java8Parser.PackageDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPackageDeclaration(Java8Parser.PackageDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPackageModifier(Java8Parser.PackageModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPackageModifier(Java8Parser.PackageModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterImportDeclaration(Java8Parser.ImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitImportDeclaration(Java8Parser.ImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeDeclaration(Java8Parser.TypeDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeDeclaration(Java8Parser.TypeDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassDeclaration(Java8Parser.ClassDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassDeclaration(Java8Parser.ClassDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassModifier(Java8Parser.ClassModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassModifier(Java8Parser.ClassModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeParameters(Java8Parser.TypeParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeParameters(Java8Parser.TypeParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeParameterList(Java8Parser.TypeParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeParameterList(Java8Parser.TypeParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSuperclass(Java8Parser.SuperclassContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSuperclass(Java8Parser.SuperclassContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSuperinterfaces(Java8Parser.SuperinterfacesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSuperinterfaces(Java8Parser.SuperinterfacesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassBody(Java8Parser.ClassBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassBody(Java8Parser.ClassBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldDeclaration(Java8Parser.FieldDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldDeclaration(Java8Parser.FieldDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldModifier(Java8Parser.FieldModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldModifier(Java8Parser.FieldModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableInitializer(Java8Parser.VariableInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableInitializer(Java8Parser.VariableInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannType(Java8Parser.UnannTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannType(Java8Parser.UnannTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannClassType(Java8Parser.UnannClassTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannClassType(Java8Parser.UnannClassTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnannArrayType(Java8Parser.UnannArrayTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnannArrayType(Java8Parser.UnannArrayTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodDeclaration(Java8Parser.MethodDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodDeclaration(Java8Parser.MethodDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodModifier(Java8Parser.MethodModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodModifier(Java8Parser.MethodModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodHeader(Java8Parser.MethodHeaderContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodHeader(Java8Parser.MethodHeaderContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResult(Java8Parser.ResultContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResult(Java8Parser.ResultContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFormalParameterList(Java8Parser.FormalParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFormalParameterList(Java8Parser.FormalParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFormalParameters(Java8Parser.FormalParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFormalParameters(Java8Parser.FormalParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFormalParameter(Java8Parser.FormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFormalParameter(Java8Parser.FormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableModifier(Java8Parser.VariableModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableModifier(Java8Parser.VariableModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLastFormalParameter(Java8Parser.LastFormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLastFormalParameter(Java8Parser.LastFormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterReceiverParameter(Java8Parser.ReceiverParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitReceiverParameter(Java8Parser.ReceiverParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterThrows_(Java8Parser.Throws_Context ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitThrows_(Java8Parser.Throws_Context ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExceptionType(Java8Parser.ExceptionTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExceptionType(Java8Parser.ExceptionTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodBody(Java8Parser.MethodBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodBody(Java8Parser.MethodBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInstanceInitializer(Java8Parser.InstanceInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInstanceInitializer(Java8Parser.InstanceInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStaticInitializer(Java8Parser.StaticInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStaticInitializer(Java8Parser.StaticInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstructorModifier(Java8Parser.ConstructorModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstructorModifier(Java8Parser.ConstructorModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstructorBody(Java8Parser.ConstructorBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstructorBody(Java8Parser.ConstructorBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumDeclaration(Java8Parser.EnumDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumDeclaration(Java8Parser.EnumDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumBody(Java8Parser.EnumBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumBody(Java8Parser.EnumBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumConstantList(Java8Parser.EnumConstantListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumConstantList(Java8Parser.EnumConstantListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumConstant(Java8Parser.EnumConstantContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumConstant(Java8Parser.EnumConstantContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceModifier(Java8Parser.InterfaceModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceModifier(Java8Parser.InterfaceModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceBody(Java8Parser.InterfaceBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceBody(Java8Parser.InterfaceBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstantModifier(Java8Parser.ConstantModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstantModifier(Java8Parser.ConstantModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDefaultValue(Java8Parser.DefaultValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDefaultValue(Java8Parser.DefaultValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAnnotation(Java8Parser.AnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAnnotation(Java8Parser.AnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNormalAnnotation(Java8Parser.NormalAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNormalAnnotation(Java8Parser.NormalAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValuePairList(Java8Parser.ElementValuePairListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValuePairList(Java8Parser.ElementValuePairListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValuePair(Java8Parser.ElementValuePairContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValuePair(Java8Parser.ElementValuePairContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValue(Java8Parser.ElementValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValue(Java8Parser.ElementValueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterElementValueList(Java8Parser.ElementValueListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitElementValueList(Java8Parser.ElementValueListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayInitializer(Java8Parser.ArrayInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayInitializer(Java8Parser.ArrayInitializerContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterVariableInitializerList(Java8Parser.VariableInitializerListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitVariableInitializerList(Java8Parser.VariableInitializerListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBlock(Java8Parser.BlockContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBlock(Java8Parser.BlockContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBlockStatements(Java8Parser.BlockStatementsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBlockStatements(Java8Parser.BlockStatementsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBlockStatement(Java8Parser.BlockStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBlockStatement(Java8Parser.BlockStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatement(Java8Parser.StatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatement(Java8Parser.StatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEmptyStatement(Java8Parser.EmptyStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEmptyStatement(Java8Parser.EmptyStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLabeledStatement(Java8Parser.LabeledStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLabeledStatement(Java8Parser.LabeledStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExpressionStatement(Java8Parser.ExpressionStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExpressionStatement(Java8Parser.ExpressionStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatementExpression(Java8Parser.StatementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatementExpression(Java8Parser.StatementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIfThenStatement(Java8Parser.IfThenStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIfThenStatement(Java8Parser.IfThenStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAssertStatement(Java8Parser.AssertStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAssertStatement(Java8Parser.AssertStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchStatement(Java8Parser.SwitchStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchStatement(Java8Parser.SwitchStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchBlock(Java8Parser.SwitchBlockContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchBlock(Java8Parser.SwitchBlockContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchLabels(Java8Parser.SwitchLabelsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchLabels(Java8Parser.SwitchLabelsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSwitchLabel(Java8Parser.SwitchLabelContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSwitchLabel(Java8Parser.SwitchLabelContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnumConstantName(Java8Parser.EnumConstantNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnumConstantName(Java8Parser.EnumConstantNameContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWhileStatement(Java8Parser.WhileStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWhileStatement(Java8Parser.WhileStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDoStatement(Java8Parser.DoStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDoStatement(Java8Parser.DoStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterForStatement(Java8Parser.ForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitForStatement(Java8Parser.ForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBasicForStatement(Java8Parser.BasicForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBasicForStatement(Java8Parser.BasicForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterForInit(Java8Parser.ForInitContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitForInit(Java8Parser.ForInitContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterForUpdate(Java8Parser.ForUpdateContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitForUpdate(Java8Parser.ForUpdateContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterStatementExpressionList(Java8Parser.StatementExpressionListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitStatementExpressionList(Java8Parser.StatementExpressionListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBreakStatement(Java8Parser.BreakStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBreakStatement(Java8Parser.BreakStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterContinueStatement(Java8Parser.ContinueStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitContinueStatement(Java8Parser.ContinueStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterReturnStatement(Java8Parser.ReturnStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitReturnStatement(Java8Parser.ReturnStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterThrowStatement(Java8Parser.ThrowStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitThrowStatement(Java8Parser.ThrowStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTryStatement(Java8Parser.TryStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTryStatement(Java8Parser.TryStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCatches(Java8Parser.CatchesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCatches(Java8Parser.CatchesContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCatchClause(Java8Parser.CatchClauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCatchClause(Java8Parser.CatchClauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCatchType(Java8Parser.CatchTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCatchType(Java8Parser.CatchTypeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFinally_(Java8Parser.Finally_Context ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFinally_(Java8Parser.Finally_Context ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResourceSpecification(Java8Parser.ResourceSpecificationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResourceSpecification(Java8Parser.ResourceSpecificationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResourceList(Java8Parser.ResourceListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResourceList(Java8Parser.ResourceListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterResource(Java8Parser.ResourceContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitResource(Java8Parser.ResourceContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimary(Java8Parser.PrimaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimary(Java8Parser.PrimaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldAccess(Java8Parser.FieldAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldAccess(Java8Parser.FieldAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayAccess(Java8Parser.ArrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayAccess(Java8Parser.ArrayAccessContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodInvocation(Java8Parser.MethodInvocationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodInvocation(Java8Parser.MethodInvocationContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArgumentList(Java8Parser.ArgumentListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArgumentList(Java8Parser.ArgumentListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodReference(Java8Parser.MethodReferenceContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodReference(Java8Parser.MethodReferenceContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDimExprs(Java8Parser.DimExprsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDimExprs(Java8Parser.DimExprsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDimExpr(Java8Parser.DimExprContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDimExpr(Java8Parser.DimExprContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConstantExpression(Java8Parser.ConstantExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConstantExpression(Java8Parser.ConstantExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExpression(Java8Parser.ExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExpression(Java8Parser.ExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLambdaExpression(Java8Parser.LambdaExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLambdaExpression(Java8Parser.LambdaExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLambdaParameters(Java8Parser.LambdaParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLambdaParameters(Java8Parser.LambdaParametersContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLambdaBody(Java8Parser.LambdaBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLambdaBody(Java8Parser.LambdaBodyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAssignment(Java8Parser.AssignmentContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAssignment(Java8Parser.AssignmentContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLeftHandSide(Java8Parser.LeftHandSideContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLeftHandSide(Java8Parser.LeftHandSideContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditionalExpression(Java8Parser.ConditionalExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditionalExpression(Java8Parser.ConditionalExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAndExpression(Java8Parser.AndExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAndExpression(Java8Parser.AndExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEqualityExpression(Java8Parser.EqualityExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEqualityExpression(Java8Parser.EqualityExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterRelationalExpression(Java8Parser.RelationalExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitRelationalExpression(Java8Parser.RelationalExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterShiftExpression(Java8Parser.ShiftExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitShiftExpression(Java8Parser.ShiftExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnaryExpression(Java8Parser.UnaryExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnaryExpression(Java8Parser.UnaryExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostfixExpression(Java8Parser.PostfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostfixExpression(Java8Parser.PostfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterCastExpression(Java8Parser.CastExpressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitCastExpression(Java8Parser.CastExpressionContext ctx) { } - - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEveryRule(ParserRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEveryRule(ParserRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void visitTerminal(TerminalNode node) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void visitErrorNode(ErrorNode node) { } -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Lexer.java b/src/de/dhbwstuttgart/parser/Java8Lexer.java deleted file mode 100644 index 25cab56a..00000000 --- a/src/de/dhbwstuttgart/parser/Java8Lexer.java +++ /dev/null @@ -1,584 +0,0 @@ -// Generated from Java8.g4 by ANTLR 4.5.3 -package de.dhbwstuttgart.parser; -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Java8Lexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - ABSTRACT=1, ASSERT=2, BOOLEAN=3, BREAK=4, BYTE=5, CASE=6, CATCH=7, CHAR=8, - CLASS=9, CONST=10, CONTINUE=11, DEFAULT=12, DO=13, DOUBLE=14, ELSE=15, - ENUM=16, EXTENDS=17, FINAL=18, FINALLY=19, FLOAT=20, FOR=21, IF=22, GOTO=23, - IMPLEMENTS=24, IMPORT=25, INSTANCEOF=26, INT=27, INTERFACE=28, LONG=29, - NATIVE=30, NEW=31, PACKAGE=32, PRIVATE=33, PROTECTED=34, PUBLIC=35, RETURN=36, - SHORT=37, STATIC=38, STRICTFP=39, SUPER=40, SWITCH=41, SYNCHRONIZED=42, - THIS=43, THROW=44, THROWS=45, TRANSIENT=46, TRY=47, VOID=48, VOLATILE=49, - WHILE=50, IntegerLiteral=51, FloatingPointLiteral=52, BooleanLiteral=53, - CharacterLiteral=54, StringLiteral=55, NullLiteral=56, LPAREN=57, RPAREN=58, - LBRACE=59, RBRACE=60, LBRACK=61, RBRACK=62, SEMI=63, COMMA=64, DOT=65, - ASSIGN=66, GT=67, LT=68, BANG=69, TILDE=70, QUESTION=71, COLON=72, EQUAL=73, - LE=74, GE=75, NOTEQUAL=76, AND=77, OR=78, INC=79, DEC=80, ADD=81, SUB=82, - MUL=83, DIV=84, BITAND=85, BITOR=86, CARET=87, MOD=88, ARROW=89, COLONCOLON=90, - ADD_ASSIGN=91, SUB_ASSIGN=92, MUL_ASSIGN=93, DIV_ASSIGN=94, AND_ASSIGN=95, - OR_ASSIGN=96, XOR_ASSIGN=97, MOD_ASSIGN=98, LSHIFT_ASSIGN=99, RSHIFT_ASSIGN=100, - URSHIFT_ASSIGN=101, Identifier=102, AT=103, ELLIPSIS=104, WS=105, COMMENT=106, - LINE_COMMENT=107; - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - public static final String[] ruleNames = { - "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", "CHAR", - "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", "ENUM", - "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", - "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", - "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", - "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", - "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "DecimalIntegerLiteral", - "HexIntegerLiteral", "OctalIntegerLiteral", "BinaryIntegerLiteral", "IntegerTypeSuffix", - "DecimalNumeral", "Digits", "Digit", "NonZeroDigit", "DigitsAndUnderscores", - "DigitOrUnderscore", "Underscores", "HexNumeral", "HexDigits", "HexDigit", - "HexDigitsAndUnderscores", "HexDigitOrUnderscore", "OctalNumeral", "OctalDigits", - "OctalDigit", "OctalDigitsAndUnderscores", "OctalDigitOrUnderscore", "BinaryNumeral", - "BinaryDigits", "BinaryDigit", "BinaryDigitsAndUnderscores", "BinaryDigitOrUnderscore", - "FloatingPointLiteral", "DecimalFloatingPointLiteral", "ExponentPart", - "ExponentIndicator", "SignedInteger", "Sign", "FloatTypeSuffix", "HexadecimalFloatingPointLiteral", - "HexSignificand", "BinaryExponent", "BinaryExponentIndicator", "BooleanLiteral", - "CharacterLiteral", "SingleCharacter", "StringLiteral", "StringCharacters", - "StringCharacter", "EscapeSequence", "OctalEscape", "ZeroToThree", "UnicodeEscape", - "NullLiteral", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", - "SEMI", "COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", - "COLON", "EQUAL", "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", - "SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", - "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", - "OR_ASSIGN", "XOR_ASSIGN", "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", - "URSHIFT_ASSIGN", "Identifier", "JavaLetter", "JavaLetterOrDigit", "AT", - "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" - }; - - private static final String[] _LITERAL_NAMES = { - null, "'abstract'", "'assert'", "'boolean'", "'break'", "'byte'", "'case'", - "'catch'", "'char'", "'class'", "'const'", "'continue'", "'default'", - "'do'", "'double'", "'else'", "'enum'", "'extends'", "'final'", "'finally'", - "'float'", "'for'", "'if'", "'goto'", "'implements'", "'import'", "'instanceof'", - "'int'", "'interface'", "'long'", "'native'", "'new'", "'package'", "'private'", - "'protected'", "'public'", "'return'", "'short'", "'static'", "'strictfp'", - "'super'", "'switch'", "'synchronized'", "'this'", "'throw'", "'throws'", - "'transient'", "'try'", "'void'", "'volatile'", "'while'", null, null, - null, null, null, "'null'", "'('", "')'", "'{'", "'}'", "'['", "']'", - "';'", "','", "'.'", "'='", "'>'", "'<'", "'!'", "'~'", "'?'", "':'", - "'=='", "'<='", "'>='", "'!='", "'&&'", "'||'", "'++'", "'--'", "'+'", - "'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'%'", "'->'", "'::'", "'+='", - "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'<<='", "'>>='", - "'>>>='", null, "'@'", "'...'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", - "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", - "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", - "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", - "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", - "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", - "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "FloatingPointLiteral", - "BooleanLiteral", "CharacterLiteral", "StringLiteral", "NullLiteral", - "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", "SEMI", "COMMA", - "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", "COLON", "EQUAL", - "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", "SUB", "MUL", - "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", "ADD_ASSIGN", - "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN", - "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN", "Identifier", - "AT", "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" - }; - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Java8Lexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Java8.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - @Override - public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { - switch (ruleIndex) { - case 146: - return JavaLetter_sempred((RuleContext)_localctx, predIndex); - case 147: - return JavaLetterOrDigit_sempred((RuleContext)_localctx, predIndex); - } - return true; - } - private boolean JavaLetter_sempred(RuleContext _localctx, int predIndex) { - switch (predIndex) { - case 0: - return Character.isJavaIdentifierStart(_input.LA(-1)); - case 1: - return Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1))); - } - return true; - } - private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex) { - switch (predIndex) { - case 2: - return Character.isJavaIdentifierPart(_input.LA(-1)); - case 3: - return Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1))); - } - return true; - } - - public static final String _serializedATN = - "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2m\u0448\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+ - "w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+ - "\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+ - "\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+ - "\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+ - "\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+ - "\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095\4\u0096\t\u0096\4\u0097"+ - "\t\u0097\4\u0098\t\u0098\4\u0099\t\u0099\4\u009a\t\u009a\3\2\3\2\3\2\3"+ - "\2\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4"+ - "\3\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3"+ - "\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n"+ - "\3\n\3\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f"+ - "\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3"+ - "\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\22\3"+ - "\22\3\22\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3"+ - "\24\3\24\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3"+ - "\26\3\26\3\26\3\27\3\27\3\27\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3"+ - "\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3"+ - "\32\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3"+ - "\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\36\3\36\3"+ - "\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3!\3!\3!"+ - "\3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3"+ - "#\3#\3#\3$\3$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3&\3&\3&\3&\3&\3&\3"+ - "\'\3\'\3\'\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3"+ - ")\3*\3*\3*\3*\3*\3*\3*\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3,\3,\3"+ - ",\3,\3,\3-\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3"+ - "/\3/\3/\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3"+ - "\62\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3"+ - "\64\3\64\5\64\u028d\n\64\3\65\3\65\5\65\u0291\n\65\3\66\3\66\5\66\u0295"+ - "\n\66\3\67\3\67\5\67\u0299\n\67\38\38\58\u029d\n8\39\39\3:\3:\3:\5:\u02a4"+ - "\n:\3:\3:\3:\5:\u02a9\n:\5:\u02ab\n:\3;\3;\5;\u02af\n;\3;\5;\u02b2\n;"+ - "\3<\3<\5<\u02b6\n<\3=\3=\3>\6>\u02bb\n>\r>\16>\u02bc\3?\3?\5?\u02c1\n"+ - "?\3@\6@\u02c4\n@\r@\16@\u02c5\3A\3A\3A\3A\3B\3B\5B\u02ce\nB\3B\5B\u02d1"+ - "\nB\3C\3C\3D\6D\u02d6\nD\rD\16D\u02d7\3E\3E\5E\u02dc\nE\3F\3F\5F\u02e0"+ - "\nF\3F\3F\3G\3G\5G\u02e6\nG\3G\5G\u02e9\nG\3H\3H\3I\6I\u02ee\nI\rI\16"+ - "I\u02ef\3J\3J\5J\u02f4\nJ\3K\3K\3K\3K\3L\3L\5L\u02fc\nL\3L\5L\u02ff\n"+ - "L\3M\3M\3N\6N\u0304\nN\rN\16N\u0305\3O\3O\5O\u030a\nO\3P\3P\5P\u030e\n"+ - "P\3Q\3Q\3Q\5Q\u0313\nQ\3Q\5Q\u0316\nQ\3Q\5Q\u0319\nQ\3Q\3Q\3Q\5Q\u031e"+ - "\nQ\3Q\5Q\u0321\nQ\3Q\3Q\3Q\5Q\u0326\nQ\3Q\3Q\3Q\5Q\u032b\nQ\3R\3R\3R"+ - "\3S\3S\3T\5T\u0333\nT\3T\3T\3U\3U\3V\3V\3W\3W\3W\5W\u033e\nW\3X\3X\5X"+ - "\u0342\nX\3X\3X\3X\5X\u0347\nX\3X\3X\5X\u034b\nX\3Y\3Y\3Y\3Z\3Z\3[\3["+ - "\3[\3[\3[\3[\3[\3[\3[\5[\u035b\n[\3\\\3\\\3\\\3\\\3\\\3\\\3\\\3\\\5\\"+ - "\u0365\n\\\3]\3]\3^\3^\5^\u036b\n^\3^\3^\3_\6_\u0370\n_\r_\16_\u0371\3"+ - "`\3`\5`\u0376\n`\3a\3a\3a\3a\5a\u037c\na\3b\3b\3b\3b\3b\3b\3b\3b\3b\3"+ - "b\3b\5b\u0389\nb\3c\3c\3d\3d\3d\3d\3d\3d\3d\3e\3e\3e\3e\3e\3f\3f\3g\3"+ - "g\3h\3h\3i\3i\3j\3j\3k\3k\3l\3l\3m\3m\3n\3n\3o\3o\3p\3p\3q\3q\3r\3r\3"+ - "s\3s\3t\3t\3u\3u\3v\3v\3v\3w\3w\3w\3x\3x\3x\3y\3y\3y\3z\3z\3z\3{\3{\3"+ - "{\3|\3|\3|\3}\3}\3}\3~\3~\3\177\3\177\3\u0080\3\u0080\3\u0081\3\u0081"+ - "\3\u0082\3\u0082\3\u0083\3\u0083\3\u0084\3\u0084\3\u0085\3\u0085\3\u0086"+ - "\3\u0086\3\u0086\3\u0087\3\u0087\3\u0087\3\u0088\3\u0088\3\u0088\3\u0089"+ - "\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008c"+ - "\3\u008c\3\u008c\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e\3\u008e\3\u008f"+ - "\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090\3\u0090\3\u0091\3\u0091\3\u0091"+ - "\3\u0091\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0093\3\u0093\7\u0093"+ - "\u040e\n\u0093\f\u0093\16\u0093\u0411\13\u0093\3\u0094\3\u0094\3\u0094"+ - "\3\u0094\3\u0094\3\u0094\5\u0094\u0419\n\u0094\3\u0095\3\u0095\3\u0095"+ - "\3\u0095\3\u0095\3\u0095\5\u0095\u0421\n\u0095\3\u0096\3\u0096\3\u0097"+ - "\3\u0097\3\u0097\3\u0097\3\u0098\6\u0098\u042a\n\u0098\r\u0098\16\u0098"+ - "\u042b\3\u0098\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099\7\u0099\u0434\n"+ - "\u0099\f\u0099\16\u0099\u0437\13\u0099\3\u0099\3\u0099\3\u0099\3\u0099"+ - "\3\u0099\3\u009a\3\u009a\3\u009a\3\u009a\7\u009a\u0442\n\u009a\f\u009a"+ - "\16\u009a\u0445\13\u009a\3\u009a\3\u009a\3\u0435\2\u009b\3\3\5\4\7\5\t"+ - "\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23"+ - "%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G"+ - "%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\2k\2m\2o\2q\2s\2u\2w\2"+ - "y\2{\2}\2\177\2\u0081\2\u0083\2\u0085\2\u0087\2\u0089\2\u008b\2\u008d"+ - "\2\u008f\2\u0091\2\u0093\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f"+ - "\66\u00a1\2\u00a3\2\u00a5\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1"+ - "\2\u00b3\2\u00b5\67\u00b78\u00b9\2\u00bb9\u00bd\2\u00bf\2\u00c1\2\u00c3"+ - "\2\u00c5\2\u00c7\2\u00c9:\u00cb;\u00cd<\u00cf=\u00d1>\u00d3?\u00d5@\u00d7"+ - "A\u00d9B\u00dbC\u00ddD\u00dfE\u00e1F\u00e3G\u00e5H\u00e7I\u00e9J\u00eb"+ - "K\u00edL\u00efM\u00f1N\u00f3O\u00f5P\u00f7Q\u00f9R\u00fbS\u00fdT\u00ff"+ - "U\u0101V\u0103W\u0105X\u0107Y\u0109Z\u010b[\u010d\\\u010f]\u0111^\u0113"+ - "_\u0115`\u0117a\u0119b\u011bc\u011dd\u011fe\u0121f\u0123g\u0125h\u0127"+ - "\2\u0129\2\u012bi\u012dj\u012fk\u0131l\u0133m\3\2\30\4\2NNnn\3\2\63;\4"+ - "\2ZZzz\5\2\62;CHch\3\2\629\4\2DDdd\3\2\62\63\4\2GGgg\4\2--//\6\2FFHHf"+ - "fhh\4\2RRrr\4\2))^^\4\2$$^^\n\2$$))^^ddhhppttvv\3\2\62\65\6\2&&C\\aac"+ - "|\4\2\2\u0081\ud802\udc01\3\2\ud802\udc01\3\2\udc02\ue001\7\2&&\62;C\\"+ - "aac|\5\2\13\f\16\17\"\"\4\2\f\f\17\17\u0456\2\3\3\2\2\2\2\5\3\2\2\2\2"+ - "\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2"+ - "\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2"+ - "\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2"+ - "\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2"+ - "\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2"+ - "\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2"+ - "M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3"+ - "\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2"+ - "\2\2g\3\2\2\2\2\u009f\3\2\2\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00bb"+ - "\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2"+ - "\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2\2\2\u00d7\3\2\2\2\2\u00d9"+ - "\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2"+ - "\2\2\u00e3\3\2\2\2\2\u00e5\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb"+ - "\3\2\2\2\2\u00ed\3\2\2\2\2\u00ef\3\2\2\2\2\u00f1\3\2\2\2\2\u00f3\3\2\2"+ - "\2\2\u00f5\3\2\2\2\2\u00f7\3\2\2\2\2\u00f9\3\2\2\2\2\u00fb\3\2\2\2\2\u00fd"+ - "\3\2\2\2\2\u00ff\3\2\2\2\2\u0101\3\2\2\2\2\u0103\3\2\2\2\2\u0105\3\2\2"+ - "\2\2\u0107\3\2\2\2\2\u0109\3\2\2\2\2\u010b\3\2\2\2\2\u010d\3\2\2\2\2\u010f"+ - "\3\2\2\2\2\u0111\3\2\2\2\2\u0113\3\2\2\2\2\u0115\3\2\2\2\2\u0117\3\2\2"+ - "\2\2\u0119\3\2\2\2\2\u011b\3\2\2\2\2\u011d\3\2\2\2\2\u011f\3\2\2\2\2\u0121"+ - "\3\2\2\2\2\u0123\3\2\2\2\2\u0125\3\2\2\2\2\u012b\3\2\2\2\2\u012d\3\2\2"+ - "\2\2\u012f\3\2\2\2\2\u0131\3\2\2\2\2\u0133\3\2\2\2\3\u0135\3\2\2\2\5\u013e"+ - "\3\2\2\2\7\u0145\3\2\2\2\t\u014d\3\2\2\2\13\u0153\3\2\2\2\r\u0158\3\2"+ - "\2\2\17\u015d\3\2\2\2\21\u0163\3\2\2\2\23\u0168\3\2\2\2\25\u016e\3\2\2"+ - "\2\27\u0174\3\2\2\2\31\u017d\3\2\2\2\33\u0185\3\2\2\2\35\u0188\3\2\2\2"+ - "\37\u018f\3\2\2\2!\u0194\3\2\2\2#\u0199\3\2\2\2%\u01a1\3\2\2\2\'\u01a7"+ - "\3\2\2\2)\u01af\3\2\2\2+\u01b5\3\2\2\2-\u01b9\3\2\2\2/\u01bc\3\2\2\2\61"+ - "\u01c1\3\2\2\2\63\u01cc\3\2\2\2\65\u01d3\3\2\2\2\67\u01de\3\2\2\29\u01e2"+ - "\3\2\2\2;\u01ec\3\2\2\2=\u01f1\3\2\2\2?\u01f8\3\2\2\2A\u01fc\3\2\2\2C"+ - "\u0204\3\2\2\2E\u020c\3\2\2\2G\u0216\3\2\2\2I\u021d\3\2\2\2K\u0224\3\2"+ - "\2\2M\u022a\3\2\2\2O\u0231\3\2\2\2Q\u023a\3\2\2\2S\u0240\3\2\2\2U\u0247"+ - "\3\2\2\2W\u0254\3\2\2\2Y\u0259\3\2\2\2[\u025f\3\2\2\2]\u0266\3\2\2\2_"+ - "\u0270\3\2\2\2a\u0274\3\2\2\2c\u0279\3\2\2\2e\u0282\3\2\2\2g\u028c\3\2"+ - "\2\2i\u028e\3\2\2\2k\u0292\3\2\2\2m\u0296\3\2\2\2o\u029a\3\2\2\2q\u029e"+ - "\3\2\2\2s\u02aa\3\2\2\2u\u02ac\3\2\2\2w\u02b5\3\2\2\2y\u02b7\3\2\2\2{"+ - "\u02ba\3\2\2\2}\u02c0\3\2\2\2\177\u02c3\3\2\2\2\u0081\u02c7\3\2\2\2\u0083"+ - "\u02cb\3\2\2\2\u0085\u02d2\3\2\2\2\u0087\u02d5\3\2\2\2\u0089\u02db\3\2"+ - "\2\2\u008b\u02dd\3\2\2\2\u008d\u02e3\3\2\2\2\u008f\u02ea\3\2\2\2\u0091"+ - "\u02ed\3\2\2\2\u0093\u02f3\3\2\2\2\u0095\u02f5\3\2\2\2\u0097\u02f9\3\2"+ - "\2\2\u0099\u0300\3\2\2\2\u009b\u0303\3\2\2\2\u009d\u0309\3\2\2\2\u009f"+ - "\u030d\3\2\2\2\u00a1\u032a\3\2\2\2\u00a3\u032c\3\2\2\2\u00a5\u032f\3\2"+ - "\2\2\u00a7\u0332\3\2\2\2\u00a9\u0336\3\2\2\2\u00ab\u0338\3\2\2\2\u00ad"+ - "\u033a\3\2\2\2\u00af\u034a\3\2\2\2\u00b1\u034c\3\2\2\2\u00b3\u034f\3\2"+ - "\2\2\u00b5\u035a\3\2\2\2\u00b7\u0364\3\2\2\2\u00b9\u0366\3\2\2\2\u00bb"+ - "\u0368\3\2\2\2\u00bd\u036f\3\2\2\2\u00bf\u0375\3\2\2\2\u00c1\u037b\3\2"+ - "\2\2\u00c3\u0388\3\2\2\2\u00c5\u038a\3\2\2\2\u00c7\u038c\3\2\2\2\u00c9"+ - "\u0393\3\2\2\2\u00cb\u0398\3\2\2\2\u00cd\u039a\3\2\2\2\u00cf\u039c\3\2"+ - "\2\2\u00d1\u039e\3\2\2\2\u00d3\u03a0\3\2\2\2\u00d5\u03a2\3\2\2\2\u00d7"+ - "\u03a4\3\2\2\2\u00d9\u03a6\3\2\2\2\u00db\u03a8\3\2\2\2\u00dd\u03aa\3\2"+ - "\2\2\u00df\u03ac\3\2\2\2\u00e1\u03ae\3\2\2\2\u00e3\u03b0\3\2\2\2\u00e5"+ - "\u03b2\3\2\2\2\u00e7\u03b4\3\2\2\2\u00e9\u03b6\3\2\2\2\u00eb\u03b8\3\2"+ - "\2\2\u00ed\u03bb\3\2\2\2\u00ef\u03be\3\2\2\2\u00f1\u03c1\3\2\2\2\u00f3"+ - "\u03c4\3\2\2\2\u00f5\u03c7\3\2\2\2\u00f7\u03ca\3\2\2\2\u00f9\u03cd\3\2"+ - "\2\2\u00fb\u03d0\3\2\2\2\u00fd\u03d2\3\2\2\2\u00ff\u03d4\3\2\2\2\u0101"+ - "\u03d6\3\2\2\2\u0103\u03d8\3\2\2\2\u0105\u03da\3\2\2\2\u0107\u03dc\3\2"+ - "\2\2\u0109\u03de\3\2\2\2\u010b\u03e0\3\2\2\2\u010d\u03e3\3\2\2\2\u010f"+ - "\u03e6\3\2\2\2\u0111\u03e9\3\2\2\2\u0113\u03ec\3\2\2\2\u0115\u03ef\3\2"+ - "\2\2\u0117\u03f2\3\2\2\2\u0119\u03f5\3\2\2\2\u011b\u03f8\3\2\2\2\u011d"+ - "\u03fb\3\2\2\2\u011f\u03fe\3\2\2\2\u0121\u0402\3\2\2\2\u0123\u0406\3\2"+ - "\2\2\u0125\u040b\3\2\2\2\u0127\u0418\3\2\2\2\u0129\u0420\3\2\2\2\u012b"+ - "\u0422\3\2\2\2\u012d\u0424\3\2\2\2\u012f\u0429\3\2\2\2\u0131\u042f\3\2"+ - "\2\2\u0133\u043d\3\2\2\2\u0135\u0136\7c\2\2\u0136\u0137\7d\2\2\u0137\u0138"+ - "\7u\2\2\u0138\u0139\7v\2\2\u0139\u013a\7t\2\2\u013a\u013b\7c\2\2\u013b"+ - "\u013c\7e\2\2\u013c\u013d\7v\2\2\u013d\4\3\2\2\2\u013e\u013f\7c\2\2\u013f"+ - "\u0140\7u\2\2\u0140\u0141\7u\2\2\u0141\u0142\7g\2\2\u0142\u0143\7t\2\2"+ - "\u0143\u0144\7v\2\2\u0144\6\3\2\2\2\u0145\u0146\7d\2\2\u0146\u0147\7q"+ - "\2\2\u0147\u0148\7q\2\2\u0148\u0149\7n\2\2\u0149\u014a\7g\2\2\u014a\u014b"+ - "\7c\2\2\u014b\u014c\7p\2\2\u014c\b\3\2\2\2\u014d\u014e\7d\2\2\u014e\u014f"+ - "\7t\2\2\u014f\u0150\7g\2\2\u0150\u0151\7c\2\2\u0151\u0152\7m\2\2\u0152"+ - "\n\3\2\2\2\u0153\u0154\7d\2\2\u0154\u0155\7{\2\2\u0155\u0156\7v\2\2\u0156"+ - "\u0157\7g\2\2\u0157\f\3\2\2\2\u0158\u0159\7e\2\2\u0159\u015a\7c\2\2\u015a"+ - "\u015b\7u\2\2\u015b\u015c\7g\2\2\u015c\16\3\2\2\2\u015d\u015e\7e\2\2\u015e"+ - "\u015f\7c\2\2\u015f\u0160\7v\2\2\u0160\u0161\7e\2\2\u0161\u0162\7j\2\2"+ - "\u0162\20\3\2\2\2\u0163\u0164\7e\2\2\u0164\u0165\7j\2\2\u0165\u0166\7"+ - "c\2\2\u0166\u0167\7t\2\2\u0167\22\3\2\2\2\u0168\u0169\7e\2\2\u0169\u016a"+ - "\7n\2\2\u016a\u016b\7c\2\2\u016b\u016c\7u\2\2\u016c\u016d\7u\2\2\u016d"+ - "\24\3\2\2\2\u016e\u016f\7e\2\2\u016f\u0170\7q\2\2\u0170\u0171\7p\2\2\u0171"+ - "\u0172\7u\2\2\u0172\u0173\7v\2\2\u0173\26\3\2\2\2\u0174\u0175\7e\2\2\u0175"+ - "\u0176\7q\2\2\u0176\u0177\7p\2\2\u0177\u0178\7v\2\2\u0178\u0179\7k\2\2"+ - "\u0179\u017a\7p\2\2\u017a\u017b\7w\2\2\u017b\u017c\7g\2\2\u017c\30\3\2"+ - "\2\2\u017d\u017e\7f\2\2\u017e\u017f\7g\2\2\u017f\u0180\7h\2\2\u0180\u0181"+ - "\7c\2\2\u0181\u0182\7w\2\2\u0182\u0183\7n\2\2\u0183\u0184\7v\2\2\u0184"+ - "\32\3\2\2\2\u0185\u0186\7f\2\2\u0186\u0187\7q\2\2\u0187\34\3\2\2\2\u0188"+ - "\u0189\7f\2\2\u0189\u018a\7q\2\2\u018a\u018b\7w\2\2\u018b\u018c\7d\2\2"+ - "\u018c\u018d\7n\2\2\u018d\u018e\7g\2\2\u018e\36\3\2\2\2\u018f\u0190\7"+ - "g\2\2\u0190\u0191\7n\2\2\u0191\u0192\7u\2\2\u0192\u0193\7g\2\2\u0193 "+ - "\3\2\2\2\u0194\u0195\7g\2\2\u0195\u0196\7p\2\2\u0196\u0197\7w\2\2\u0197"+ - "\u0198\7o\2\2\u0198\"\3\2\2\2\u0199\u019a\7g\2\2\u019a\u019b\7z\2\2\u019b"+ - "\u019c\7v\2\2\u019c\u019d\7g\2\2\u019d\u019e\7p\2\2\u019e\u019f\7f\2\2"+ - "\u019f\u01a0\7u\2\2\u01a0$\3\2\2\2\u01a1\u01a2\7h\2\2\u01a2\u01a3\7k\2"+ - "\2\u01a3\u01a4\7p\2\2\u01a4\u01a5\7c\2\2\u01a5\u01a6\7n\2\2\u01a6&\3\2"+ - "\2\2\u01a7\u01a8\7h\2\2\u01a8\u01a9\7k\2\2\u01a9\u01aa\7p\2\2\u01aa\u01ab"+ - "\7c\2\2\u01ab\u01ac\7n\2\2\u01ac\u01ad\7n\2\2\u01ad\u01ae\7{\2\2\u01ae"+ - "(\3\2\2\2\u01af\u01b0\7h\2\2\u01b0\u01b1\7n\2\2\u01b1\u01b2\7q\2\2\u01b2"+ - "\u01b3\7c\2\2\u01b3\u01b4\7v\2\2\u01b4*\3\2\2\2\u01b5\u01b6\7h\2\2\u01b6"+ - "\u01b7\7q\2\2\u01b7\u01b8\7t\2\2\u01b8,\3\2\2\2\u01b9\u01ba\7k\2\2\u01ba"+ - "\u01bb\7h\2\2\u01bb.\3\2\2\2\u01bc\u01bd\7i\2\2\u01bd\u01be\7q\2\2\u01be"+ - "\u01bf\7v\2\2\u01bf\u01c0\7q\2\2\u01c0\60\3\2\2\2\u01c1\u01c2\7k\2\2\u01c2"+ - "\u01c3\7o\2\2\u01c3\u01c4\7r\2\2\u01c4\u01c5\7n\2\2\u01c5\u01c6\7g\2\2"+ - "\u01c6\u01c7\7o\2\2\u01c7\u01c8\7g\2\2\u01c8\u01c9\7p\2\2\u01c9\u01ca"+ - "\7v\2\2\u01ca\u01cb\7u\2\2\u01cb\62\3\2\2\2\u01cc\u01cd\7k\2\2\u01cd\u01ce"+ - "\7o\2\2\u01ce\u01cf\7r\2\2\u01cf\u01d0\7q\2\2\u01d0\u01d1\7t\2\2\u01d1"+ - "\u01d2\7v\2\2\u01d2\64\3\2\2\2\u01d3\u01d4\7k\2\2\u01d4\u01d5\7p\2\2\u01d5"+ - "\u01d6\7u\2\2\u01d6\u01d7\7v\2\2\u01d7\u01d8\7c\2\2\u01d8\u01d9\7p\2\2"+ - "\u01d9\u01da\7e\2\2\u01da\u01db\7g\2\2\u01db\u01dc\7q\2\2\u01dc\u01dd"+ - "\7h\2\2\u01dd\66\3\2\2\2\u01de\u01df\7k\2\2\u01df\u01e0\7p\2\2\u01e0\u01e1"+ - "\7v\2\2\u01e18\3\2\2\2\u01e2\u01e3\7k\2\2\u01e3\u01e4\7p\2\2\u01e4\u01e5"+ - "\7v\2\2\u01e5\u01e6\7g\2\2\u01e6\u01e7\7t\2\2\u01e7\u01e8\7h\2\2\u01e8"+ - "\u01e9\7c\2\2\u01e9\u01ea\7e\2\2\u01ea\u01eb\7g\2\2\u01eb:\3\2\2\2\u01ec"+ - "\u01ed\7n\2\2\u01ed\u01ee\7q\2\2\u01ee\u01ef\7p\2\2\u01ef\u01f0\7i\2\2"+ - "\u01f0<\3\2\2\2\u01f1\u01f2\7p\2\2\u01f2\u01f3\7c\2\2\u01f3\u01f4\7v\2"+ - "\2\u01f4\u01f5\7k\2\2\u01f5\u01f6\7x\2\2\u01f6\u01f7\7g\2\2\u01f7>\3\2"+ - "\2\2\u01f8\u01f9\7p\2\2\u01f9\u01fa\7g\2\2\u01fa\u01fb\7y\2\2\u01fb@\3"+ - "\2\2\2\u01fc\u01fd\7r\2\2\u01fd\u01fe\7c\2\2\u01fe\u01ff\7e\2\2\u01ff"+ - "\u0200\7m\2\2\u0200\u0201\7c\2\2\u0201\u0202\7i\2\2\u0202\u0203\7g\2\2"+ - "\u0203B\3\2\2\2\u0204\u0205\7r\2\2\u0205\u0206\7t\2\2\u0206\u0207\7k\2"+ - "\2\u0207\u0208\7x\2\2\u0208\u0209\7c\2\2\u0209\u020a\7v\2\2\u020a\u020b"+ - "\7g\2\2\u020bD\3\2\2\2\u020c\u020d\7r\2\2\u020d\u020e\7t\2\2\u020e\u020f"+ - "\7q\2\2\u020f\u0210\7v\2\2\u0210\u0211\7g\2\2\u0211\u0212\7e\2\2\u0212"+ - "\u0213\7v\2\2\u0213\u0214\7g\2\2\u0214\u0215\7f\2\2\u0215F\3\2\2\2\u0216"+ - "\u0217\7r\2\2\u0217\u0218\7w\2\2\u0218\u0219\7d\2\2\u0219\u021a\7n\2\2"+ - "\u021a\u021b\7k\2\2\u021b\u021c\7e\2\2\u021cH\3\2\2\2\u021d\u021e\7t\2"+ - "\2\u021e\u021f\7g\2\2\u021f\u0220\7v\2\2\u0220\u0221\7w\2\2\u0221\u0222"+ - "\7t\2\2\u0222\u0223\7p\2\2\u0223J\3\2\2\2\u0224\u0225\7u\2\2\u0225\u0226"+ - "\7j\2\2\u0226\u0227\7q\2\2\u0227\u0228\7t\2\2\u0228\u0229\7v\2\2\u0229"+ - "L\3\2\2\2\u022a\u022b\7u\2\2\u022b\u022c\7v\2\2\u022c\u022d\7c\2\2\u022d"+ - "\u022e\7v\2\2\u022e\u022f\7k\2\2\u022f\u0230\7e\2\2\u0230N\3\2\2\2\u0231"+ - "\u0232\7u\2\2\u0232\u0233\7v\2\2\u0233\u0234\7t\2\2\u0234\u0235\7k\2\2"+ - "\u0235\u0236\7e\2\2\u0236\u0237\7v\2\2\u0237\u0238\7h\2\2\u0238\u0239"+ - "\7r\2\2\u0239P\3\2\2\2\u023a\u023b\7u\2\2\u023b\u023c\7w\2\2\u023c\u023d"+ - "\7r\2\2\u023d\u023e\7g\2\2\u023e\u023f\7t\2\2\u023fR\3\2\2\2\u0240\u0241"+ - "\7u\2\2\u0241\u0242\7y\2\2\u0242\u0243\7k\2\2\u0243\u0244\7v\2\2\u0244"+ - "\u0245\7e\2\2\u0245\u0246\7j\2\2\u0246T\3\2\2\2\u0247\u0248\7u\2\2\u0248"+ - "\u0249\7{\2\2\u0249\u024a\7p\2\2\u024a\u024b\7e\2\2\u024b\u024c\7j\2\2"+ - "\u024c\u024d\7t\2\2\u024d\u024e\7q\2\2\u024e\u024f\7p\2\2\u024f\u0250"+ - "\7k\2\2\u0250\u0251\7|\2\2\u0251\u0252\7g\2\2\u0252\u0253\7f\2\2\u0253"+ - "V\3\2\2\2\u0254\u0255\7v\2\2\u0255\u0256\7j\2\2\u0256\u0257\7k\2\2\u0257"+ - "\u0258\7u\2\2\u0258X\3\2\2\2\u0259\u025a\7v\2\2\u025a\u025b\7j\2\2\u025b"+ - "\u025c\7t\2\2\u025c\u025d\7q\2\2\u025d\u025e\7y\2\2\u025eZ\3\2\2\2\u025f"+ - "\u0260\7v\2\2\u0260\u0261\7j\2\2\u0261\u0262\7t\2\2\u0262\u0263\7q\2\2"+ - "\u0263\u0264\7y\2\2\u0264\u0265\7u\2\2\u0265\\\3\2\2\2\u0266\u0267\7v"+ - "\2\2\u0267\u0268\7t\2\2\u0268\u0269\7c\2\2\u0269\u026a\7p\2\2\u026a\u026b"+ - "\7u\2\2\u026b\u026c\7k\2\2\u026c\u026d\7g\2\2\u026d\u026e\7p\2\2\u026e"+ - "\u026f\7v\2\2\u026f^\3\2\2\2\u0270\u0271\7v\2\2\u0271\u0272\7t\2\2\u0272"+ - "\u0273\7{\2\2\u0273`\3\2\2\2\u0274\u0275\7x\2\2\u0275\u0276\7q\2\2\u0276"+ - "\u0277\7k\2\2\u0277\u0278\7f\2\2\u0278b\3\2\2\2\u0279\u027a\7x\2\2\u027a"+ - "\u027b\7q\2\2\u027b\u027c\7n\2\2\u027c\u027d\7c\2\2\u027d\u027e\7v\2\2"+ - "\u027e\u027f\7k\2\2\u027f\u0280\7n\2\2\u0280\u0281\7g\2\2\u0281d\3\2\2"+ - "\2\u0282\u0283\7y\2\2\u0283\u0284\7j\2\2\u0284\u0285\7k\2\2\u0285\u0286"+ - "\7n\2\2\u0286\u0287\7g\2\2\u0287f\3\2\2\2\u0288\u028d\5i\65\2\u0289\u028d"+ - "\5k\66\2\u028a\u028d\5m\67\2\u028b\u028d\5o8\2\u028c\u0288\3\2\2\2\u028c"+ - "\u0289\3\2\2\2\u028c\u028a\3\2\2\2\u028c\u028b\3\2\2\2\u028dh\3\2\2\2"+ - "\u028e\u0290\5s:\2\u028f\u0291\5q9\2\u0290\u028f\3\2\2\2\u0290\u0291\3"+ - "\2\2\2\u0291j\3\2\2\2\u0292\u0294\5\u0081A\2\u0293\u0295\5q9\2\u0294\u0293"+ - "\3\2\2\2\u0294\u0295\3\2\2\2\u0295l\3\2\2\2\u0296\u0298\5\u008bF\2\u0297"+ - "\u0299\5q9\2\u0298\u0297\3\2\2\2\u0298\u0299\3\2\2\2\u0299n\3\2\2\2\u029a"+ - "\u029c\5\u0095K\2\u029b\u029d\5q9\2\u029c\u029b\3\2\2\2\u029c\u029d\3"+ - "\2\2\2\u029dp\3\2\2\2\u029e\u029f\t\2\2\2\u029fr\3\2\2\2\u02a0\u02ab\7"+ - "\62\2\2\u02a1\u02a8\5y=\2\u02a2\u02a4\5u;\2\u02a3\u02a2\3\2\2\2\u02a3"+ - "\u02a4\3\2\2\2\u02a4\u02a9\3\2\2\2\u02a5\u02a6\5\177@\2\u02a6\u02a7\5"+ - "u;\2\u02a7\u02a9\3\2\2\2\u02a8\u02a3\3\2\2\2\u02a8\u02a5\3\2\2\2\u02a9"+ - "\u02ab\3\2\2\2\u02aa\u02a0\3\2\2\2\u02aa\u02a1\3\2\2\2\u02abt\3\2\2\2"+ - "\u02ac\u02b1\5w<\2\u02ad\u02af\5{>\2\u02ae\u02ad\3\2\2\2\u02ae\u02af\3"+ - "\2\2\2\u02af\u02b0\3\2\2\2\u02b0\u02b2\5w<\2\u02b1\u02ae\3\2\2\2\u02b1"+ - "\u02b2\3\2\2\2\u02b2v\3\2\2\2\u02b3\u02b6\7\62\2\2\u02b4\u02b6\5y=\2\u02b5"+ - "\u02b3\3\2\2\2\u02b5\u02b4\3\2\2\2\u02b6x\3\2\2\2\u02b7\u02b8\t\3\2\2"+ - "\u02b8z\3\2\2\2\u02b9\u02bb\5}?\2\u02ba\u02b9\3\2\2\2\u02bb\u02bc\3\2"+ - "\2\2\u02bc\u02ba\3\2\2\2\u02bc\u02bd\3\2\2\2\u02bd|\3\2\2\2\u02be\u02c1"+ - "\5w<\2\u02bf\u02c1\7a\2\2\u02c0\u02be\3\2\2\2\u02c0\u02bf\3\2\2\2\u02c1"+ - "~\3\2\2\2\u02c2\u02c4\7a\2\2\u02c3\u02c2\3\2\2\2\u02c4\u02c5\3\2\2\2\u02c5"+ - "\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6\u0080\3\2\2\2\u02c7\u02c8\7\62"+ - "\2\2\u02c8\u02c9\t\4\2\2\u02c9\u02ca\5\u0083B\2\u02ca\u0082\3\2\2\2\u02cb"+ - "\u02d0\5\u0085C\2\u02cc\u02ce\5\u0087D\2\u02cd\u02cc\3\2\2\2\u02cd\u02ce"+ - "\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02d1\5\u0085C\2\u02d0\u02cd\3\2\2"+ - "\2\u02d0\u02d1\3\2\2\2\u02d1\u0084\3\2\2\2\u02d2\u02d3\t\5\2\2\u02d3\u0086"+ - "\3\2\2\2\u02d4\u02d6\5\u0089E\2\u02d5\u02d4\3\2\2\2\u02d6\u02d7\3\2\2"+ - "\2\u02d7\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u0088\3\2\2\2\u02d9\u02dc"+ - "\5\u0085C\2\u02da\u02dc\7a\2\2\u02db\u02d9\3\2\2\2\u02db\u02da\3\2\2\2"+ - "\u02dc\u008a\3\2\2\2\u02dd\u02df\7\62\2\2\u02de\u02e0\5\177@\2\u02df\u02de"+ - "\3\2\2\2\u02df\u02e0\3\2\2\2\u02e0\u02e1\3\2\2\2\u02e1\u02e2\5\u008dG"+ - "\2\u02e2\u008c\3\2\2\2\u02e3\u02e8\5\u008fH\2\u02e4\u02e6\5\u0091I\2\u02e5"+ - "\u02e4\3\2\2\2\u02e5\u02e6\3\2\2\2\u02e6\u02e7\3\2\2\2\u02e7\u02e9\5\u008f"+ - "H\2\u02e8\u02e5\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9\u008e\3\2\2\2\u02ea"+ - "\u02eb\t\6\2\2\u02eb\u0090\3\2\2\2\u02ec\u02ee\5\u0093J\2\u02ed\u02ec"+ - "\3\2\2\2\u02ee\u02ef\3\2\2\2\u02ef\u02ed\3\2\2\2\u02ef\u02f0\3\2\2\2\u02f0"+ - "\u0092\3\2\2\2\u02f1\u02f4\5\u008fH\2\u02f2\u02f4\7a\2\2\u02f3\u02f1\3"+ - "\2\2\2\u02f3\u02f2\3\2\2\2\u02f4\u0094\3\2\2\2\u02f5\u02f6\7\62\2\2\u02f6"+ - "\u02f7\t\7\2\2\u02f7\u02f8\5\u0097L\2\u02f8\u0096\3\2\2\2\u02f9\u02fe"+ - "\5\u0099M\2\u02fa\u02fc\5\u009bN\2\u02fb\u02fa\3\2\2\2\u02fb\u02fc\3\2"+ - "\2\2\u02fc\u02fd\3\2\2\2\u02fd\u02ff\5\u0099M\2\u02fe\u02fb\3\2\2\2\u02fe"+ - "\u02ff\3\2\2\2\u02ff\u0098\3\2\2\2\u0300\u0301\t\b\2\2\u0301\u009a\3\2"+ - "\2\2\u0302\u0304\5\u009dO\2\u0303\u0302\3\2\2\2\u0304\u0305\3\2\2\2\u0305"+ - "\u0303\3\2\2\2\u0305\u0306\3\2\2\2\u0306\u009c\3\2\2\2\u0307\u030a\5\u0099"+ - "M\2\u0308\u030a\7a\2\2\u0309\u0307\3\2\2\2\u0309\u0308\3\2\2\2\u030a\u009e"+ - "\3\2\2\2\u030b\u030e\5\u00a1Q\2\u030c\u030e\5\u00adW\2\u030d\u030b\3\2"+ - "\2\2\u030d\u030c\3\2\2\2\u030e\u00a0\3\2\2\2\u030f\u0310\5u;\2\u0310\u0312"+ - "\7\60\2\2\u0311\u0313\5u;\2\u0312\u0311\3\2\2\2\u0312\u0313\3\2\2\2\u0313"+ - "\u0315\3\2\2\2\u0314\u0316\5\u00a3R\2\u0315\u0314\3\2\2\2\u0315\u0316"+ - "\3\2\2\2\u0316\u0318\3\2\2\2\u0317\u0319\5\u00abV\2\u0318\u0317\3\2\2"+ - "\2\u0318\u0319\3\2\2\2\u0319\u032b\3\2\2\2\u031a\u031b\7\60\2\2\u031b"+ - "\u031d\5u;\2\u031c\u031e\5\u00a3R\2\u031d\u031c\3\2\2\2\u031d\u031e\3"+ - "\2\2\2\u031e\u0320\3\2\2\2\u031f\u0321\5\u00abV\2\u0320\u031f\3\2\2\2"+ - "\u0320\u0321\3\2\2\2\u0321\u032b\3\2\2\2\u0322\u0323\5u;\2\u0323\u0325"+ - "\5\u00a3R\2\u0324\u0326\5\u00abV\2\u0325\u0324\3\2\2\2\u0325\u0326\3\2"+ - "\2\2\u0326\u032b\3\2\2\2\u0327\u0328\5u;\2\u0328\u0329\5\u00abV\2\u0329"+ - "\u032b\3\2\2\2\u032a\u030f\3\2\2\2\u032a\u031a\3\2\2\2\u032a\u0322\3\2"+ - "\2\2\u032a\u0327\3\2\2\2\u032b\u00a2\3\2\2\2\u032c\u032d\5\u00a5S\2\u032d"+ - "\u032e\5\u00a7T\2\u032e\u00a4\3\2\2\2\u032f\u0330\t\t\2\2\u0330\u00a6"+ - "\3\2\2\2\u0331\u0333\5\u00a9U\2\u0332\u0331\3\2\2\2\u0332\u0333\3\2\2"+ - "\2\u0333\u0334\3\2\2\2\u0334\u0335\5u;\2\u0335\u00a8\3\2\2\2\u0336\u0337"+ - "\t\n\2\2\u0337\u00aa\3\2\2\2\u0338\u0339\t\13\2\2\u0339\u00ac\3\2\2\2"+ - "\u033a\u033b\5\u00afX\2\u033b\u033d\5\u00b1Y\2\u033c\u033e\5\u00abV\2"+ - "\u033d\u033c\3\2\2\2\u033d\u033e\3\2\2\2\u033e\u00ae\3\2\2\2\u033f\u0341"+ - "\5\u0081A\2\u0340\u0342\7\60\2\2\u0341\u0340\3\2\2\2\u0341\u0342\3\2\2"+ - "\2\u0342\u034b\3\2\2\2\u0343\u0344\7\62\2\2\u0344\u0346\t\4\2\2\u0345"+ - "\u0347\5\u0083B\2\u0346\u0345\3\2\2\2\u0346\u0347\3\2\2\2\u0347\u0348"+ - "\3\2\2\2\u0348\u0349\7\60\2\2\u0349\u034b\5\u0083B\2\u034a\u033f\3\2\2"+ - "\2\u034a\u0343\3\2\2\2\u034b\u00b0\3\2\2\2\u034c\u034d\5\u00b3Z\2\u034d"+ - "\u034e\5\u00a7T\2\u034e\u00b2\3\2\2\2\u034f\u0350\t\f\2\2\u0350\u00b4"+ - "\3\2\2\2\u0351\u0352\7v\2\2\u0352\u0353\7t\2\2\u0353\u0354\7w\2\2\u0354"+ - "\u035b\7g\2\2\u0355\u0356\7h\2\2\u0356\u0357\7c\2\2\u0357\u0358\7n\2\2"+ - "\u0358\u0359\7u\2\2\u0359\u035b\7g\2\2\u035a\u0351\3\2\2\2\u035a\u0355"+ - "\3\2\2\2\u035b\u00b6\3\2\2\2\u035c\u035d\7)\2\2\u035d\u035e\5\u00b9]\2"+ - "\u035e\u035f\7)\2\2\u035f\u0365\3\2\2\2\u0360\u0361\7)\2\2\u0361\u0362"+ - "\5\u00c1a\2\u0362\u0363\7)\2\2\u0363\u0365\3\2\2\2\u0364\u035c\3\2\2\2"+ - "\u0364\u0360\3\2\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\n\r\2\2\u0367\u00ba"+ - "\3\2\2\2\u0368\u036a\7$\2\2\u0369\u036b\5\u00bd_\2\u036a\u0369\3\2\2\2"+ - "\u036a\u036b\3\2\2\2\u036b\u036c\3\2\2\2\u036c\u036d\7$\2\2\u036d\u00bc"+ - "\3\2\2\2\u036e\u0370\5\u00bf`\2\u036f\u036e\3\2\2\2\u0370\u0371\3\2\2"+ - "\2\u0371\u036f\3\2\2\2\u0371\u0372\3\2\2\2\u0372\u00be\3\2\2\2\u0373\u0376"+ - "\n\16\2\2\u0374\u0376\5\u00c1a\2\u0375\u0373\3\2\2\2\u0375\u0374\3\2\2"+ - "\2\u0376\u00c0\3\2\2\2\u0377\u0378\7^\2\2\u0378\u037c\t\17\2\2\u0379\u037c"+ - "\5\u00c3b\2\u037a\u037c\5\u00c7d\2\u037b\u0377\3\2\2\2\u037b\u0379\3\2"+ - "\2\2\u037b\u037a\3\2\2\2\u037c\u00c2\3\2\2\2\u037d\u037e\7^\2\2\u037e"+ - "\u0389\5\u008fH\2\u037f\u0380\7^\2\2\u0380\u0381\5\u008fH\2\u0381\u0382"+ - "\5\u008fH\2\u0382\u0389\3\2\2\2\u0383\u0384\7^\2\2\u0384\u0385\5\u00c5"+ - "c\2\u0385\u0386\5\u008fH\2\u0386\u0387\5\u008fH\2\u0387\u0389\3\2\2\2"+ - "\u0388\u037d\3\2\2\2\u0388\u037f\3\2\2\2\u0388\u0383\3\2\2\2\u0389\u00c4"+ - "\3\2\2\2\u038a\u038b\t\20\2\2\u038b\u00c6\3\2\2\2\u038c\u038d\7^\2\2\u038d"+ - "\u038e\7w\2\2\u038e\u038f\5\u0085C\2\u038f\u0390\5\u0085C\2\u0390\u0391"+ - "\5\u0085C\2\u0391\u0392\5\u0085C\2\u0392\u00c8\3\2\2\2\u0393\u0394\7p"+ - "\2\2\u0394\u0395\7w\2\2\u0395\u0396\7n\2\2\u0396\u0397\7n\2\2\u0397\u00ca"+ - "\3\2\2\2\u0398\u0399\7*\2\2\u0399\u00cc\3\2\2\2\u039a\u039b\7+\2\2\u039b"+ - "\u00ce\3\2\2\2\u039c\u039d\7}\2\2\u039d\u00d0\3\2\2\2\u039e\u039f\7\177"+ - "\2\2\u039f\u00d2\3\2\2\2\u03a0\u03a1\7]\2\2\u03a1\u00d4\3\2\2\2\u03a2"+ - "\u03a3\7_\2\2\u03a3\u00d6\3\2\2\2\u03a4\u03a5\7=\2\2\u03a5\u00d8\3\2\2"+ - "\2\u03a6\u03a7\7.\2\2\u03a7\u00da\3\2\2\2\u03a8\u03a9\7\60\2\2\u03a9\u00dc"+ - "\3\2\2\2\u03aa\u03ab\7?\2\2\u03ab\u00de\3\2\2\2\u03ac\u03ad\7@\2\2\u03ad"+ - "\u00e0\3\2\2\2\u03ae\u03af\7>\2\2\u03af\u00e2\3\2\2\2\u03b0\u03b1\7#\2"+ - "\2\u03b1\u00e4\3\2\2\2\u03b2\u03b3\7\u0080\2\2\u03b3\u00e6\3\2\2\2\u03b4"+ - "\u03b5\7A\2\2\u03b5\u00e8\3\2\2\2\u03b6\u03b7\7<\2\2\u03b7\u00ea\3\2\2"+ - "\2\u03b8\u03b9\7?\2\2\u03b9\u03ba\7?\2\2\u03ba\u00ec\3\2\2\2\u03bb\u03bc"+ - "\7>\2\2\u03bc\u03bd\7?\2\2\u03bd\u00ee\3\2\2\2\u03be\u03bf\7@\2\2\u03bf"+ - "\u03c0\7?\2\2\u03c0\u00f0\3\2\2\2\u03c1\u03c2\7#\2\2\u03c2\u03c3\7?\2"+ - "\2\u03c3\u00f2\3\2\2\2\u03c4\u03c5\7(\2\2\u03c5\u03c6\7(\2\2\u03c6\u00f4"+ - "\3\2\2\2\u03c7\u03c8\7~\2\2\u03c8\u03c9\7~\2\2\u03c9\u00f6\3\2\2\2\u03ca"+ - "\u03cb\7-\2\2\u03cb\u03cc\7-\2\2\u03cc\u00f8\3\2\2\2\u03cd\u03ce\7/\2"+ - "\2\u03ce\u03cf\7/\2\2\u03cf\u00fa\3\2\2\2\u03d0\u03d1\7-\2\2\u03d1\u00fc"+ - "\3\2\2\2\u03d2\u03d3\7/\2\2\u03d3\u00fe\3\2\2\2\u03d4\u03d5\7,\2\2\u03d5"+ - "\u0100\3\2\2\2\u03d6\u03d7\7\61\2\2\u03d7\u0102\3\2\2\2\u03d8\u03d9\7"+ - "(\2\2\u03d9\u0104\3\2\2\2\u03da\u03db\7~\2\2\u03db\u0106\3\2\2\2\u03dc"+ - "\u03dd\7`\2\2\u03dd\u0108\3\2\2\2\u03de\u03df\7\'\2\2\u03df\u010a\3\2"+ - "\2\2\u03e0\u03e1\7/\2\2\u03e1\u03e2\7@\2\2\u03e2\u010c\3\2\2\2\u03e3\u03e4"+ - "\7<\2\2\u03e4\u03e5\7<\2\2\u03e5\u010e\3\2\2\2\u03e6\u03e7\7-\2\2\u03e7"+ - "\u03e8\7?\2\2\u03e8\u0110\3\2\2\2\u03e9\u03ea\7/\2\2\u03ea\u03eb\7?\2"+ - "\2\u03eb\u0112\3\2\2\2\u03ec\u03ed\7,\2\2\u03ed\u03ee\7?\2\2\u03ee\u0114"+ - "\3\2\2\2\u03ef\u03f0\7\61\2\2\u03f0\u03f1\7?\2\2\u03f1\u0116\3\2\2\2\u03f2"+ - "\u03f3\7(\2\2\u03f3\u03f4\7?\2\2\u03f4\u0118\3\2\2\2\u03f5\u03f6\7~\2"+ - "\2\u03f6\u03f7\7?\2\2\u03f7\u011a\3\2\2\2\u03f8\u03f9\7`\2\2\u03f9\u03fa"+ - "\7?\2\2\u03fa\u011c\3\2\2\2\u03fb\u03fc\7\'\2\2\u03fc\u03fd\7?\2\2\u03fd"+ - "\u011e\3\2\2\2\u03fe\u03ff\7>\2\2\u03ff\u0400\7>\2\2\u0400\u0401\7?\2"+ - "\2\u0401\u0120\3\2\2\2\u0402\u0403\7@\2\2\u0403\u0404\7@\2\2\u0404\u0405"+ - "\7?\2\2\u0405\u0122\3\2\2\2\u0406\u0407\7@\2\2\u0407\u0408\7@\2\2\u0408"+ - "\u0409\7@\2\2\u0409\u040a\7?\2\2\u040a\u0124\3\2\2\2\u040b\u040f\5\u0127"+ - "\u0094\2\u040c\u040e\5\u0129\u0095\2\u040d\u040c\3\2\2\2\u040e\u0411\3"+ - "\2\2\2\u040f\u040d\3\2\2\2\u040f\u0410\3\2\2\2\u0410\u0126\3\2\2\2\u0411"+ - "\u040f\3\2\2\2\u0412\u0419\t\21\2\2\u0413\u0414\n\22\2\2\u0414\u0419\6"+ - "\u0094\2\2\u0415\u0416\t\23\2\2\u0416\u0417\t\24\2\2\u0417\u0419\6\u0094"+ - "\3\2\u0418\u0412\3\2\2\2\u0418\u0413\3\2\2\2\u0418\u0415\3\2\2\2\u0419"+ - "\u0128\3\2\2\2\u041a\u0421\t\25\2\2\u041b\u041c\n\22\2\2\u041c\u0421\6"+ - "\u0095\4\2\u041d\u041e\t\23\2\2\u041e\u041f\t\24\2\2\u041f\u0421\6\u0095"+ - "\5\2\u0420\u041a\3\2\2\2\u0420\u041b\3\2\2\2\u0420\u041d\3\2\2\2\u0421"+ - "\u012a\3\2\2\2\u0422\u0423\7B\2\2\u0423\u012c\3\2\2\2\u0424\u0425\7\60"+ - "\2\2\u0425\u0426\7\60\2\2\u0426\u0427\7\60\2\2\u0427\u012e\3\2\2\2\u0428"+ - "\u042a\t\26\2\2\u0429\u0428\3\2\2\2\u042a\u042b\3\2\2\2\u042b\u0429\3"+ - "\2\2\2\u042b\u042c\3\2\2\2\u042c\u042d\3\2\2\2\u042d\u042e\b\u0098\2\2"+ - "\u042e\u0130\3\2\2\2\u042f\u0430\7\61\2\2\u0430\u0431\7,\2\2\u0431\u0435"+ - "\3\2\2\2\u0432\u0434\13\2\2\2\u0433\u0432\3\2\2\2\u0434\u0437\3\2\2\2"+ - "\u0435\u0436\3\2\2\2\u0435\u0433\3\2\2\2\u0436\u0438\3\2\2\2\u0437\u0435"+ - "\3\2\2\2\u0438\u0439\7,\2\2\u0439\u043a\7\61\2\2\u043a\u043b\3\2\2\2\u043b"+ - "\u043c\b\u0099\2\2\u043c\u0132\3\2\2\2\u043d\u043e\7\61\2\2\u043e\u043f"+ - "\7\61\2\2\u043f\u0443\3\2\2\2\u0440\u0442\n\27\2\2\u0441\u0440\3\2\2\2"+ - "\u0442\u0445\3\2\2\2\u0443\u0441\3\2\2\2\u0443\u0444\3\2\2\2\u0444\u0446"+ - "\3\2\2\2\u0445\u0443\3\2\2\2\u0446\u0447\b\u009a\2\2\u0447\u0134\3\2\2"+ - "\28\2\u028c\u0290\u0294\u0298\u029c\u02a3\u02a8\u02aa\u02ae\u02b1\u02b5"+ - "\u02bc\u02c0\u02c5\u02cd\u02d0\u02d7\u02db\u02df\u02e5\u02e8\u02ef\u02f3"+ - "\u02fb\u02fe\u0305\u0309\u030d\u0312\u0315\u0318\u031d\u0320\u0325\u032a"+ - "\u0332\u033d\u0341\u0346\u034a\u035a\u0364\u036a\u0371\u0375\u037b\u0388"+ - "\u040f\u0418\u0420\u042b\u0435\u0443\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Lexer.tokens b/src/de/dhbwstuttgart/parser/Java8Lexer.tokens deleted file mode 100644 index 52ef1eee..00000000 --- a/src/de/dhbwstuttgart/parser/Java8Lexer.tokens +++ /dev/null @@ -1,205 +0,0 @@ -ABSTRACT=1 -ASSERT=2 -BOOLEAN=3 -BREAK=4 -BYTE=5 -CASE=6 -CATCH=7 -CHAR=8 -CLASS=9 -CONST=10 -CONTINUE=11 -DEFAULT=12 -DO=13 -DOUBLE=14 -ELSE=15 -ENUM=16 -EXTENDS=17 -FINAL=18 -FINALLY=19 -FLOAT=20 -FOR=21 -IF=22 -GOTO=23 -IMPLEMENTS=24 -IMPORT=25 -INSTANCEOF=26 -INT=27 -INTERFACE=28 -LONG=29 -NATIVE=30 -NEW=31 -PACKAGE=32 -PRIVATE=33 -PROTECTED=34 -PUBLIC=35 -RETURN=36 -SHORT=37 -STATIC=38 -STRICTFP=39 -SUPER=40 -SWITCH=41 -SYNCHRONIZED=42 -THIS=43 -THROW=44 -THROWS=45 -TRANSIENT=46 -TRY=47 -VOID=48 -VOLATILE=49 -WHILE=50 -IntegerLiteral=51 -FloatingPointLiteral=52 -BooleanLiteral=53 -CharacterLiteral=54 -StringLiteral=55 -NullLiteral=56 -LPAREN=57 -RPAREN=58 -LBRACE=59 -RBRACE=60 -LBRACK=61 -RBRACK=62 -SEMI=63 -COMMA=64 -DOT=65 -ASSIGN=66 -GT=67 -LT=68 -BANG=69 -TILDE=70 -QUESTION=71 -COLON=72 -EQUAL=73 -LE=74 -GE=75 -NOTEQUAL=76 -AND=77 -OR=78 -INC=79 -DEC=80 -ADD=81 -SUB=82 -MUL=83 -DIV=84 -BITAND=85 -BITOR=86 -CARET=87 -MOD=88 -ARROW=89 -COLONCOLON=90 -ADD_ASSIGN=91 -SUB_ASSIGN=92 -MUL_ASSIGN=93 -DIV_ASSIGN=94 -AND_ASSIGN=95 -OR_ASSIGN=96 -XOR_ASSIGN=97 -MOD_ASSIGN=98 -LSHIFT_ASSIGN=99 -RSHIFT_ASSIGN=100 -URSHIFT_ASSIGN=101 -Identifier=102 -AT=103 -ELLIPSIS=104 -WS=105 -COMMENT=106 -LINE_COMMENT=107 -'abstract'=1 -'assert'=2 -'boolean'=3 -'break'=4 -'byte'=5 -'case'=6 -'catch'=7 -'char'=8 -'class'=9 -'const'=10 -'continue'=11 -'default'=12 -'do'=13 -'double'=14 -'else'=15 -'enum'=16 -'extends'=17 -'final'=18 -'finally'=19 -'float'=20 -'for'=21 -'if'=22 -'goto'=23 -'implements'=24 -'import'=25 -'instanceof'=26 -'int'=27 -'interface'=28 -'long'=29 -'native'=30 -'new'=31 -'package'=32 -'private'=33 -'protected'=34 -'public'=35 -'return'=36 -'short'=37 -'static'=38 -'strictfp'=39 -'super'=40 -'switch'=41 -'synchronized'=42 -'this'=43 -'throw'=44 -'throws'=45 -'transient'=46 -'try'=47 -'void'=48 -'volatile'=49 -'while'=50 -'null'=56 -'('=57 -')'=58 -'{'=59 -'}'=60 -'['=61 -']'=62 -';'=63 -','=64 -'.'=65 -'='=66 -'>'=67 -'<'=68 -'!'=69 -'~'=70 -'?'=71 -':'=72 -'=='=73 -'<='=74 -'>='=75 -'!='=76 -'&&'=77 -'||'=78 -'++'=79 -'--'=80 -'+'=81 -'-'=82 -'*'=83 -'/'=84 -'&'=85 -'|'=86 -'^'=87 -'%'=88 -'->'=89 -'::'=90 -'+='=91 -'-='=92 -'*='=93 -'/='=94 -'&='=95 -'|='=96 -'^='=97 -'%='=98 -'<<='=99 -'>>='=100 -'>>>='=101 -'@'=103 -'...'=104 diff --git a/src/de/dhbwstuttgart/parser/Java8Listener.java b/src/de/dhbwstuttgart/parser/Java8Listener.java deleted file mode 100644 index 42e85a1a..00000000 --- a/src/de/dhbwstuttgart/parser/Java8Listener.java +++ /dev/null @@ -1,2380 +0,0 @@ -// Generated from Java8.g4 by ANTLR 4.5.3 -package de.dhbwstuttgart.parser; -import org.antlr.v4.runtime.tree.ParseTreeListener; - -/** - * This interface defines a complete listener for a parse tree produced by - * {@link Java8Parser}. - */ -public interface Java8Listener extends ParseTreeListener { - /** - * Enter a parse tree produced by {@link Java8Parser#literal}. - * @param ctx the parse tree - */ - void enterLiteral(Java8Parser.LiteralContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#literal}. - * @param ctx the parse tree - */ - void exitLiteral(Java8Parser.LiteralContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#type}. - * @param ctx the parse tree - */ - void enterType(Java8Parser.TypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#type}. - * @param ctx the parse tree - */ - void exitType(Java8Parser.TypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primitiveType}. - * @param ctx the parse tree - */ - void enterPrimitiveType(Java8Parser.PrimitiveTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primitiveType}. - * @param ctx the parse tree - */ - void exitPrimitiveType(Java8Parser.PrimitiveTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#numericType}. - * @param ctx the parse tree - */ - void enterNumericType(Java8Parser.NumericTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#numericType}. - * @param ctx the parse tree - */ - void exitNumericType(Java8Parser.NumericTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#integralType}. - * @param ctx the parse tree - */ - void enterIntegralType(Java8Parser.IntegralTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#integralType}. - * @param ctx the parse tree - */ - void exitIntegralType(Java8Parser.IntegralTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#floatingPointType}. - * @param ctx the parse tree - */ - void enterFloatingPointType(Java8Parser.FloatingPointTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#floatingPointType}. - * @param ctx the parse tree - */ - void exitFloatingPointType(Java8Parser.FloatingPointTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#referenceType}. - * @param ctx the parse tree - */ - void enterReferenceType(Java8Parser.ReferenceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#referenceType}. - * @param ctx the parse tree - */ - void exitReferenceType(Java8Parser.ReferenceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classType}. - * @param ctx the parse tree - */ - void enterClassType(Java8Parser.ClassTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classType}. - * @param ctx the parse tree - */ - void exitClassType(Java8Parser.ClassTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classType_lf_classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classType_lf_classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classType_lfno_classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classType_lfno_classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceType}. - * @param ctx the parse tree - */ - void enterInterfaceType(Java8Parser.InterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceType}. - * @param ctx the parse tree - */ - void exitInterfaceType(Java8Parser.InterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceType_lf_classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceType_lf_classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceType_lfno_classOrInterfaceType}. - * @param ctx the parse tree - */ - void enterInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceType_lfno_classOrInterfaceType}. - * @param ctx the parse tree - */ - void exitInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeVariable}. - * @param ctx the parse tree - */ - void enterTypeVariable(Java8Parser.TypeVariableContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeVariable}. - * @param ctx the parse tree - */ - void exitTypeVariable(Java8Parser.TypeVariableContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayType}. - * @param ctx the parse tree - */ - void enterArrayType(Java8Parser.ArrayTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayType}. - * @param ctx the parse tree - */ - void exitArrayType(Java8Parser.ArrayTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#dims}. - * @param ctx the parse tree - */ - void enterDims(Java8Parser.DimsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#dims}. - * @param ctx the parse tree - */ - void exitDims(Java8Parser.DimsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeParameter}. - * @param ctx the parse tree - */ - void enterTypeParameter(Java8Parser.TypeParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeParameter}. - * @param ctx the parse tree - */ - void exitTypeParameter(Java8Parser.TypeParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeParameterModifier}. - * @param ctx the parse tree - */ - void enterTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeParameterModifier}. - * @param ctx the parse tree - */ - void exitTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeBound}. - * @param ctx the parse tree - */ - void enterTypeBound(Java8Parser.TypeBoundContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeBound}. - * @param ctx the parse tree - */ - void exitTypeBound(Java8Parser.TypeBoundContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#additionalBound}. - * @param ctx the parse tree - */ - void enterAdditionalBound(Java8Parser.AdditionalBoundContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#additionalBound}. - * @param ctx the parse tree - */ - void exitAdditionalBound(Java8Parser.AdditionalBoundContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeArguments}. - * @param ctx the parse tree - */ - void enterTypeArguments(Java8Parser.TypeArgumentsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeArguments}. - * @param ctx the parse tree - */ - void exitTypeArguments(Java8Parser.TypeArgumentsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeArgumentList}. - * @param ctx the parse tree - */ - void enterTypeArgumentList(Java8Parser.TypeArgumentListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeArgumentList}. - * @param ctx the parse tree - */ - void exitTypeArgumentList(Java8Parser.TypeArgumentListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeArgument}. - * @param ctx the parse tree - */ - void enterTypeArgument(Java8Parser.TypeArgumentContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeArgument}. - * @param ctx the parse tree - */ - void exitTypeArgument(Java8Parser.TypeArgumentContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#wildcard}. - * @param ctx the parse tree - */ - void enterWildcard(Java8Parser.WildcardContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#wildcard}. - * @param ctx the parse tree - */ - void exitWildcard(Java8Parser.WildcardContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#wildcardBounds}. - * @param ctx the parse tree - */ - void enterWildcardBounds(Java8Parser.WildcardBoundsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#wildcardBounds}. - * @param ctx the parse tree - */ - void exitWildcardBounds(Java8Parser.WildcardBoundsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#packageName}. - * @param ctx the parse tree - */ - void enterPackageName(Java8Parser.PackageNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#packageName}. - * @param ctx the parse tree - */ - void exitPackageName(Java8Parser.PackageNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeName}. - * @param ctx the parse tree - */ - void enterTypeName(Java8Parser.TypeNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeName}. - * @param ctx the parse tree - */ - void exitTypeName(Java8Parser.TypeNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#packageOrTypeName}. - * @param ctx the parse tree - */ - void enterPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#packageOrTypeName}. - * @param ctx the parse tree - */ - void exitPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#expressionName}. - * @param ctx the parse tree - */ - void enterExpressionName(Java8Parser.ExpressionNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#expressionName}. - * @param ctx the parse tree - */ - void exitExpressionName(Java8Parser.ExpressionNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodName}. - * @param ctx the parse tree - */ - void enterMethodName(Java8Parser.MethodNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodName}. - * @param ctx the parse tree - */ - void exitMethodName(Java8Parser.MethodNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#ambiguousName}. - * @param ctx the parse tree - */ - void enterAmbiguousName(Java8Parser.AmbiguousNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#ambiguousName}. - * @param ctx the parse tree - */ - void exitAmbiguousName(Java8Parser.AmbiguousNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#compilationUnit}. - * @param ctx the parse tree - */ - void enterCompilationUnit(Java8Parser.CompilationUnitContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#compilationUnit}. - * @param ctx the parse tree - */ - void exitCompilationUnit(Java8Parser.CompilationUnitContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#packageDeclaration}. - * @param ctx the parse tree - */ - void enterPackageDeclaration(Java8Parser.PackageDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#packageDeclaration}. - * @param ctx the parse tree - */ - void exitPackageDeclaration(Java8Parser.PackageDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#packageModifier}. - * @param ctx the parse tree - */ - void enterPackageModifier(Java8Parser.PackageModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#packageModifier}. - * @param ctx the parse tree - */ - void exitPackageModifier(Java8Parser.PackageModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#importDeclaration}. - * @param ctx the parse tree - */ - void enterImportDeclaration(Java8Parser.ImportDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#importDeclaration}. - * @param ctx the parse tree - */ - void exitImportDeclaration(Java8Parser.ImportDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#singleTypeImportDeclaration}. - * @param ctx the parse tree - */ - void enterSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#singleTypeImportDeclaration}. - * @param ctx the parse tree - */ - void exitSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeImportOnDemandDeclaration}. - * @param ctx the parse tree - */ - void enterTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeImportOnDemandDeclaration}. - * @param ctx the parse tree - */ - void exitTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#singleStaticImportDeclaration}. - * @param ctx the parse tree - */ - void enterSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#singleStaticImportDeclaration}. - * @param ctx the parse tree - */ - void exitSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#staticImportOnDemandDeclaration}. - * @param ctx the parse tree - */ - void enterStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#staticImportOnDemandDeclaration}. - * @param ctx the parse tree - */ - void exitStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeDeclaration}. - * @param ctx the parse tree - */ - void enterTypeDeclaration(Java8Parser.TypeDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeDeclaration}. - * @param ctx the parse tree - */ - void exitTypeDeclaration(Java8Parser.TypeDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classDeclaration}. - * @param ctx the parse tree - */ - void enterClassDeclaration(Java8Parser.ClassDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classDeclaration}. - * @param ctx the parse tree - */ - void exitClassDeclaration(Java8Parser.ClassDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#normalClassDeclaration}. - * @param ctx the parse tree - */ - void enterNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#normalClassDeclaration}. - * @param ctx the parse tree - */ - void exitNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classModifier}. - * @param ctx the parse tree - */ - void enterClassModifier(Java8Parser.ClassModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classModifier}. - * @param ctx the parse tree - */ - void exitClassModifier(Java8Parser.ClassModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeParameters}. - * @param ctx the parse tree - */ - void enterTypeParameters(Java8Parser.TypeParametersContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeParameters}. - * @param ctx the parse tree - */ - void exitTypeParameters(Java8Parser.TypeParametersContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeParameterList}. - * @param ctx the parse tree - */ - void enterTypeParameterList(Java8Parser.TypeParameterListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeParameterList}. - * @param ctx the parse tree - */ - void exitTypeParameterList(Java8Parser.TypeParameterListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#superclass}. - * @param ctx the parse tree - */ - void enterSuperclass(Java8Parser.SuperclassContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#superclass}. - * @param ctx the parse tree - */ - void exitSuperclass(Java8Parser.SuperclassContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#superinterfaces}. - * @param ctx the parse tree - */ - void enterSuperinterfaces(Java8Parser.SuperinterfacesContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#superinterfaces}. - * @param ctx the parse tree - */ - void exitSuperinterfaces(Java8Parser.SuperinterfacesContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceTypeList}. - * @param ctx the parse tree - */ - void enterInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceTypeList}. - * @param ctx the parse tree - */ - void exitInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classBody}. - * @param ctx the parse tree - */ - void enterClassBody(Java8Parser.ClassBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classBody}. - * @param ctx the parse tree - */ - void exitClassBody(Java8Parser.ClassBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classBodyDeclaration}. - * @param ctx the parse tree - */ - void enterClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classBodyDeclaration}. - * @param ctx the parse tree - */ - void exitClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classMemberDeclaration}. - * @param ctx the parse tree - */ - void enterClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classMemberDeclaration}. - * @param ctx the parse tree - */ - void exitClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldDeclaration}. - * @param ctx the parse tree - */ - void enterFieldDeclaration(Java8Parser.FieldDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldDeclaration}. - * @param ctx the parse tree - */ - void exitFieldDeclaration(Java8Parser.FieldDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldModifier}. - * @param ctx the parse tree - */ - void enterFieldModifier(Java8Parser.FieldModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldModifier}. - * @param ctx the parse tree - */ - void exitFieldModifier(Java8Parser.FieldModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableDeclaratorList}. - * @param ctx the parse tree - */ - void enterVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableDeclaratorList}. - * @param ctx the parse tree - */ - void exitVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableDeclarator}. - * @param ctx the parse tree - */ - void enterVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableDeclarator}. - * @param ctx the parse tree - */ - void exitVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableDeclaratorId}. - * @param ctx the parse tree - */ - void enterVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableDeclaratorId}. - * @param ctx the parse tree - */ - void exitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableInitializer}. - * @param ctx the parse tree - */ - void enterVariableInitializer(Java8Parser.VariableInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableInitializer}. - * @param ctx the parse tree - */ - void exitVariableInitializer(Java8Parser.VariableInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannType}. - * @param ctx the parse tree - */ - void enterUnannType(Java8Parser.UnannTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannType}. - * @param ctx the parse tree - */ - void exitUnannType(Java8Parser.UnannTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannPrimitiveType}. - * @param ctx the parse tree - */ - void enterUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannPrimitiveType}. - * @param ctx the parse tree - */ - void exitUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannReferenceType}. - * @param ctx the parse tree - */ - void enterUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannReferenceType}. - * @param ctx the parse tree - */ - void exitUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannClassType}. - * @param ctx the parse tree - */ - void enterUnannClassType(Java8Parser.UnannClassTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannClassType}. - * @param ctx the parse tree - */ - void exitUnannClassType(Java8Parser.UnannClassTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannClassType_lf_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannClassType_lf_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannClassType_lfno_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannClassType_lfno_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType_lf_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType_lf_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType_lfno_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void enterUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType_lfno_unannClassOrInterfaceType}. - * @param ctx the parse tree - */ - void exitUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannTypeVariable}. - * @param ctx the parse tree - */ - void enterUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannTypeVariable}. - * @param ctx the parse tree - */ - void exitUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unannArrayType}. - * @param ctx the parse tree - */ - void enterUnannArrayType(Java8Parser.UnannArrayTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unannArrayType}. - * @param ctx the parse tree - */ - void exitUnannArrayType(Java8Parser.UnannArrayTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodDeclaration}. - * @param ctx the parse tree - */ - void enterMethodDeclaration(Java8Parser.MethodDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodDeclaration}. - * @param ctx the parse tree - */ - void exitMethodDeclaration(Java8Parser.MethodDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodModifier}. - * @param ctx the parse tree - */ - void enterMethodModifier(Java8Parser.MethodModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodModifier}. - * @param ctx the parse tree - */ - void exitMethodModifier(Java8Parser.MethodModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodHeader}. - * @param ctx the parse tree - */ - void enterMethodHeader(Java8Parser.MethodHeaderContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodHeader}. - * @param ctx the parse tree - */ - void exitMethodHeader(Java8Parser.MethodHeaderContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#result}. - * @param ctx the parse tree - */ - void enterResult(Java8Parser.ResultContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#result}. - * @param ctx the parse tree - */ - void exitResult(Java8Parser.ResultContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodDeclarator}. - * @param ctx the parse tree - */ - void enterMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodDeclarator}. - * @param ctx the parse tree - */ - void exitMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#formalParameterList}. - * @param ctx the parse tree - */ - void enterFormalParameterList(Java8Parser.FormalParameterListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#formalParameterList}. - * @param ctx the parse tree - */ - void exitFormalParameterList(Java8Parser.FormalParameterListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#formalParameters}. - * @param ctx the parse tree - */ - void enterFormalParameters(Java8Parser.FormalParametersContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#formalParameters}. - * @param ctx the parse tree - */ - void exitFormalParameters(Java8Parser.FormalParametersContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#formalParameter}. - * @param ctx the parse tree - */ - void enterFormalParameter(Java8Parser.FormalParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#formalParameter}. - * @param ctx the parse tree - */ - void exitFormalParameter(Java8Parser.FormalParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableModifier}. - * @param ctx the parse tree - */ - void enterVariableModifier(Java8Parser.VariableModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableModifier}. - * @param ctx the parse tree - */ - void exitVariableModifier(Java8Parser.VariableModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#lastFormalParameter}. - * @param ctx the parse tree - */ - void enterLastFormalParameter(Java8Parser.LastFormalParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#lastFormalParameter}. - * @param ctx the parse tree - */ - void exitLastFormalParameter(Java8Parser.LastFormalParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#receiverParameter}. - * @param ctx the parse tree - */ - void enterReceiverParameter(Java8Parser.ReceiverParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#receiverParameter}. - * @param ctx the parse tree - */ - void exitReceiverParameter(Java8Parser.ReceiverParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#throws_}. - * @param ctx the parse tree - */ - void enterThrows_(Java8Parser.Throws_Context ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#throws_}. - * @param ctx the parse tree - */ - void exitThrows_(Java8Parser.Throws_Context ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#exceptionTypeList}. - * @param ctx the parse tree - */ - void enterExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#exceptionTypeList}. - * @param ctx the parse tree - */ - void exitExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#exceptionType}. - * @param ctx the parse tree - */ - void enterExceptionType(Java8Parser.ExceptionTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#exceptionType}. - * @param ctx the parse tree - */ - void exitExceptionType(Java8Parser.ExceptionTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodBody}. - * @param ctx the parse tree - */ - void enterMethodBody(Java8Parser.MethodBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodBody}. - * @param ctx the parse tree - */ - void exitMethodBody(Java8Parser.MethodBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#instanceInitializer}. - * @param ctx the parse tree - */ - void enterInstanceInitializer(Java8Parser.InstanceInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#instanceInitializer}. - * @param ctx the parse tree - */ - void exitInstanceInitializer(Java8Parser.InstanceInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#staticInitializer}. - * @param ctx the parse tree - */ - void enterStaticInitializer(Java8Parser.StaticInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#staticInitializer}. - * @param ctx the parse tree - */ - void exitStaticInitializer(Java8Parser.StaticInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constructorDeclaration}. - * @param ctx the parse tree - */ - void enterConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constructorDeclaration}. - * @param ctx the parse tree - */ - void exitConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constructorModifier}. - * @param ctx the parse tree - */ - void enterConstructorModifier(Java8Parser.ConstructorModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constructorModifier}. - * @param ctx the parse tree - */ - void exitConstructorModifier(Java8Parser.ConstructorModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constructorDeclarator}. - * @param ctx the parse tree - */ - void enterConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constructorDeclarator}. - * @param ctx the parse tree - */ - void exitConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#simpleTypeName}. - * @param ctx the parse tree - */ - void enterSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#simpleTypeName}. - * @param ctx the parse tree - */ - void exitSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constructorBody}. - * @param ctx the parse tree - */ - void enterConstructorBody(Java8Parser.ConstructorBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constructorBody}. - * @param ctx the parse tree - */ - void exitConstructorBody(Java8Parser.ConstructorBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#explicitConstructorInvocation}. - * @param ctx the parse tree - */ - void enterExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#explicitConstructorInvocation}. - * @param ctx the parse tree - */ - void exitExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumDeclaration}. - * @param ctx the parse tree - */ - void enterEnumDeclaration(Java8Parser.EnumDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumDeclaration}. - * @param ctx the parse tree - */ - void exitEnumDeclaration(Java8Parser.EnumDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumBody}. - * @param ctx the parse tree - */ - void enterEnumBody(Java8Parser.EnumBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumBody}. - * @param ctx the parse tree - */ - void exitEnumBody(Java8Parser.EnumBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumConstantList}. - * @param ctx the parse tree - */ - void enterEnumConstantList(Java8Parser.EnumConstantListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumConstantList}. - * @param ctx the parse tree - */ - void exitEnumConstantList(Java8Parser.EnumConstantListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumConstant}. - * @param ctx the parse tree - */ - void enterEnumConstant(Java8Parser.EnumConstantContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumConstant}. - * @param ctx the parse tree - */ - void exitEnumConstant(Java8Parser.EnumConstantContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumConstantModifier}. - * @param ctx the parse tree - */ - void enterEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumConstantModifier}. - * @param ctx the parse tree - */ - void exitEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumBodyDeclarations}. - * @param ctx the parse tree - */ - void enterEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumBodyDeclarations}. - * @param ctx the parse tree - */ - void exitEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceDeclaration}. - * @param ctx the parse tree - */ - void enterInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceDeclaration}. - * @param ctx the parse tree - */ - void exitInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#normalInterfaceDeclaration}. - * @param ctx the parse tree - */ - void enterNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#normalInterfaceDeclaration}. - * @param ctx the parse tree - */ - void exitNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceModifier}. - * @param ctx the parse tree - */ - void enterInterfaceModifier(Java8Parser.InterfaceModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceModifier}. - * @param ctx the parse tree - */ - void exitInterfaceModifier(Java8Parser.InterfaceModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#extendsInterfaces}. - * @param ctx the parse tree - */ - void enterExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#extendsInterfaces}. - * @param ctx the parse tree - */ - void exitExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceBody}. - * @param ctx the parse tree - */ - void enterInterfaceBody(Java8Parser.InterfaceBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceBody}. - * @param ctx the parse tree - */ - void exitInterfaceBody(Java8Parser.InterfaceBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}. - * @param ctx the parse tree - */ - void enterInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}. - * @param ctx the parse tree - */ - void exitInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constantDeclaration}. - * @param ctx the parse tree - */ - void enterConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constantDeclaration}. - * @param ctx the parse tree - */ - void exitConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constantModifier}. - * @param ctx the parse tree - */ - void enterConstantModifier(Java8Parser.ConstantModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constantModifier}. - * @param ctx the parse tree - */ - void exitConstantModifier(Java8Parser.ConstantModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}. - * @param ctx the parse tree - */ - void enterInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}. - * @param ctx the parse tree - */ - void exitInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#interfaceMethodModifier}. - * @param ctx the parse tree - */ - void enterInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#interfaceMethodModifier}. - * @param ctx the parse tree - */ - void exitInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}. - * @param ctx the parse tree - */ - void enterAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}. - * @param ctx the parse tree - */ - void exitAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeBody}. - * @param ctx the parse tree - */ - void enterAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeBody}. - * @param ctx the parse tree - */ - void exitAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeMemberDeclaration}. - * @param ctx the parse tree - */ - void enterAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeMemberDeclaration}. - * @param ctx the parse tree - */ - void exitAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}. - * @param ctx the parse tree - */ - void enterAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}. - * @param ctx the parse tree - */ - void exitAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotationTypeElementModifier}. - * @param ctx the parse tree - */ - void enterAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotationTypeElementModifier}. - * @param ctx the parse tree - */ - void exitAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#defaultValue}. - * @param ctx the parse tree - */ - void enterDefaultValue(Java8Parser.DefaultValueContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#defaultValue}. - * @param ctx the parse tree - */ - void exitDefaultValue(Java8Parser.DefaultValueContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#annotation}. - * @param ctx the parse tree - */ - void enterAnnotation(Java8Parser.AnnotationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#annotation}. - * @param ctx the parse tree - */ - void exitAnnotation(Java8Parser.AnnotationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#normalAnnotation}. - * @param ctx the parse tree - */ - void enterNormalAnnotation(Java8Parser.NormalAnnotationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#normalAnnotation}. - * @param ctx the parse tree - */ - void exitNormalAnnotation(Java8Parser.NormalAnnotationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValuePairList}. - * @param ctx the parse tree - */ - void enterElementValuePairList(Java8Parser.ElementValuePairListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValuePairList}. - * @param ctx the parse tree - */ - void exitElementValuePairList(Java8Parser.ElementValuePairListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValuePair}. - * @param ctx the parse tree - */ - void enterElementValuePair(Java8Parser.ElementValuePairContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValuePair}. - * @param ctx the parse tree - */ - void exitElementValuePair(Java8Parser.ElementValuePairContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValue}. - * @param ctx the parse tree - */ - void enterElementValue(Java8Parser.ElementValueContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValue}. - * @param ctx the parse tree - */ - void exitElementValue(Java8Parser.ElementValueContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}. - * @param ctx the parse tree - */ - void enterElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}. - * @param ctx the parse tree - */ - void exitElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#elementValueList}. - * @param ctx the parse tree - */ - void enterElementValueList(Java8Parser.ElementValueListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#elementValueList}. - * @param ctx the parse tree - */ - void exitElementValueList(Java8Parser.ElementValueListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#markerAnnotation}. - * @param ctx the parse tree - */ - void enterMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#markerAnnotation}. - * @param ctx the parse tree - */ - void exitMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#singleElementAnnotation}. - * @param ctx the parse tree - */ - void enterSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#singleElementAnnotation}. - * @param ctx the parse tree - */ - void exitSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayInitializer}. - * @param ctx the parse tree - */ - void enterArrayInitializer(Java8Parser.ArrayInitializerContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayInitializer}. - * @param ctx the parse tree - */ - void exitArrayInitializer(Java8Parser.ArrayInitializerContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#variableInitializerList}. - * @param ctx the parse tree - */ - void enterVariableInitializerList(Java8Parser.VariableInitializerListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#variableInitializerList}. - * @param ctx the parse tree - */ - void exitVariableInitializerList(Java8Parser.VariableInitializerListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#block}. - * @param ctx the parse tree - */ - void enterBlock(Java8Parser.BlockContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#block}. - * @param ctx the parse tree - */ - void exitBlock(Java8Parser.BlockContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#blockStatements}. - * @param ctx the parse tree - */ - void enterBlockStatements(Java8Parser.BlockStatementsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#blockStatements}. - * @param ctx the parse tree - */ - void exitBlockStatements(Java8Parser.BlockStatementsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#blockStatement}. - * @param ctx the parse tree - */ - void enterBlockStatement(Java8Parser.BlockStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#blockStatement}. - * @param ctx the parse tree - */ - void exitBlockStatement(Java8Parser.BlockStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}. - * @param ctx the parse tree - */ - void enterLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}. - * @param ctx the parse tree - */ - void exitLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#localVariableDeclaration}. - * @param ctx the parse tree - */ - void enterLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#localVariableDeclaration}. - * @param ctx the parse tree - */ - void exitLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statement}. - * @param ctx the parse tree - */ - void enterStatement(Java8Parser.StatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statement}. - * @param ctx the parse tree - */ - void exitStatement(Java8Parser.StatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statementNoShortIf}. - * @param ctx the parse tree - */ - void enterStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statementNoShortIf}. - * @param ctx the parse tree - */ - void exitStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statementWithoutTrailingSubstatement}. - * @param ctx the parse tree - */ - void enterStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statementWithoutTrailingSubstatement}. - * @param ctx the parse tree - */ - void exitStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#emptyStatement}. - * @param ctx the parse tree - */ - void enterEmptyStatement(Java8Parser.EmptyStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#emptyStatement}. - * @param ctx the parse tree - */ - void exitEmptyStatement(Java8Parser.EmptyStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#labeledStatement}. - * @param ctx the parse tree - */ - void enterLabeledStatement(Java8Parser.LabeledStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#labeledStatement}. - * @param ctx the parse tree - */ - void exitLabeledStatement(Java8Parser.LabeledStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#labeledStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#labeledStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#expressionStatement}. - * @param ctx the parse tree - */ - void enterExpressionStatement(Java8Parser.ExpressionStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#expressionStatement}. - * @param ctx the parse tree - */ - void exitExpressionStatement(Java8Parser.ExpressionStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statementExpression}. - * @param ctx the parse tree - */ - void enterStatementExpression(Java8Parser.StatementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statementExpression}. - * @param ctx the parse tree - */ - void exitStatementExpression(Java8Parser.StatementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#ifThenStatement}. - * @param ctx the parse tree - */ - void enterIfThenStatement(Java8Parser.IfThenStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#ifThenStatement}. - * @param ctx the parse tree - */ - void exitIfThenStatement(Java8Parser.IfThenStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#ifThenElseStatement}. - * @param ctx the parse tree - */ - void enterIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#ifThenElseStatement}. - * @param ctx the parse tree - */ - void exitIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#ifThenElseStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#ifThenElseStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#assertStatement}. - * @param ctx the parse tree - */ - void enterAssertStatement(Java8Parser.AssertStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#assertStatement}. - * @param ctx the parse tree - */ - void exitAssertStatement(Java8Parser.AssertStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchStatement}. - * @param ctx the parse tree - */ - void enterSwitchStatement(Java8Parser.SwitchStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchStatement}. - * @param ctx the parse tree - */ - void exitSwitchStatement(Java8Parser.SwitchStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchBlock}. - * @param ctx the parse tree - */ - void enterSwitchBlock(Java8Parser.SwitchBlockContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchBlock}. - * @param ctx the parse tree - */ - void exitSwitchBlock(Java8Parser.SwitchBlockContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}. - * @param ctx the parse tree - */ - void enterSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}. - * @param ctx the parse tree - */ - void exitSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchLabels}. - * @param ctx the parse tree - */ - void enterSwitchLabels(Java8Parser.SwitchLabelsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchLabels}. - * @param ctx the parse tree - */ - void exitSwitchLabels(Java8Parser.SwitchLabelsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#switchLabel}. - * @param ctx the parse tree - */ - void enterSwitchLabel(Java8Parser.SwitchLabelContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#switchLabel}. - * @param ctx the parse tree - */ - void exitSwitchLabel(Java8Parser.SwitchLabelContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enumConstantName}. - * @param ctx the parse tree - */ - void enterEnumConstantName(Java8Parser.EnumConstantNameContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enumConstantName}. - * @param ctx the parse tree - */ - void exitEnumConstantName(Java8Parser.EnumConstantNameContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#whileStatement}. - * @param ctx the parse tree - */ - void enterWhileStatement(Java8Parser.WhileStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#whileStatement}. - * @param ctx the parse tree - */ - void exitWhileStatement(Java8Parser.WhileStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#whileStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#whileStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#doStatement}. - * @param ctx the parse tree - */ - void enterDoStatement(Java8Parser.DoStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#doStatement}. - * @param ctx the parse tree - */ - void exitDoStatement(Java8Parser.DoStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#forStatement}. - * @param ctx the parse tree - */ - void enterForStatement(Java8Parser.ForStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#forStatement}. - * @param ctx the parse tree - */ - void exitForStatement(Java8Parser.ForStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#forStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#forStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#basicForStatement}. - * @param ctx the parse tree - */ - void enterBasicForStatement(Java8Parser.BasicForStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#basicForStatement}. - * @param ctx the parse tree - */ - void exitBasicForStatement(Java8Parser.BasicForStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#basicForStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#basicForStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#forInit}. - * @param ctx the parse tree - */ - void enterForInit(Java8Parser.ForInitContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#forInit}. - * @param ctx the parse tree - */ - void exitForInit(Java8Parser.ForInitContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#forUpdate}. - * @param ctx the parse tree - */ - void enterForUpdate(Java8Parser.ForUpdateContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#forUpdate}. - * @param ctx the parse tree - */ - void exitForUpdate(Java8Parser.ForUpdateContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#statementExpressionList}. - * @param ctx the parse tree - */ - void enterStatementExpressionList(Java8Parser.StatementExpressionListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#statementExpressionList}. - * @param ctx the parse tree - */ - void exitStatementExpressionList(Java8Parser.StatementExpressionListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enhancedForStatement}. - * @param ctx the parse tree - */ - void enterEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enhancedForStatement}. - * @param ctx the parse tree - */ - void exitEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#enhancedForStatementNoShortIf}. - * @param ctx the parse tree - */ - void enterEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#enhancedForStatementNoShortIf}. - * @param ctx the parse tree - */ - void exitEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#breakStatement}. - * @param ctx the parse tree - */ - void enterBreakStatement(Java8Parser.BreakStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#breakStatement}. - * @param ctx the parse tree - */ - void exitBreakStatement(Java8Parser.BreakStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#continueStatement}. - * @param ctx the parse tree - */ - void enterContinueStatement(Java8Parser.ContinueStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#continueStatement}. - * @param ctx the parse tree - */ - void exitContinueStatement(Java8Parser.ContinueStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#returnStatement}. - * @param ctx the parse tree - */ - void enterReturnStatement(Java8Parser.ReturnStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#returnStatement}. - * @param ctx the parse tree - */ - void exitReturnStatement(Java8Parser.ReturnStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#throwStatement}. - * @param ctx the parse tree - */ - void enterThrowStatement(Java8Parser.ThrowStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#throwStatement}. - * @param ctx the parse tree - */ - void exitThrowStatement(Java8Parser.ThrowStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#synchronizedStatement}. - * @param ctx the parse tree - */ - void enterSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#synchronizedStatement}. - * @param ctx the parse tree - */ - void exitSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#tryStatement}. - * @param ctx the parse tree - */ - void enterTryStatement(Java8Parser.TryStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#tryStatement}. - * @param ctx the parse tree - */ - void exitTryStatement(Java8Parser.TryStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#catches}. - * @param ctx the parse tree - */ - void enterCatches(Java8Parser.CatchesContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#catches}. - * @param ctx the parse tree - */ - void exitCatches(Java8Parser.CatchesContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#catchClause}. - * @param ctx the parse tree - */ - void enterCatchClause(Java8Parser.CatchClauseContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#catchClause}. - * @param ctx the parse tree - */ - void exitCatchClause(Java8Parser.CatchClauseContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#catchFormalParameter}. - * @param ctx the parse tree - */ - void enterCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#catchFormalParameter}. - * @param ctx the parse tree - */ - void exitCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#catchType}. - * @param ctx the parse tree - */ - void enterCatchType(Java8Parser.CatchTypeContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#catchType}. - * @param ctx the parse tree - */ - void exitCatchType(Java8Parser.CatchTypeContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#finally_}. - * @param ctx the parse tree - */ - void enterFinally_(Java8Parser.Finally_Context ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#finally_}. - * @param ctx the parse tree - */ - void exitFinally_(Java8Parser.Finally_Context ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#tryWithResourcesStatement}. - * @param ctx the parse tree - */ - void enterTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#tryWithResourcesStatement}. - * @param ctx the parse tree - */ - void exitTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#resourceSpecification}. - * @param ctx the parse tree - */ - void enterResourceSpecification(Java8Parser.ResourceSpecificationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#resourceSpecification}. - * @param ctx the parse tree - */ - void exitResourceSpecification(Java8Parser.ResourceSpecificationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#resourceList}. - * @param ctx the parse tree - */ - void enterResourceList(Java8Parser.ResourceListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#resourceList}. - * @param ctx the parse tree - */ - void exitResourceList(Java8Parser.ResourceListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#resource}. - * @param ctx the parse tree - */ - void enterResource(Java8Parser.ResourceContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#resource}. - * @param ctx the parse tree - */ - void exitResource(Java8Parser.ResourceContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primary}. - * @param ctx the parse tree - */ - void enterPrimary(Java8Parser.PrimaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primary}. - * @param ctx the parse tree - */ - void exitPrimary(Java8Parser.PrimaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_arrayAccess}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_arrayAccess}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_arrayAccess}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_arrayAccess}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression}. - * @param ctx the parse tree - */ - void enterClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression}. - * @param ctx the parse tree - */ - void exitClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lf_primary}. - * @param ctx the parse tree - */ - void enterClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lf_primary}. - * @param ctx the parse tree - */ - void exitClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lfno_primary}. - * @param ctx the parse tree - */ - void enterClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lfno_primary}. - * @param ctx the parse tree - */ - void exitClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}. - * @param ctx the parse tree - */ - void enterTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}. - * @param ctx the parse tree - */ - void exitTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldAccess}. - * @param ctx the parse tree - */ - void enterFieldAccess(Java8Parser.FieldAccessContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldAccess}. - * @param ctx the parse tree - */ - void exitFieldAccess(Java8Parser.FieldAccessContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldAccess_lf_primary}. - * @param ctx the parse tree - */ - void enterFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldAccess_lf_primary}. - * @param ctx the parse tree - */ - void exitFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#fieldAccess_lfno_primary}. - * @param ctx the parse tree - */ - void enterFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#fieldAccess_lfno_primary}. - * @param ctx the parse tree - */ - void exitFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayAccess}. - * @param ctx the parse tree - */ - void enterArrayAccess(Java8Parser.ArrayAccessContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayAccess}. - * @param ctx the parse tree - */ - void exitArrayAccess(Java8Parser.ArrayAccessContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void enterArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayAccess_lf_primary}. - * @param ctx the parse tree - */ - void exitArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void enterArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayAccess_lfno_primary}. - * @param ctx the parse tree - */ - void exitArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodInvocation}. - * @param ctx the parse tree - */ - void enterMethodInvocation(Java8Parser.MethodInvocationContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodInvocation}. - * @param ctx the parse tree - */ - void exitMethodInvocation(Java8Parser.MethodInvocationContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodInvocation_lf_primary}. - * @param ctx the parse tree - */ - void enterMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodInvocation_lf_primary}. - * @param ctx the parse tree - */ - void exitMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodInvocation_lfno_primary}. - * @param ctx the parse tree - */ - void enterMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodInvocation_lfno_primary}. - * @param ctx the parse tree - */ - void exitMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#argumentList}. - * @param ctx the parse tree - */ - void enterArgumentList(Java8Parser.ArgumentListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#argumentList}. - * @param ctx the parse tree - */ - void exitArgumentList(Java8Parser.ArgumentListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodReference}. - * @param ctx the parse tree - */ - void enterMethodReference(Java8Parser.MethodReferenceContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodReference}. - * @param ctx the parse tree - */ - void exitMethodReference(Java8Parser.MethodReferenceContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodReference_lf_primary}. - * @param ctx the parse tree - */ - void enterMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodReference_lf_primary}. - * @param ctx the parse tree - */ - void exitMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#methodReference_lfno_primary}. - * @param ctx the parse tree - */ - void enterMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#methodReference_lfno_primary}. - * @param ctx the parse tree - */ - void exitMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#arrayCreationExpression}. - * @param ctx the parse tree - */ - void enterArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#arrayCreationExpression}. - * @param ctx the parse tree - */ - void exitArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#dimExprs}. - * @param ctx the parse tree - */ - void enterDimExprs(Java8Parser.DimExprsContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#dimExprs}. - * @param ctx the parse tree - */ - void exitDimExprs(Java8Parser.DimExprsContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#dimExpr}. - * @param ctx the parse tree - */ - void enterDimExpr(Java8Parser.DimExprContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#dimExpr}. - * @param ctx the parse tree - */ - void exitDimExpr(Java8Parser.DimExprContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#constantExpression}. - * @param ctx the parse tree - */ - void enterConstantExpression(Java8Parser.ConstantExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#constantExpression}. - * @param ctx the parse tree - */ - void exitConstantExpression(Java8Parser.ConstantExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#expression}. - * @param ctx the parse tree - */ - void enterExpression(Java8Parser.ExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#expression}. - * @param ctx the parse tree - */ - void exitExpression(Java8Parser.ExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#lambdaExpression}. - * @param ctx the parse tree - */ - void enterLambdaExpression(Java8Parser.LambdaExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#lambdaExpression}. - * @param ctx the parse tree - */ - void exitLambdaExpression(Java8Parser.LambdaExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#lambdaParameters}. - * @param ctx the parse tree - */ - void enterLambdaParameters(Java8Parser.LambdaParametersContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#lambdaParameters}. - * @param ctx the parse tree - */ - void exitLambdaParameters(Java8Parser.LambdaParametersContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#inferredFormalParameterList}. - * @param ctx the parse tree - */ - void enterInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#inferredFormalParameterList}. - * @param ctx the parse tree - */ - void exitInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#lambdaBody}. - * @param ctx the parse tree - */ - void enterLambdaBody(Java8Parser.LambdaBodyContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#lambdaBody}. - * @param ctx the parse tree - */ - void exitLambdaBody(Java8Parser.LambdaBodyContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#assignmentExpression}. - * @param ctx the parse tree - */ - void enterAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#assignmentExpression}. - * @param ctx the parse tree - */ - void exitAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#assignment}. - * @param ctx the parse tree - */ - void enterAssignment(Java8Parser.AssignmentContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#assignment}. - * @param ctx the parse tree - */ - void exitAssignment(Java8Parser.AssignmentContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#leftHandSide}. - * @param ctx the parse tree - */ - void enterLeftHandSide(Java8Parser.LeftHandSideContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#leftHandSide}. - * @param ctx the parse tree - */ - void exitLeftHandSide(Java8Parser.LeftHandSideContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#assignmentOperator}. - * @param ctx the parse tree - */ - void enterAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#assignmentOperator}. - * @param ctx the parse tree - */ - void exitAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#conditionalExpression}. - * @param ctx the parse tree - */ - void enterConditionalExpression(Java8Parser.ConditionalExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#conditionalExpression}. - * @param ctx the parse tree - */ - void exitConditionalExpression(Java8Parser.ConditionalExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#conditionalOrExpression}. - * @param ctx the parse tree - */ - void enterConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#conditionalOrExpression}. - * @param ctx the parse tree - */ - void exitConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#conditionalAndExpression}. - * @param ctx the parse tree - */ - void enterConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#conditionalAndExpression}. - * @param ctx the parse tree - */ - void exitConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#inclusiveOrExpression}. - * @param ctx the parse tree - */ - void enterInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#inclusiveOrExpression}. - * @param ctx the parse tree - */ - void exitInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#exclusiveOrExpression}. - * @param ctx the parse tree - */ - void enterExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#exclusiveOrExpression}. - * @param ctx the parse tree - */ - void exitExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#andExpression}. - * @param ctx the parse tree - */ - void enterAndExpression(Java8Parser.AndExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#andExpression}. - * @param ctx the parse tree - */ - void exitAndExpression(Java8Parser.AndExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#equalityExpression}. - * @param ctx the parse tree - */ - void enterEqualityExpression(Java8Parser.EqualityExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#equalityExpression}. - * @param ctx the parse tree - */ - void exitEqualityExpression(Java8Parser.EqualityExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#relationalExpression}. - * @param ctx the parse tree - */ - void enterRelationalExpression(Java8Parser.RelationalExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#relationalExpression}. - * @param ctx the parse tree - */ - void exitRelationalExpression(Java8Parser.RelationalExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#shiftExpression}. - * @param ctx the parse tree - */ - void enterShiftExpression(Java8Parser.ShiftExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#shiftExpression}. - * @param ctx the parse tree - */ - void exitShiftExpression(Java8Parser.ShiftExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#additiveExpression}. - * @param ctx the parse tree - */ - void enterAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#additiveExpression}. - * @param ctx the parse tree - */ - void exitAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#multiplicativeExpression}. - * @param ctx the parse tree - */ - void enterMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#multiplicativeExpression}. - * @param ctx the parse tree - */ - void exitMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unaryExpression}. - * @param ctx the parse tree - */ - void enterUnaryExpression(Java8Parser.UnaryExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unaryExpression}. - * @param ctx the parse tree - */ - void exitUnaryExpression(Java8Parser.UnaryExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#preIncrementExpression}. - * @param ctx the parse tree - */ - void enterPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#preIncrementExpression}. - * @param ctx the parse tree - */ - void exitPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#preDecrementExpression}. - * @param ctx the parse tree - */ - void enterPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#preDecrementExpression}. - * @param ctx the parse tree - */ - void exitPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#unaryExpressionNotPlusMinus}. - * @param ctx the parse tree - */ - void enterUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#unaryExpressionNotPlusMinus}. - * @param ctx the parse tree - */ - void exitUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postfixExpression}. - * @param ctx the parse tree - */ - void enterPostfixExpression(Java8Parser.PostfixExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postfixExpression}. - * @param ctx the parse tree - */ - void exitPostfixExpression(Java8Parser.PostfixExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postIncrementExpression}. - * @param ctx the parse tree - */ - void enterPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postIncrementExpression}. - * @param ctx the parse tree - */ - void exitPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postIncrementExpression_lf_postfixExpression}. - * @param ctx the parse tree - */ - void enterPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postIncrementExpression_lf_postfixExpression}. - * @param ctx the parse tree - */ - void exitPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postDecrementExpression}. - * @param ctx the parse tree - */ - void enterPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postDecrementExpression}. - * @param ctx the parse tree - */ - void exitPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#postDecrementExpression_lf_postfixExpression}. - * @param ctx the parse tree - */ - void enterPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#postDecrementExpression_lf_postfixExpression}. - * @param ctx the parse tree - */ - void exitPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx); - /** - * Enter a parse tree produced by {@link Java8Parser#castExpression}. - * @param ctx the parse tree - */ - void enterCastExpression(Java8Parser.CastExpressionContext ctx); - /** - * Exit a parse tree produced by {@link Java8Parser#castExpression}. - * @param ctx the parse tree - */ - void exitCastExpression(Java8Parser.CastExpressionContext ctx); -} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Parser.java b/src/de/dhbwstuttgart/parser/Java8Parser.java deleted file mode 100644 index 714cf507..00000000 --- a/src/de/dhbwstuttgart/parser/Java8Parser.java +++ /dev/null @@ -1,18556 +0,0 @@ -// Generated from Java8.g4 by ANTLR 4.5.3 -package de.dhbwstuttgart.parser; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Java8Parser extends Parser { - static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - ABSTRACT=1, ASSERT=2, BOOLEAN=3, BREAK=4, BYTE=5, CASE=6, CATCH=7, CHAR=8, - CLASS=9, CONST=10, CONTINUE=11, DEFAULT=12, DO=13, DOUBLE=14, ELSE=15, - ENUM=16, EXTENDS=17, FINAL=18, FINALLY=19, FLOAT=20, FOR=21, IF=22, GOTO=23, - IMPLEMENTS=24, IMPORT=25, INSTANCEOF=26, INT=27, INTERFACE=28, LONG=29, - NATIVE=30, NEW=31, PACKAGE=32, PRIVATE=33, PROTECTED=34, PUBLIC=35, RETURN=36, - SHORT=37, STATIC=38, STRICTFP=39, SUPER=40, SWITCH=41, SYNCHRONIZED=42, - THIS=43, THROW=44, THROWS=45, TRANSIENT=46, TRY=47, VOID=48, VOLATILE=49, - WHILE=50, IntegerLiteral=51, FloatingPointLiteral=52, BooleanLiteral=53, - CharacterLiteral=54, StringLiteral=55, NullLiteral=56, LPAREN=57, RPAREN=58, - LBRACE=59, RBRACE=60, LBRACK=61, RBRACK=62, SEMI=63, COMMA=64, DOT=65, - ASSIGN=66, GT=67, LT=68, BANG=69, TILDE=70, QUESTION=71, COLON=72, EQUAL=73, - LE=74, GE=75, NOTEQUAL=76, AND=77, OR=78, INC=79, DEC=80, ADD=81, SUB=82, - MUL=83, DIV=84, BITAND=85, BITOR=86, CARET=87, MOD=88, ARROW=89, COLONCOLON=90, - ADD_ASSIGN=91, SUB_ASSIGN=92, MUL_ASSIGN=93, DIV_ASSIGN=94, AND_ASSIGN=95, - OR_ASSIGN=96, XOR_ASSIGN=97, MOD_ASSIGN=98, LSHIFT_ASSIGN=99, RSHIFT_ASSIGN=100, - URSHIFT_ASSIGN=101, Identifier=102, AT=103, ELLIPSIS=104, WS=105, COMMENT=106, - LINE_COMMENT=107; - public static final int - RULE_literal = 0, RULE_type = 1, RULE_primitiveType = 2, RULE_numericType = 3, - RULE_integralType = 4, RULE_floatingPointType = 5, RULE_referenceType = 6, - RULE_classOrInterfaceType = 7, RULE_classType = 8, RULE_classType_lf_classOrInterfaceType = 9, - RULE_classType_lfno_classOrInterfaceType = 10, RULE_interfaceType = 11, - RULE_interfaceType_lf_classOrInterfaceType = 12, RULE_interfaceType_lfno_classOrInterfaceType = 13, - RULE_typeVariable = 14, RULE_arrayType = 15, RULE_dims = 16, RULE_typeParameter = 17, - RULE_typeParameterModifier = 18, RULE_typeBound = 19, RULE_additionalBound = 20, - RULE_typeArguments = 21, RULE_typeArgumentList = 22, RULE_typeArgument = 23, - RULE_wildcard = 24, RULE_wildcardBounds = 25, RULE_packageName = 26, RULE_typeName = 27, - RULE_packageOrTypeName = 28, RULE_expressionName = 29, RULE_methodName = 30, - RULE_ambiguousName = 31, RULE_compilationUnit = 32, RULE_packageDeclaration = 33, - RULE_packageModifier = 34, RULE_importDeclaration = 35, RULE_singleTypeImportDeclaration = 36, - RULE_typeImportOnDemandDeclaration = 37, RULE_singleStaticImportDeclaration = 38, - RULE_staticImportOnDemandDeclaration = 39, RULE_typeDeclaration = 40, - RULE_classDeclaration = 41, RULE_normalClassDeclaration = 42, RULE_classModifier = 43, - RULE_typeParameters = 44, RULE_typeParameterList = 45, RULE_superclass = 46, - RULE_superinterfaces = 47, RULE_interfaceTypeList = 48, RULE_classBody = 49, - RULE_classBodyDeclaration = 50, RULE_classMemberDeclaration = 51, RULE_fieldDeclaration = 52, - RULE_fieldModifier = 53, RULE_variableDeclaratorList = 54, RULE_variableDeclarator = 55, - RULE_variableDeclaratorId = 56, RULE_variableInitializer = 57, RULE_unannType = 58, - RULE_unannPrimitiveType = 59, RULE_unannReferenceType = 60, RULE_unannClassOrInterfaceType = 61, - RULE_unannClassType = 62, RULE_unannClassType_lf_unannClassOrInterfaceType = 63, - RULE_unannClassType_lfno_unannClassOrInterfaceType = 64, RULE_unannInterfaceType = 65, - RULE_unannInterfaceType_lf_unannClassOrInterfaceType = 66, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType = 67, - RULE_unannTypeVariable = 68, RULE_unannArrayType = 69, RULE_methodDeclaration = 70, - RULE_methodModifier = 71, RULE_methodHeader = 72, RULE_result = 73, RULE_methodDeclarator = 74, - RULE_formalParameterList = 75, RULE_formalParameters = 76, RULE_formalParameter = 77, - RULE_variableModifier = 78, RULE_lastFormalParameter = 79, RULE_receiverParameter = 80, - RULE_throws_ = 81, RULE_exceptionTypeList = 82, RULE_exceptionType = 83, - RULE_methodBody = 84, RULE_instanceInitializer = 85, RULE_staticInitializer = 86, - RULE_constructorDeclaration = 87, RULE_constructorModifier = 88, RULE_constructorDeclarator = 89, - RULE_simpleTypeName = 90, RULE_constructorBody = 91, RULE_explicitConstructorInvocation = 92, - RULE_enumDeclaration = 93, RULE_enumBody = 94, RULE_enumConstantList = 95, - RULE_enumConstant = 96, RULE_enumConstantModifier = 97, RULE_enumBodyDeclarations = 98, - RULE_interfaceDeclaration = 99, RULE_normalInterfaceDeclaration = 100, - RULE_interfaceModifier = 101, RULE_extendsInterfaces = 102, RULE_interfaceBody = 103, - RULE_interfaceMemberDeclaration = 104, RULE_constantDeclaration = 105, - RULE_constantModifier = 106, RULE_interfaceMethodDeclaration = 107, RULE_interfaceMethodModifier = 108, - RULE_annotationTypeDeclaration = 109, RULE_annotationTypeBody = 110, RULE_annotationTypeMemberDeclaration = 111, - RULE_annotationTypeElementDeclaration = 112, RULE_annotationTypeElementModifier = 113, - RULE_defaultValue = 114, RULE_annotation = 115, RULE_normalAnnotation = 116, - RULE_elementValuePairList = 117, RULE_elementValuePair = 118, RULE_elementValue = 119, - RULE_elementValueArrayInitializer = 120, RULE_elementValueList = 121, - RULE_markerAnnotation = 122, RULE_singleElementAnnotation = 123, RULE_arrayInitializer = 124, - RULE_variableInitializerList = 125, RULE_block = 126, RULE_blockStatements = 127, - RULE_blockStatement = 128, RULE_localVariableDeclarationStatement = 129, - RULE_localVariableDeclaration = 130, RULE_statement = 131, RULE_statementNoShortIf = 132, - RULE_statementWithoutTrailingSubstatement = 133, RULE_emptyStatement = 134, - RULE_labeledStatement = 135, RULE_labeledStatementNoShortIf = 136, RULE_expressionStatement = 137, - RULE_statementExpression = 138, RULE_ifThenStatement = 139, RULE_ifThenElseStatement = 140, - RULE_ifThenElseStatementNoShortIf = 141, RULE_assertStatement = 142, RULE_switchStatement = 143, - RULE_switchBlock = 144, RULE_switchBlockStatementGroup = 145, RULE_switchLabels = 146, - RULE_switchLabel = 147, RULE_enumConstantName = 148, RULE_whileStatement = 149, - RULE_whileStatementNoShortIf = 150, RULE_doStatement = 151, RULE_forStatement = 152, - RULE_forStatementNoShortIf = 153, RULE_basicForStatement = 154, RULE_basicForStatementNoShortIf = 155, - RULE_forInit = 156, RULE_forUpdate = 157, RULE_statementExpressionList = 158, - RULE_enhancedForStatement = 159, RULE_enhancedForStatementNoShortIf = 160, - RULE_breakStatement = 161, RULE_continueStatement = 162, RULE_returnStatement = 163, - RULE_throwStatement = 164, RULE_synchronizedStatement = 165, RULE_tryStatement = 166, - RULE_catches = 167, RULE_catchClause = 168, RULE_catchFormalParameter = 169, - RULE_catchType = 170, RULE_finally_ = 171, RULE_tryWithResourcesStatement = 172, - RULE_resourceSpecification = 173, RULE_resourceList = 174, RULE_resource = 175, - RULE_primary = 176, RULE_primaryNoNewArray = 177, RULE_primaryNoNewArray_lf_arrayAccess = 178, - RULE_primaryNoNewArray_lfno_arrayAccess = 179, RULE_primaryNoNewArray_lf_primary = 180, - RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary = 181, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary = 182, - RULE_primaryNoNewArray_lfno_primary = 183, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary = 184, - RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary = 185, - RULE_classInstanceCreationExpression = 186, RULE_classInstanceCreationExpression_lf_primary = 187, - RULE_classInstanceCreationExpression_lfno_primary = 188, RULE_typeArgumentsOrDiamond = 189, - RULE_fieldAccess = 190, RULE_fieldAccess_lf_primary = 191, RULE_fieldAccess_lfno_primary = 192, - RULE_arrayAccess = 193, RULE_arrayAccess_lf_primary = 194, RULE_arrayAccess_lfno_primary = 195, - RULE_methodInvocation = 196, RULE_methodInvocation_lf_primary = 197, RULE_methodInvocation_lfno_primary = 198, - RULE_argumentList = 199, RULE_methodReference = 200, RULE_methodReference_lf_primary = 201, - RULE_methodReference_lfno_primary = 202, RULE_arrayCreationExpression = 203, - RULE_dimExprs = 204, RULE_dimExpr = 205, RULE_constantExpression = 206, - RULE_expression = 207, RULE_lambdaExpression = 208, RULE_lambdaParameters = 209, - RULE_inferredFormalParameterList = 210, RULE_lambdaBody = 211, RULE_assignmentExpression = 212, - RULE_assignment = 213, RULE_leftHandSide = 214, RULE_assignmentOperator = 215, - RULE_conditionalExpression = 216, RULE_conditionalOrExpression = 217, - RULE_conditionalAndExpression = 218, RULE_inclusiveOrExpression = 219, - RULE_exclusiveOrExpression = 220, RULE_andExpression = 221, RULE_equalityExpression = 222, - RULE_relationalExpression = 223, RULE_shiftExpression = 224, RULE_additiveExpression = 225, - RULE_multiplicativeExpression = 226, RULE_unaryExpression = 227, RULE_preIncrementExpression = 228, - RULE_preDecrementExpression = 229, RULE_unaryExpressionNotPlusMinus = 230, - RULE_postfixExpression = 231, RULE_postIncrementExpression = 232, RULE_postIncrementExpression_lf_postfixExpression = 233, - RULE_postDecrementExpression = 234, RULE_postDecrementExpression_lf_postfixExpression = 235, - RULE_castExpression = 236; - public static final String[] ruleNames = { - "literal", "type", "primitiveType", "numericType", "integralType", "floatingPointType", - "referenceType", "classOrInterfaceType", "classType", "classType_lf_classOrInterfaceType", - "classType_lfno_classOrInterfaceType", "interfaceType", "interfaceType_lf_classOrInterfaceType", - "interfaceType_lfno_classOrInterfaceType", "typeVariable", "arrayType", - "dims", "typeParameter", "typeParameterModifier", "typeBound", "additionalBound", - "typeArguments", "typeArgumentList", "typeArgument", "wildcard", "wildcardBounds", - "packageName", "typeName", "packageOrTypeName", "expressionName", "methodName", - "ambiguousName", "compilationUnit", "packageDeclaration", "packageModifier", - "importDeclaration", "singleTypeImportDeclaration", "typeImportOnDemandDeclaration", - "singleStaticImportDeclaration", "staticImportOnDemandDeclaration", "typeDeclaration", - "classDeclaration", "normalClassDeclaration", "classModifier", "typeParameters", - "typeParameterList", "superclass", "superinterfaces", "interfaceTypeList", - "classBody", "classBodyDeclaration", "classMemberDeclaration", "fieldDeclaration", - "fieldModifier", "variableDeclaratorList", "variableDeclarator", "variableDeclaratorId", - "variableInitializer", "unannType", "unannPrimitiveType", "unannReferenceType", - "unannClassOrInterfaceType", "unannClassType", "unannClassType_lf_unannClassOrInterfaceType", - "unannClassType_lfno_unannClassOrInterfaceType", "unannInterfaceType", - "unannInterfaceType_lf_unannClassOrInterfaceType", "unannInterfaceType_lfno_unannClassOrInterfaceType", - "unannTypeVariable", "unannArrayType", "methodDeclaration", "methodModifier", - "methodHeader", "result", "methodDeclarator", "formalParameterList", "formalParameters", - "formalParameter", "variableModifier", "lastFormalParameter", "receiverParameter", - "throws_", "exceptionTypeList", "exceptionType", "methodBody", "instanceInitializer", - "staticInitializer", "constructorDeclaration", "constructorModifier", - "constructorDeclarator", "simpleTypeName", "constructorBody", "explicitConstructorInvocation", - "enumDeclaration", "enumBody", "enumConstantList", "enumConstant", "enumConstantModifier", - "enumBodyDeclarations", "interfaceDeclaration", "normalInterfaceDeclaration", - "interfaceModifier", "extendsInterfaces", "interfaceBody", "interfaceMemberDeclaration", - "constantDeclaration", "constantModifier", "interfaceMethodDeclaration", - "interfaceMethodModifier", "annotationTypeDeclaration", "annotationTypeBody", - "annotationTypeMemberDeclaration", "annotationTypeElementDeclaration", - "annotationTypeElementModifier", "defaultValue", "annotation", "normalAnnotation", - "elementValuePairList", "elementValuePair", "elementValue", "elementValueArrayInitializer", - "elementValueList", "markerAnnotation", "singleElementAnnotation", "arrayInitializer", - "variableInitializerList", "block", "blockStatements", "blockStatement", - "localVariableDeclarationStatement", "localVariableDeclaration", "statement", - "statementNoShortIf", "statementWithoutTrailingSubstatement", "emptyStatement", - "labeledStatement", "labeledStatementNoShortIf", "expressionStatement", - "statementExpression", "ifThenStatement", "ifThenElseStatement", "ifThenElseStatementNoShortIf", - "assertStatement", "switchStatement", "switchBlock", "switchBlockStatementGroup", - "switchLabels", "switchLabel", "enumConstantName", "whileStatement", "whileStatementNoShortIf", - "doStatement", "forStatement", "forStatementNoShortIf", "basicForStatement", - "basicForStatementNoShortIf", "forInit", "forUpdate", "statementExpressionList", - "enhancedForStatement", "enhancedForStatementNoShortIf", "breakStatement", - "continueStatement", "returnStatement", "throwStatement", "synchronizedStatement", - "tryStatement", "catches", "catchClause", "catchFormalParameter", "catchType", - "finally_", "tryWithResourcesStatement", "resourceSpecification", "resourceList", - "resource", "primary", "primaryNoNewArray", "primaryNoNewArray_lf_arrayAccess", - "primaryNoNewArray_lfno_arrayAccess", "primaryNoNewArray_lf_primary", - "primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary", "primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary", - "primaryNoNewArray_lfno_primary", "primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary", - "primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary", "classInstanceCreationExpression", - "classInstanceCreationExpression_lf_primary", "classInstanceCreationExpression_lfno_primary", - "typeArgumentsOrDiamond", "fieldAccess", "fieldAccess_lf_primary", "fieldAccess_lfno_primary", - "arrayAccess", "arrayAccess_lf_primary", "arrayAccess_lfno_primary", "methodInvocation", - "methodInvocation_lf_primary", "methodInvocation_lfno_primary", "argumentList", - "methodReference", "methodReference_lf_primary", "methodReference_lfno_primary", - "arrayCreationExpression", "dimExprs", "dimExpr", "constantExpression", - "expression", "lambdaExpression", "lambdaParameters", "inferredFormalParameterList", - "lambdaBody", "assignmentExpression", "assignment", "leftHandSide", "assignmentOperator", - "conditionalExpression", "conditionalOrExpression", "conditionalAndExpression", - "inclusiveOrExpression", "exclusiveOrExpression", "andExpression", "equalityExpression", - "relationalExpression", "shiftExpression", "additiveExpression", "multiplicativeExpression", - "unaryExpression", "preIncrementExpression", "preDecrementExpression", - "unaryExpressionNotPlusMinus", "postfixExpression", "postIncrementExpression", - "postIncrementExpression_lf_postfixExpression", "postDecrementExpression", - "postDecrementExpression_lf_postfixExpression", "castExpression" - }; - - private static final String[] _LITERAL_NAMES = { - null, "'abstract'", "'assert'", "'boolean'", "'break'", "'byte'", "'case'", - "'catch'", "'char'", "'class'", "'const'", "'continue'", "'default'", - "'do'", "'double'", "'else'", "'enum'", "'extends'", "'final'", "'finally'", - "'float'", "'for'", "'if'", "'goto'", "'implements'", "'import'", "'instanceof'", - "'int'", "'interface'", "'long'", "'native'", "'new'", "'package'", "'private'", - "'protected'", "'public'", "'return'", "'short'", "'static'", "'strictfp'", - "'super'", "'switch'", "'synchronized'", "'this'", "'throw'", "'throws'", - "'transient'", "'try'", "'void'", "'volatile'", "'while'", null, null, - null, null, null, "'null'", "'('", "')'", "'{'", "'}'", "'['", "']'", - "';'", "','", "'.'", "'='", "'>'", "'<'", "'!'", "'~'", "'?'", "':'", - "'=='", "'<='", "'>='", "'!='", "'&&'", "'||'", "'++'", "'--'", "'+'", - "'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'%'", "'->'", "'::'", "'+='", - "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'<<='", "'>>='", - "'>>>='", null, "'@'", "'...'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", - "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", - "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", - "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", - "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", - "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", - "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "FloatingPointLiteral", - "BooleanLiteral", "CharacterLiteral", "StringLiteral", "NullLiteral", - "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", "SEMI", "COMMA", - "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", "COLON", "EQUAL", - "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", "SUB", "MUL", - "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", "ADD_ASSIGN", - "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN", - "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN", "Identifier", - "AT", "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" - }; - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "Java8.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public Java8Parser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - public static class LiteralContext extends ParserRuleContext { - public TerminalNode IntegerLiteral() { return getToken(Java8Parser.IntegerLiteral, 0); } - public TerminalNode FloatingPointLiteral() { return getToken(Java8Parser.FloatingPointLiteral, 0); } - public TerminalNode BooleanLiteral() { return getToken(Java8Parser.BooleanLiteral, 0); } - public TerminalNode CharacterLiteral() { return getToken(Java8Parser.CharacterLiteral, 0); } - public TerminalNode StringLiteral() { return getToken(Java8Parser.StringLiteral, 0); } - public TerminalNode NullLiteral() { return getToken(Java8Parser.NullLiteral, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLiteral(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLiteral(this); - } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_literal); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(474); - _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral))) != 0)) ) { - _errHandler.recoverInline(this); - } else { - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeContext extends ParserRuleContext { - public PrimitiveTypeContext primitiveType() { - return getRuleContext(PrimitiveTypeContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public TypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_type; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitType(this); - } - } - - public final TypeContext type() throws RecognitionException { - TypeContext _localctx = new TypeContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_type); - try { - setState(478); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(476); - primitiveType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(477); - referenceType(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimitiveTypeContext extends ParserRuleContext { - public NumericTypeContext numericType() { - return getRuleContext(NumericTypeContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public PrimitiveTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primitiveType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimitiveType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimitiveType(this); - } - } - - public final PrimitiveTypeContext primitiveType() throws RecognitionException { - PrimitiveTypeContext _localctx = new PrimitiveTypeContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_primitiveType); - int _la; - try { - setState(494); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(483); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(480); - annotation(); - } - } - setState(485); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(486); - numericType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(490); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(487); - annotation(); - } - } - setState(492); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(493); - match(BOOLEAN); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class NumericTypeContext extends ParserRuleContext { - public IntegralTypeContext integralType() { - return getRuleContext(IntegralTypeContext.class,0); - } - public FloatingPointTypeContext floatingPointType() { - return getRuleContext(FloatingPointTypeContext.class,0); - } - public NumericTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_numericType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNumericType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNumericType(this); - } - } - - public final NumericTypeContext numericType() throws RecognitionException { - NumericTypeContext _localctx = new NumericTypeContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_numericType); - try { - setState(498); - switch (_input.LA(1)) { - case BYTE: - case CHAR: - case INT: - case LONG: - case SHORT: - enterOuterAlt(_localctx, 1); - { - setState(496); - integralType(); - } - break; - case DOUBLE: - case FLOAT: - enterOuterAlt(_localctx, 2); - { - setState(497); - floatingPointType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IntegralTypeContext extends ParserRuleContext { - public IntegralTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_integralType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIntegralType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIntegralType(this); - } - } - - public final IntegralTypeContext integralType() throws RecognitionException { - IntegralTypeContext _localctx = new IntegralTypeContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_integralType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(500); - _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BYTE) | (1L << CHAR) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0)) ) { - _errHandler.recoverInline(this); - } else { - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FloatingPointTypeContext extends ParserRuleContext { - public FloatingPointTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_floatingPointType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFloatingPointType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFloatingPointType(this); - } - } - - public final FloatingPointTypeContext floatingPointType() throws RecognitionException { - FloatingPointTypeContext _localctx = new FloatingPointTypeContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_floatingPointType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(502); - _la = _input.LA(1); - if ( !(_la==DOUBLE || _la==FLOAT) ) { - _errHandler.recoverInline(this); - } else { - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReferenceTypeContext extends ParserRuleContext { - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public TypeVariableContext typeVariable() { - return getRuleContext(TypeVariableContext.class,0); - } - public ArrayTypeContext arrayType() { - return getRuleContext(ArrayTypeContext.class,0); - } - public ReferenceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_referenceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReferenceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReferenceType(this); - } - } - - public final ReferenceTypeContext referenceType() throws RecognitionException { - ReferenceTypeContext _localctx = new ReferenceTypeContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_referenceType); - try { - setState(507); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(504); - classOrInterfaceType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(505); - typeVariable(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(506); - arrayType(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassOrInterfaceTypeContext extends ParserRuleContext { - public ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() { - return getRuleContext(ClassType_lfno_classOrInterfaceTypeContext.class,0); - } - public InterfaceType_lfno_classOrInterfaceTypeContext interfaceType_lfno_classOrInterfaceType() { - return getRuleContext(InterfaceType_lfno_classOrInterfaceTypeContext.class,0); - } - public List classType_lf_classOrInterfaceType() { - return getRuleContexts(ClassType_lf_classOrInterfaceTypeContext.class); - } - public ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType(int i) { - return getRuleContext(ClassType_lf_classOrInterfaceTypeContext.class,i); - } - public List interfaceType_lf_classOrInterfaceType() { - return getRuleContexts(InterfaceType_lf_classOrInterfaceTypeContext.class); - } - public InterfaceType_lf_classOrInterfaceTypeContext interfaceType_lf_classOrInterfaceType(int i) { - return getRuleContext(InterfaceType_lf_classOrInterfaceTypeContext.class,i); - } - public ClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassOrInterfaceType(this); - } - } - - public final ClassOrInterfaceTypeContext classOrInterfaceType() throws RecognitionException { - ClassOrInterfaceTypeContext _localctx = new ClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_classOrInterfaceType); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(511); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) { - case 1: - { - setState(509); - classType_lfno_classOrInterfaceType(); - } - break; - case 2: - { - setState(510); - interfaceType_lfno_classOrInterfaceType(); - } - break; - } - setState(517); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,8,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - setState(515); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) { - case 1: - { - setState(513); - classType_lf_classOrInterfaceType(); - } - break; - case 2: - { - setState(514); - interfaceType_lf_classOrInterfaceType(); - } - break; - } - } - } - setState(519); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,8,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public ClassTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType(this); - } - } - - public final ClassTypeContext classType() throws RecognitionException { - ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_classType); - int _la; - try { - setState(542); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(523); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(520); - annotation(); - } - } - setState(525); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(526); - match(Identifier); - setState(528); - _la = _input.LA(1); - if (_la==LT) { - { - setState(527); - typeArguments(); - } - } - - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(530); - classOrInterfaceType(); - setState(531); - match(DOT); - setState(535); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(532); - annotation(); - } - } - setState(537); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(538); - match(Identifier); - setState(540); - _la = _input.LA(1); - if (_la==LT) { - { - setState(539); - typeArguments(); - } - } - - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassType_lf_classOrInterfaceTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ClassType_lf_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classType_lf_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType_lf_classOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType_lf_classOrInterfaceType(this); - } - } - - public final ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType() throws RecognitionException { - ClassType_lf_classOrInterfaceTypeContext _localctx = new ClassType_lf_classOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_classType_lf_classOrInterfaceType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(544); - match(DOT); - setState(548); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(545); - annotation(); - } - } - setState(550); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(551); - match(Identifier); - setState(553); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) { - case 1: - { - setState(552); - typeArguments(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassType_lfno_classOrInterfaceTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ClassType_lfno_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classType_lfno_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType_lfno_classOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType_lfno_classOrInterfaceType(this); - } - } - - public final ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() throws RecognitionException { - ClassType_lfno_classOrInterfaceTypeContext _localctx = new ClassType_lfno_classOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 20, RULE_classType_lfno_classOrInterfaceType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(558); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(555); - annotation(); - } - } - setState(560); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(561); - match(Identifier); - setState(563); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) { - case 1: - { - setState(562); - typeArguments(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceTypeContext extends ParserRuleContext { - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public InterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType(this); - } - } - - public final InterfaceTypeContext interfaceType() throws RecognitionException { - InterfaceTypeContext _localctx = new InterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 22, RULE_interfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(565); - classType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceType_lf_classOrInterfaceTypeContext extends ParserRuleContext { - public ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType() { - return getRuleContext(ClassType_lf_classOrInterfaceTypeContext.class,0); - } - public InterfaceType_lf_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceType_lf_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType_lf_classOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType_lf_classOrInterfaceType(this); - } - } - - public final InterfaceType_lf_classOrInterfaceTypeContext interfaceType_lf_classOrInterfaceType() throws RecognitionException { - InterfaceType_lf_classOrInterfaceTypeContext _localctx = new InterfaceType_lf_classOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 24, RULE_interfaceType_lf_classOrInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(567); - classType_lf_classOrInterfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceType_lfno_classOrInterfaceTypeContext extends ParserRuleContext { - public ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() { - return getRuleContext(ClassType_lfno_classOrInterfaceTypeContext.class,0); - } - public InterfaceType_lfno_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceType_lfno_classOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType_lfno_classOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType_lfno_classOrInterfaceType(this); - } - } - - public final InterfaceType_lfno_classOrInterfaceTypeContext interfaceType_lfno_classOrInterfaceType() throws RecognitionException { - InterfaceType_lfno_classOrInterfaceTypeContext _localctx = new InterfaceType_lfno_classOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 26, RULE_interfaceType_lfno_classOrInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(569); - classType_lfno_classOrInterfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeVariableContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeVariableContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeVariable; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeVariable(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeVariable(this); - } - } - - public final TypeVariableContext typeVariable() throws RecognitionException { - TypeVariableContext _localctx = new TypeVariableContext(_ctx, getState()); - enterRule(_localctx, 28, RULE_typeVariable); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(574); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(571); - annotation(); - } - } - setState(576); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(577); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayTypeContext extends ParserRuleContext { - public PrimitiveTypeContext primitiveType() { - return getRuleContext(PrimitiveTypeContext.class,0); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public TypeVariableContext typeVariable() { - return getRuleContext(TypeVariableContext.class,0); - } - public ArrayTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayType(this); - } - } - - public final ArrayTypeContext arrayType() throws RecognitionException { - ArrayTypeContext _localctx = new ArrayTypeContext(_ctx, getState()); - enterRule(_localctx, 30, RULE_arrayType); - try { - setState(588); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(579); - primitiveType(); - setState(580); - dims(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(582); - classOrInterfaceType(); - setState(583); - dims(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(585); - typeVariable(); - setState(586); - dims(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DimsContext extends ParserRuleContext { - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public DimsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dims; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDims(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDims(this); - } - } - - public final DimsContext dims() throws RecognitionException { - DimsContext _localctx = new DimsContext(_ctx, getState()); - enterRule(_localctx, 32, RULE_dims); - int _la; - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(593); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(590); - annotation(); - } - } - setState(595); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(596); - match(LBRACK); - setState(597); - match(RBRACK); - setState(608); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,22,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(601); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(598); - annotation(); - } - } - setState(603); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(604); - match(LBRACK); - setState(605); - match(RBRACK); - } - } - } - setState(610); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,22,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeParameterContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List typeParameterModifier() { - return getRuleContexts(TypeParameterModifierContext.class); - } - public TypeParameterModifierContext typeParameterModifier(int i) { - return getRuleContext(TypeParameterModifierContext.class,i); - } - public TypeBoundContext typeBound() { - return getRuleContext(TypeBoundContext.class,0); - } - public TypeParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameter(this); - } - } - - public final TypeParameterContext typeParameter() throws RecognitionException { - TypeParameterContext _localctx = new TypeParameterContext(_ctx, getState()); - enterRule(_localctx, 34, RULE_typeParameter); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(614); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(611); - typeParameterModifier(); - } - } - setState(616); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(617); - match(Identifier); - setState(619); - _la = _input.LA(1); - if (_la==EXTENDS) { - { - setState(618); - typeBound(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeParameterModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public TypeParameterModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeParameterModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameterModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameterModifier(this); - } - } - - public final TypeParameterModifierContext typeParameterModifier() throws RecognitionException { - TypeParameterModifierContext _localctx = new TypeParameterModifierContext(_ctx, getState()); - enterRule(_localctx, 36, RULE_typeParameterModifier); - try { - enterOuterAlt(_localctx, 1); - { - setState(621); - annotation(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeBoundContext extends ParserRuleContext { - public TypeVariableContext typeVariable() { - return getRuleContext(TypeVariableContext.class,0); - } - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public List additionalBound() { - return getRuleContexts(AdditionalBoundContext.class); - } - public AdditionalBoundContext additionalBound(int i) { - return getRuleContext(AdditionalBoundContext.class,i); - } - public TypeBoundContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeBound; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeBound(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeBound(this); - } - } - - public final TypeBoundContext typeBound() throws RecognitionException { - TypeBoundContext _localctx = new TypeBoundContext(_ctx, getState()); - enterRule(_localctx, 38, RULE_typeBound); - int _la; - try { - setState(633); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(623); - match(EXTENDS); - setState(624); - typeVariable(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(625); - match(EXTENDS); - setState(626); - classOrInterfaceType(); - setState(630); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==BITAND) { - { - { - setState(627); - additionalBound(); - } - } - setState(632); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AdditionalBoundContext extends ParserRuleContext { - public InterfaceTypeContext interfaceType() { - return getRuleContext(InterfaceTypeContext.class,0); - } - public AdditionalBoundContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_additionalBound; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAdditionalBound(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAdditionalBound(this); - } - } - - public final AdditionalBoundContext additionalBound() throws RecognitionException { - AdditionalBoundContext _localctx = new AdditionalBoundContext(_ctx, getState()); - enterRule(_localctx, 40, RULE_additionalBound); - try { - enterOuterAlt(_localctx, 1); - { - setState(635); - match(BITAND); - setState(636); - interfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeArgumentsContext extends ParserRuleContext { - public TypeArgumentListContext typeArgumentList() { - return getRuleContext(TypeArgumentListContext.class,0); - } - public TypeArgumentsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeArguments; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArguments(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArguments(this); - } - } - - public final TypeArgumentsContext typeArguments() throws RecognitionException { - TypeArgumentsContext _localctx = new TypeArgumentsContext(_ctx, getState()); - enterRule(_localctx, 42, RULE_typeArguments); - try { - enterOuterAlt(_localctx, 1); - { - setState(638); - match(LT); - setState(639); - typeArgumentList(); - setState(640); - match(GT); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeArgumentListContext extends ParserRuleContext { - public List typeArgument() { - return getRuleContexts(TypeArgumentContext.class); - } - public TypeArgumentContext typeArgument(int i) { - return getRuleContext(TypeArgumentContext.class,i); - } - public TypeArgumentListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeArgumentList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgumentList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgumentList(this); - } - } - - public final TypeArgumentListContext typeArgumentList() throws RecognitionException { - TypeArgumentListContext _localctx = new TypeArgumentListContext(_ctx, getState()); - enterRule(_localctx, 44, RULE_typeArgumentList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(642); - typeArgument(); - setState(647); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(643); - match(COMMA); - setState(644); - typeArgument(); - } - } - setState(649); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeArgumentContext extends ParserRuleContext { - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public WildcardContext wildcard() { - return getRuleContext(WildcardContext.class,0); - } - public TypeArgumentContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeArgument; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgument(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgument(this); - } - } - - public final TypeArgumentContext typeArgument() throws RecognitionException { - TypeArgumentContext _localctx = new TypeArgumentContext(_ctx, getState()); - enterRule(_localctx, 46, RULE_typeArgument); - try { - setState(652); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(650); - referenceType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(651); - wildcard(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WildcardContext extends ParserRuleContext { - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public WildcardBoundsContext wildcardBounds() { - return getRuleContext(WildcardBoundsContext.class,0); - } - public WildcardContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_wildcard; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWildcard(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWildcard(this); - } - } - - public final WildcardContext wildcard() throws RecognitionException { - WildcardContext _localctx = new WildcardContext(_ctx, getState()); - enterRule(_localctx, 48, RULE_wildcard); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(657); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(654); - annotation(); - } - } - setState(659); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(660); - match(QUESTION); - setState(662); - _la = _input.LA(1); - if (_la==EXTENDS || _la==SUPER) { - { - setState(661); - wildcardBounds(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WildcardBoundsContext extends ParserRuleContext { - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public WildcardBoundsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_wildcardBounds; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWildcardBounds(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWildcardBounds(this); - } - } - - public final WildcardBoundsContext wildcardBounds() throws RecognitionException { - WildcardBoundsContext _localctx = new WildcardBoundsContext(_ctx, getState()); - enterRule(_localctx, 50, RULE_wildcardBounds); - try { - setState(668); - switch (_input.LA(1)) { - case EXTENDS: - enterOuterAlt(_localctx, 1); - { - setState(664); - match(EXTENDS); - setState(665); - referenceType(); - } - break; - case SUPER: - enterOuterAlt(_localctx, 2); - { - setState(666); - match(SUPER); - setState(667); - referenceType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PackageNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public PackageNameContext packageName() { - return getRuleContext(PackageNameContext.class,0); - } - public PackageNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_packageName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageName(this); - } - } - - public final PackageNameContext packageName() throws RecognitionException { - return packageName(0); - } - - private PackageNameContext packageName(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - PackageNameContext _localctx = new PackageNameContext(_ctx, _parentState); - PackageNameContext _prevctx = _localctx; - int _startState = 52; - enterRecursionRule(_localctx, 52, RULE_packageName, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(671); - match(Identifier); - } - _ctx.stop = _input.LT(-1); - setState(678); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,32,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new PackageNameContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_packageName); - setState(673); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(674); - match(DOT); - setState(675); - match(Identifier); - } - } - } - setState(680); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,32,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class TypeNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public PackageOrTypeNameContext packageOrTypeName() { - return getRuleContext(PackageOrTypeNameContext.class,0); - } - public TypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeName(this); - } - } - - public final TypeNameContext typeName() throws RecognitionException { - TypeNameContext _localctx = new TypeNameContext(_ctx, getState()); - enterRule(_localctx, 54, RULE_typeName); - try { - setState(686); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(681); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(682); - packageOrTypeName(0); - setState(683); - match(DOT); - setState(684); - match(Identifier); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PackageOrTypeNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public PackageOrTypeNameContext packageOrTypeName() { - return getRuleContext(PackageOrTypeNameContext.class,0); - } - public PackageOrTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_packageOrTypeName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageOrTypeName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageOrTypeName(this); - } - } - - public final PackageOrTypeNameContext packageOrTypeName() throws RecognitionException { - return packageOrTypeName(0); - } - - private PackageOrTypeNameContext packageOrTypeName(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - PackageOrTypeNameContext _localctx = new PackageOrTypeNameContext(_ctx, _parentState); - PackageOrTypeNameContext _prevctx = _localctx; - int _startState = 56; - enterRecursionRule(_localctx, 56, RULE_packageOrTypeName, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(689); - match(Identifier); - } - _ctx.stop = _input.LT(-1); - setState(696); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,34,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new PackageOrTypeNameContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_packageOrTypeName); - setState(691); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(692); - match(DOT); - setState(693); - match(Identifier); - } - } - } - setState(698); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,34,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class ExpressionNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public AmbiguousNameContext ambiguousName() { - return getRuleContext(AmbiguousNameContext.class,0); - } - public ExpressionNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_expressionName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpressionName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpressionName(this); - } - } - - public final ExpressionNameContext expressionName() throws RecognitionException { - ExpressionNameContext _localctx = new ExpressionNameContext(_ctx, getState()); - enterRule(_localctx, 58, RULE_expressionName); - try { - setState(704); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,35,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(699); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(700); - ambiguousName(0); - setState(701); - match(DOT); - setState(702); - match(Identifier); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public MethodNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodName(this); - } - } - - public final MethodNameContext methodName() throws RecognitionException { - MethodNameContext _localctx = new MethodNameContext(_ctx, getState()); - enterRule(_localctx, 60, RULE_methodName); - try { - enterOuterAlt(_localctx, 1); - { - setState(706); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AmbiguousNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public AmbiguousNameContext ambiguousName() { - return getRuleContext(AmbiguousNameContext.class,0); - } - public AmbiguousNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ambiguousName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAmbiguousName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAmbiguousName(this); - } - } - - public final AmbiguousNameContext ambiguousName() throws RecognitionException { - return ambiguousName(0); - } - - private AmbiguousNameContext ambiguousName(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - AmbiguousNameContext _localctx = new AmbiguousNameContext(_ctx, _parentState); - AmbiguousNameContext _prevctx = _localctx; - int _startState = 62; - enterRecursionRule(_localctx, 62, RULE_ambiguousName, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(709); - match(Identifier); - } - _ctx.stop = _input.LT(-1); - setState(716); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,36,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new AmbiguousNameContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_ambiguousName); - setState(711); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(712); - match(DOT); - setState(713); - match(Identifier); - } - } - } - setState(718); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,36,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class CompilationUnitContext extends ParserRuleContext { - public TerminalNode EOF() { return getToken(Java8Parser.EOF, 0); } - public PackageDeclarationContext packageDeclaration() { - return getRuleContext(PackageDeclarationContext.class,0); - } - public List importDeclaration() { - return getRuleContexts(ImportDeclarationContext.class); - } - public ImportDeclarationContext importDeclaration(int i) { - return getRuleContext(ImportDeclarationContext.class,i); - } - public List typeDeclaration() { - return getRuleContexts(TypeDeclarationContext.class); - } - public TypeDeclarationContext typeDeclaration(int i) { - return getRuleContext(TypeDeclarationContext.class,i); - } - public CompilationUnitContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_compilationUnit; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCompilationUnit(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCompilationUnit(this); - } - } - - public final CompilationUnitContext compilationUnit() throws RecognitionException { - CompilationUnitContext _localctx = new CompilationUnitContext(_ctx, getState()); - enterRule(_localctx, 64, RULE_compilationUnit); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(720); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,37,_ctx) ) { - case 1: - { - setState(719); - packageDeclaration(); - } - break; - } - setState(725); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==IMPORT) { - { - { - setState(722); - importDeclaration(); - } - } - setState(727); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(731); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << CLASS) | (1L << ENUM) | (1L << FINAL) | (1L << INTERFACE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP) | (1L << SEMI))) != 0) || _la==AT) { - { - { - setState(728); - typeDeclaration(); - } - } - setState(733); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(734); - match(EOF); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PackageDeclarationContext extends ParserRuleContext { - public List Identifier() { return getTokens(Java8Parser.Identifier); } - public TerminalNode Identifier(int i) { - return getToken(Java8Parser.Identifier, i); - } - public List packageModifier() { - return getRuleContexts(PackageModifierContext.class); - } - public PackageModifierContext packageModifier(int i) { - return getRuleContext(PackageModifierContext.class,i); - } - public PackageDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_packageDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageDeclaration(this); - } - } - - public final PackageDeclarationContext packageDeclaration() throws RecognitionException { - PackageDeclarationContext _localctx = new PackageDeclarationContext(_ctx, getState()); - enterRule(_localctx, 66, RULE_packageDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(739); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(736); - packageModifier(); - } - } - setState(741); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(742); - match(PACKAGE); - setState(743); - match(Identifier); - setState(748); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==DOT) { - { - { - setState(744); - match(DOT); - setState(745); - match(Identifier); - } - } - setState(750); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(751); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PackageModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public PackageModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_packageModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageModifier(this); - } - } - - public final PackageModifierContext packageModifier() throws RecognitionException { - PackageModifierContext _localctx = new PackageModifierContext(_ctx, getState()); - enterRule(_localctx, 68, RULE_packageModifier); - try { - enterOuterAlt(_localctx, 1); - { - setState(753); - annotation(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ImportDeclarationContext extends ParserRuleContext { - public SingleTypeImportDeclarationContext singleTypeImportDeclaration() { - return getRuleContext(SingleTypeImportDeclarationContext.class,0); - } - public TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() { - return getRuleContext(TypeImportOnDemandDeclarationContext.class,0); - } - public SingleStaticImportDeclarationContext singleStaticImportDeclaration() { - return getRuleContext(SingleStaticImportDeclarationContext.class,0); - } - public StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() { - return getRuleContext(StaticImportOnDemandDeclarationContext.class,0); - } - public ImportDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_importDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterImportDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitImportDeclaration(this); - } - } - - public final ImportDeclarationContext importDeclaration() throws RecognitionException { - ImportDeclarationContext _localctx = new ImportDeclarationContext(_ctx, getState()); - enterRule(_localctx, 70, RULE_importDeclaration); - try { - setState(759); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(755); - singleTypeImportDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(756); - typeImportOnDemandDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(757); - singleStaticImportDeclaration(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(758); - staticImportOnDemandDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SingleTypeImportDeclarationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public SingleTypeImportDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_singleTypeImportDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleTypeImportDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleTypeImportDeclaration(this); - } - } - - public final SingleTypeImportDeclarationContext singleTypeImportDeclaration() throws RecognitionException { - SingleTypeImportDeclarationContext _localctx = new SingleTypeImportDeclarationContext(_ctx, getState()); - enterRule(_localctx, 72, RULE_singleTypeImportDeclaration); - try { - enterOuterAlt(_localctx, 1); - { - setState(761); - match(IMPORT); - setState(762); - typeName(); - setState(763); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeImportOnDemandDeclarationContext extends ParserRuleContext { - public PackageOrTypeNameContext packageOrTypeName() { - return getRuleContext(PackageOrTypeNameContext.class,0); - } - public TypeImportOnDemandDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeImportOnDemandDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeImportOnDemandDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeImportOnDemandDeclaration(this); - } - } - - public final TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() throws RecognitionException { - TypeImportOnDemandDeclarationContext _localctx = new TypeImportOnDemandDeclarationContext(_ctx, getState()); - enterRule(_localctx, 74, RULE_typeImportOnDemandDeclaration); - try { - enterOuterAlt(_localctx, 1); - { - setState(765); - match(IMPORT); - setState(766); - packageOrTypeName(0); - setState(767); - match(DOT); - setState(768); - match(MUL); - setState(769); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SingleStaticImportDeclarationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public SingleStaticImportDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_singleStaticImportDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleStaticImportDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleStaticImportDeclaration(this); - } - } - - public final SingleStaticImportDeclarationContext singleStaticImportDeclaration() throws RecognitionException { - SingleStaticImportDeclarationContext _localctx = new SingleStaticImportDeclarationContext(_ctx, getState()); - enterRule(_localctx, 76, RULE_singleStaticImportDeclaration); - try { - enterOuterAlt(_localctx, 1); - { - setState(771); - match(IMPORT); - setState(772); - match(STATIC); - setState(773); - typeName(); - setState(774); - match(DOT); - setState(775); - match(Identifier); - setState(776); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StaticImportOnDemandDeclarationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public StaticImportOnDemandDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_staticImportOnDemandDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStaticImportOnDemandDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStaticImportOnDemandDeclaration(this); - } - } - - public final StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() throws RecognitionException { - StaticImportOnDemandDeclarationContext _localctx = new StaticImportOnDemandDeclarationContext(_ctx, getState()); - enterRule(_localctx, 78, RULE_staticImportOnDemandDeclaration); - try { - enterOuterAlt(_localctx, 1); - { - setState(778); - match(IMPORT); - setState(779); - match(STATIC); - setState(780); - typeName(); - setState(781); - match(DOT); - setState(782); - match(MUL); - setState(783); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeDeclarationContext extends ParserRuleContext { - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public InterfaceDeclarationContext interfaceDeclaration() { - return getRuleContext(InterfaceDeclarationContext.class,0); - } - public TypeDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeDeclaration(this); - } - } - - public final TypeDeclarationContext typeDeclaration() throws RecognitionException { - TypeDeclarationContext _localctx = new TypeDeclarationContext(_ctx, getState()); - enterRule(_localctx, 80, RULE_typeDeclaration); - try { - setState(788); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(785); - classDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(786); - interfaceDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(787); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassDeclarationContext extends ParserRuleContext { - public NormalClassDeclarationContext normalClassDeclaration() { - return getRuleContext(NormalClassDeclarationContext.class,0); - } - public EnumDeclarationContext enumDeclaration() { - return getRuleContext(EnumDeclarationContext.class,0); - } - public ClassDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassDeclaration(this); - } - } - - public final ClassDeclarationContext classDeclaration() throws RecognitionException { - ClassDeclarationContext _localctx = new ClassDeclarationContext(_ctx, getState()); - enterRule(_localctx, 82, RULE_classDeclaration); - try { - setState(792); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,44,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(790); - normalClassDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(791); - enumDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class NormalClassDeclarationContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public List classModifier() { - return getRuleContexts(ClassModifierContext.class); - } - public ClassModifierContext classModifier(int i) { - return getRuleContext(ClassModifierContext.class,i); - } - public TypeParametersContext typeParameters() { - return getRuleContext(TypeParametersContext.class,0); - } - public SuperclassContext superclass() { - return getRuleContext(SuperclassContext.class,0); - } - public SuperinterfacesContext superinterfaces() { - return getRuleContext(SuperinterfacesContext.class,0); - } - public NormalClassDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_normalClassDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalClassDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalClassDeclaration(this); - } - } - - public final NormalClassDeclarationContext normalClassDeclaration() throws RecognitionException { - NormalClassDeclarationContext _localctx = new NormalClassDeclarationContext(_ctx, getState()); - enterRule(_localctx, 84, RULE_normalClassDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(797); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { - { - { - setState(794); - classModifier(); - } - } - setState(799); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(800); - match(CLASS); - setState(801); - match(Identifier); - setState(803); - _la = _input.LA(1); - if (_la==LT) { - { - setState(802); - typeParameters(); - } - } - - setState(806); - _la = _input.LA(1); - if (_la==EXTENDS) { - { - setState(805); - superclass(); - } - } - - setState(809); - _la = _input.LA(1); - if (_la==IMPLEMENTS) { - { - setState(808); - superinterfaces(); - } - } - - setState(811); - classBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public ClassModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassModifier(this); - } - } - - public final ClassModifierContext classModifier() throws RecognitionException { - ClassModifierContext _localctx = new ClassModifierContext(_ctx, getState()); - enterRule(_localctx, 86, RULE_classModifier); - try { - setState(821); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(813); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(814); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(815); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(816); - match(PRIVATE); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 5); - { - setState(817); - match(ABSTRACT); - } - break; - case STATIC: - enterOuterAlt(_localctx, 6); - { - setState(818); - match(STATIC); - } - break; - case FINAL: - enterOuterAlt(_localctx, 7); - { - setState(819); - match(FINAL); - } - break; - case STRICTFP: - enterOuterAlt(_localctx, 8); - { - setState(820); - match(STRICTFP); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeParametersContext extends ParserRuleContext { - public TypeParameterListContext typeParameterList() { - return getRuleContext(TypeParameterListContext.class,0); - } - public TypeParametersContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeParameters; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameters(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameters(this); - } - } - - public final TypeParametersContext typeParameters() throws RecognitionException { - TypeParametersContext _localctx = new TypeParametersContext(_ctx, getState()); - enterRule(_localctx, 88, RULE_typeParameters); - try { - enterOuterAlt(_localctx, 1); - { - setState(823); - match(LT); - setState(824); - typeParameterList(); - setState(825); - match(GT); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeParameterListContext extends ParserRuleContext { - public List typeParameter() { - return getRuleContexts(TypeParameterContext.class); - } - public TypeParameterContext typeParameter(int i) { - return getRuleContext(TypeParameterContext.class,i); - } - public TypeParameterListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeParameterList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameterList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameterList(this); - } - } - - public final TypeParameterListContext typeParameterList() throws RecognitionException { - TypeParameterListContext _localctx = new TypeParameterListContext(_ctx, getState()); - enterRule(_localctx, 90, RULE_typeParameterList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(827); - typeParameter(); - setState(832); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(828); - match(COMMA); - setState(829); - typeParameter(); - } - } - setState(834); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SuperclassContext extends ParserRuleContext { - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public SuperclassContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_superclass; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSuperclass(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSuperclass(this); - } - } - - public final SuperclassContext superclass() throws RecognitionException { - SuperclassContext _localctx = new SuperclassContext(_ctx, getState()); - enterRule(_localctx, 92, RULE_superclass); - try { - enterOuterAlt(_localctx, 1); - { - setState(835); - match(EXTENDS); - setState(836); - classType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SuperinterfacesContext extends ParserRuleContext { - public InterfaceTypeListContext interfaceTypeList() { - return getRuleContext(InterfaceTypeListContext.class,0); - } - public SuperinterfacesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_superinterfaces; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSuperinterfaces(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSuperinterfaces(this); - } - } - - public final SuperinterfacesContext superinterfaces() throws RecognitionException { - SuperinterfacesContext _localctx = new SuperinterfacesContext(_ctx, getState()); - enterRule(_localctx, 94, RULE_superinterfaces); - try { - enterOuterAlt(_localctx, 1); - { - setState(838); - match(IMPLEMENTS); - setState(839); - interfaceTypeList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceTypeListContext extends ParserRuleContext { - public List interfaceType() { - return getRuleContexts(InterfaceTypeContext.class); - } - public InterfaceTypeContext interfaceType(int i) { - return getRuleContext(InterfaceTypeContext.class,i); - } - public InterfaceTypeListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceTypeList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceTypeList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceTypeList(this); - } - } - - public final InterfaceTypeListContext interfaceTypeList() throws RecognitionException { - InterfaceTypeListContext _localctx = new InterfaceTypeListContext(_ctx, getState()); - enterRule(_localctx, 96, RULE_interfaceTypeList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(841); - interfaceType(); - setState(846); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(842); - match(COMMA); - setState(843); - interfaceType(); - } - } - setState(848); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassBodyContext extends ParserRuleContext { - public List classBodyDeclaration() { - return getRuleContexts(ClassBodyDeclarationContext.class); - } - public ClassBodyDeclarationContext classBodyDeclaration(int i) { - return getRuleContext(ClassBodyDeclarationContext.class,i); - } - public ClassBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassBody(this); - } - } - - public final ClassBodyContext classBody() throws RecognitionException { - ClassBodyContext _localctx = new ClassBodyContext(_ctx, getState()); - enterRule(_localctx, 98, RULE_classBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(849); - match(LBRACE); - setState(853); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { - { - { - setState(850); - classBodyDeclaration(); - } - } - setState(855); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(856); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassBodyDeclarationContext extends ParserRuleContext { - public ClassMemberDeclarationContext classMemberDeclaration() { - return getRuleContext(ClassMemberDeclarationContext.class,0); - } - public InstanceInitializerContext instanceInitializer() { - return getRuleContext(InstanceInitializerContext.class,0); - } - public StaticInitializerContext staticInitializer() { - return getRuleContext(StaticInitializerContext.class,0); - } - public ConstructorDeclarationContext constructorDeclaration() { - return getRuleContext(ConstructorDeclarationContext.class,0); - } - public ClassBodyDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classBodyDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassBodyDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassBodyDeclaration(this); - } - } - - public final ClassBodyDeclarationContext classBodyDeclaration() throws RecognitionException { - ClassBodyDeclarationContext _localctx = new ClassBodyDeclarationContext(_ctx, getState()); - enterRule(_localctx, 100, RULE_classBodyDeclaration); - try { - setState(862); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(858); - classMemberDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(859); - instanceInitializer(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(860); - staticInitializer(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(861); - constructorDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassMemberDeclarationContext extends ParserRuleContext { - public FieldDeclarationContext fieldDeclaration() { - return getRuleContext(FieldDeclarationContext.class,0); - } - public MethodDeclarationContext methodDeclaration() { - return getRuleContext(MethodDeclarationContext.class,0); - } - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public InterfaceDeclarationContext interfaceDeclaration() { - return getRuleContext(InterfaceDeclarationContext.class,0); - } - public ClassMemberDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classMemberDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassMemberDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassMemberDeclaration(this); - } - } - - public final ClassMemberDeclarationContext classMemberDeclaration() throws RecognitionException { - ClassMemberDeclarationContext _localctx = new ClassMemberDeclarationContext(_ctx, getState()); - enterRule(_localctx, 102, RULE_classMemberDeclaration); - try { - setState(869); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(864); - fieldDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(865); - methodDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(866); - classDeclaration(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(867); - interfaceDeclaration(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(868); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldDeclarationContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorListContext variableDeclaratorList() { - return getRuleContext(VariableDeclaratorListContext.class,0); - } - public List fieldModifier() { - return getRuleContexts(FieldModifierContext.class); - } - public FieldModifierContext fieldModifier(int i) { - return getRuleContext(FieldModifierContext.class,i); - } - public FieldDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldDeclaration(this); - } - } - - public final FieldDeclarationContext fieldDeclaration() throws RecognitionException { - FieldDeclarationContext _localctx = new FieldDeclarationContext(_ctx, getState()); - enterRule(_localctx, 104, RULE_fieldDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(874); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << TRANSIENT) | (1L << VOLATILE))) != 0) || _la==AT) { - { - { - setState(871); - fieldModifier(); - } - } - setState(876); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(877); - unannType(); - setState(878); - variableDeclaratorList(); - setState(879); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public FieldModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldModifier(this); - } - } - - public final FieldModifierContext fieldModifier() throws RecognitionException { - FieldModifierContext _localctx = new FieldModifierContext(_ctx, getState()); - enterRule(_localctx, 106, RULE_fieldModifier); - try { - setState(889); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(881); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(882); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(883); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(884); - match(PRIVATE); - } - break; - case STATIC: - enterOuterAlt(_localctx, 5); - { - setState(885); - match(STATIC); - } - break; - case FINAL: - enterOuterAlt(_localctx, 6); - { - setState(886); - match(FINAL); - } - break; - case TRANSIENT: - enterOuterAlt(_localctx, 7); - { - setState(887); - match(TRANSIENT); - } - break; - case VOLATILE: - enterOuterAlt(_localctx, 8); - { - setState(888); - match(VOLATILE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableDeclaratorListContext extends ParserRuleContext { - public List variableDeclarator() { - return getRuleContexts(VariableDeclaratorContext.class); - } - public VariableDeclaratorContext variableDeclarator(int i) { - return getRuleContext(VariableDeclaratorContext.class,i); - } - public VariableDeclaratorListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableDeclaratorList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclaratorList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclaratorList(this); - } - } - - public final VariableDeclaratorListContext variableDeclaratorList() throws RecognitionException { - VariableDeclaratorListContext _localctx = new VariableDeclaratorListContext(_ctx, getState()); - enterRule(_localctx, 108, RULE_variableDeclaratorList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(891); - variableDeclarator(); - setState(896); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(892); - match(COMMA); - setState(893); - variableDeclarator(); - } - } - setState(898); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableDeclaratorContext extends ParserRuleContext { - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public VariableInitializerContext variableInitializer() { - return getRuleContext(VariableInitializerContext.class,0); - } - public VariableDeclaratorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableDeclarator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclarator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclarator(this); - } - } - - public final VariableDeclaratorContext variableDeclarator() throws RecognitionException { - VariableDeclaratorContext _localctx = new VariableDeclaratorContext(_ctx, getState()); - enterRule(_localctx, 110, RULE_variableDeclarator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(899); - variableDeclaratorId(); - setState(902); - _la = _input.LA(1); - if (_la==ASSIGN) { - { - setState(900); - match(ASSIGN); - setState(901); - variableInitializer(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableDeclaratorIdContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public VariableDeclaratorIdContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableDeclaratorId; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclaratorId(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclaratorId(this); - } - } - - public final VariableDeclaratorIdContext variableDeclaratorId() throws RecognitionException { - VariableDeclaratorIdContext _localctx = new VariableDeclaratorIdContext(_ctx, getState()); - enterRule(_localctx, 112, RULE_variableDeclaratorId); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(904); - match(Identifier); - setState(906); - _la = _input.LA(1); - if (_la==LBRACK || _la==AT) { - { - setState(905); - dims(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableInitializerContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ArrayInitializerContext arrayInitializer() { - return getRuleContext(ArrayInitializerContext.class,0); - } - public VariableInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableInitializer(this); - } - } - - public final VariableInitializerContext variableInitializer() throws RecognitionException { - VariableInitializerContext _localctx = new VariableInitializerContext(_ctx, getState()); - enterRule(_localctx, 114, RULE_variableInitializer); - try { - setState(910); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NEW: - case SHORT: - case SUPER: - case THIS: - case VOID: - case IntegerLiteral: - case FloatingPointLiteral: - case BooleanLiteral: - case CharacterLiteral: - case StringLiteral: - case NullLiteral: - case LPAREN: - case BANG: - case TILDE: - case INC: - case DEC: - case ADD: - case SUB: - case Identifier: - case AT: - enterOuterAlt(_localctx, 1); - { - setState(908); - expression(); - } - break; - case LBRACE: - enterOuterAlt(_localctx, 2); - { - setState(909); - arrayInitializer(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannTypeContext extends ParserRuleContext { - public UnannPrimitiveTypeContext unannPrimitiveType() { - return getRuleContext(UnannPrimitiveTypeContext.class,0); - } - public UnannReferenceTypeContext unannReferenceType() { - return getRuleContext(UnannReferenceTypeContext.class,0); - } - public UnannTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannType(this); - } - } - - public final UnannTypeContext unannType() throws RecognitionException { - UnannTypeContext _localctx = new UnannTypeContext(_ctx, getState()); - enterRule(_localctx, 116, RULE_unannType); - try { - setState(914); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,61,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(912); - unannPrimitiveType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(913); - unannReferenceType(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannPrimitiveTypeContext extends ParserRuleContext { - public NumericTypeContext numericType() { - return getRuleContext(NumericTypeContext.class,0); - } - public UnannPrimitiveTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannPrimitiveType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannPrimitiveType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannPrimitiveType(this); - } - } - - public final UnannPrimitiveTypeContext unannPrimitiveType() throws RecognitionException { - UnannPrimitiveTypeContext _localctx = new UnannPrimitiveTypeContext(_ctx, getState()); - enterRule(_localctx, 118, RULE_unannPrimitiveType); - try { - setState(918); - switch (_input.LA(1)) { - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case SHORT: - enterOuterAlt(_localctx, 1); - { - setState(916); - numericType(); - } - break; - case BOOLEAN: - enterOuterAlt(_localctx, 2); - { - setState(917); - match(BOOLEAN); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannReferenceTypeContext extends ParserRuleContext { - public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { - return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); - } - public UnannTypeVariableContext unannTypeVariable() { - return getRuleContext(UnannTypeVariableContext.class,0); - } - public UnannArrayTypeContext unannArrayType() { - return getRuleContext(UnannArrayTypeContext.class,0); - } - public UnannReferenceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannReferenceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannReferenceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannReferenceType(this); - } - } - - public final UnannReferenceTypeContext unannReferenceType() throws RecognitionException { - UnannReferenceTypeContext _localctx = new UnannReferenceTypeContext(_ctx, getState()); - enterRule(_localctx, 120, RULE_unannReferenceType); - try { - setState(923); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(920); - unannClassOrInterfaceType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(921); - unannTypeVariable(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(922); - unannArrayType(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannClassOrInterfaceTypeContext extends ParserRuleContext { - public UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() { - return getRuleContext(UnannClassType_lfno_unannClassOrInterfaceTypeContext.class,0); - } - public UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() { - return getRuleContext(UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext.class,0); - } - public List unannClassType_lf_unannClassOrInterfaceType() { - return getRuleContexts(UnannClassType_lf_unannClassOrInterfaceTypeContext.class); - } - public UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType(int i) { - return getRuleContext(UnannClassType_lf_unannClassOrInterfaceTypeContext.class,i); - } - public List unannInterfaceType_lf_unannClassOrInterfaceType() { - return getRuleContexts(UnannInterfaceType_lf_unannClassOrInterfaceTypeContext.class); - } - public UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType(int i) { - return getRuleContext(UnannInterfaceType_lf_unannClassOrInterfaceTypeContext.class,i); - } - public UnannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassOrInterfaceType(this); - } - } - - public final UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() throws RecognitionException { - UnannClassOrInterfaceTypeContext _localctx = new UnannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 122, RULE_unannClassOrInterfaceType); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(927); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) { - case 1: - { - setState(925); - unannClassType_lfno_unannClassOrInterfaceType(); - } - break; - case 2: - { - setState(926); - unannInterfaceType_lfno_unannClassOrInterfaceType(); - } - break; - } - setState(933); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,66,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - setState(931); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,65,_ctx) ) { - case 1: - { - setState(929); - unannClassType_lf_unannClassOrInterfaceType(); - } - break; - case 2: - { - setState(930); - unannInterfaceType_lf_unannClassOrInterfaceType(); - } - break; - } - } - } - setState(935); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,66,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannClassTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { - return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public UnannClassTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannClassType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType(this); - } - } - - public final UnannClassTypeContext unannClassType() throws RecognitionException { - UnannClassTypeContext _localctx = new UnannClassTypeContext(_ctx, getState()); - enterRule(_localctx, 124, RULE_unannClassType); - int _la; - try { - setState(952); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(936); - match(Identifier); - setState(938); - _la = _input.LA(1); - if (_la==LT) { - { - setState(937); - typeArguments(); - } - } - - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(940); - unannClassOrInterfaceType(); - setState(941); - match(DOT); - setState(945); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(942); - annotation(); - } - } - setState(947); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(948); - match(Identifier); - setState(950); - _la = _input.LA(1); - if (_la==LT) { - { - setState(949); - typeArguments(); - } - } - - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannClassType_lf_unannClassOrInterfaceTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public UnannClassType_lf_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannClassType_lf_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType_lf_unannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType_lf_unannClassOrInterfaceType(this); - } - } - - public final UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() throws RecognitionException { - UnannClassType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 126, RULE_unannClassType_lf_unannClassOrInterfaceType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(954); - match(DOT); - setState(958); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(955); - annotation(); - } - } - setState(960); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(961); - match(Identifier); - setState(963); - _la = _input.LA(1); - if (_la==LT) { - { - setState(962); - typeArguments(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannClassType_lfno_unannClassOrInterfaceTypeContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public UnannClassType_lfno_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannClassType_lfno_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType_lfno_unannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType_lfno_unannClassOrInterfaceType(this); - } - } - - public final UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() throws RecognitionException { - UnannClassType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 128, RULE_unannClassType_lfno_unannClassOrInterfaceType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(965); - match(Identifier); - setState(967); - _la = _input.LA(1); - if (_la==LT) { - { - setState(966); - typeArguments(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannInterfaceTypeContext extends ParserRuleContext { - public UnannClassTypeContext unannClassType() { - return getRuleContext(UnannClassTypeContext.class,0); - } - public UnannInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType(this); - } - } - - public final UnannInterfaceTypeContext unannInterfaceType() throws RecognitionException { - UnannInterfaceTypeContext _localctx = new UnannInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 130, RULE_unannInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(969); - unannClassType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannInterfaceType_lf_unannClassOrInterfaceTypeContext extends ParserRuleContext { - public UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() { - return getRuleContext(UnannClassType_lf_unannClassOrInterfaceTypeContext.class,0); - } - public UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannInterfaceType_lf_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType_lf_unannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType_lf_unannClassOrInterfaceType(this); - } - } - - public final UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType() throws RecognitionException { - UnannInterfaceType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 132, RULE_unannInterfaceType_lf_unannClassOrInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(971); - unannClassType_lf_unannClassOrInterfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext extends ParserRuleContext { - public UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() { - return getRuleContext(UnannClassType_lfno_unannClassOrInterfaceTypeContext.class,0); - } - public UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannInterfaceType_lfno_unannClassOrInterfaceType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType_lfno_unannClassOrInterfaceType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType_lfno_unannClassOrInterfaceType(this); - } - } - - public final UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() throws RecognitionException { - UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); - enterRule(_localctx, 134, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType); - try { - enterOuterAlt(_localctx, 1); - { - setState(973); - unannClassType_lfno_unannClassOrInterfaceType(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannTypeVariableContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public UnannTypeVariableContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannTypeVariable; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannTypeVariable(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannTypeVariable(this); - } - } - - public final UnannTypeVariableContext unannTypeVariable() throws RecognitionException { - UnannTypeVariableContext _localctx = new UnannTypeVariableContext(_ctx, getState()); - enterRule(_localctx, 136, RULE_unannTypeVariable); - try { - enterOuterAlt(_localctx, 1); - { - setState(975); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnannArrayTypeContext extends ParserRuleContext { - public UnannPrimitiveTypeContext unannPrimitiveType() { - return getRuleContext(UnannPrimitiveTypeContext.class,0); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { - return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); - } - public UnannTypeVariableContext unannTypeVariable() { - return getRuleContext(UnannTypeVariableContext.class,0); - } - public UnannArrayTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unannArrayType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannArrayType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannArrayType(this); - } - } - - public final UnannArrayTypeContext unannArrayType() throws RecognitionException { - UnannArrayTypeContext _localctx = new UnannArrayTypeContext(_ctx, getState()); - enterRule(_localctx, 138, RULE_unannArrayType); - try { - setState(986); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,74,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(977); - unannPrimitiveType(); - setState(978); - dims(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(980); - unannClassOrInterfaceType(); - setState(981); - dims(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(983); - unannTypeVariable(); - setState(984); - dims(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodDeclarationContext extends ParserRuleContext { - public MethodHeaderContext methodHeader() { - return getRuleContext(MethodHeaderContext.class,0); - } - public MethodBodyContext methodBody() { - return getRuleContext(MethodBodyContext.class,0); - } - public List methodModifier() { - return getRuleContexts(MethodModifierContext.class); - } - public MethodModifierContext methodModifier(int i) { - return getRuleContext(MethodModifierContext.class,i); - } - public MethodDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodDeclaration(this); - } - } - - public final MethodDeclarationContext methodDeclaration() throws RecognitionException { - MethodDeclarationContext _localctx = new MethodDeclarationContext(_ctx, getState()); - enterRule(_localctx, 140, RULE_methodDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(991); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED))) != 0) || _la==AT) { - { - { - setState(988); - methodModifier(); - } - } - setState(993); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(994); - methodHeader(); - setState(995); - methodBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public MethodModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodModifier(this); - } - } - - public final MethodModifierContext methodModifier() throws RecognitionException { - MethodModifierContext _localctx = new MethodModifierContext(_ctx, getState()); - enterRule(_localctx, 142, RULE_methodModifier); - try { - setState(1007); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(997); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(998); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(999); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(1000); - match(PRIVATE); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 5); - { - setState(1001); - match(ABSTRACT); - } - break; - case STATIC: - enterOuterAlt(_localctx, 6); - { - setState(1002); - match(STATIC); - } - break; - case FINAL: - enterOuterAlt(_localctx, 7); - { - setState(1003); - match(FINAL); - } - break; - case SYNCHRONIZED: - enterOuterAlt(_localctx, 8); - { - setState(1004); - match(SYNCHRONIZED); - } - break; - case NATIVE: - enterOuterAlt(_localctx, 9); - { - setState(1005); - match(NATIVE); - } - break; - case STRICTFP: - enterOuterAlt(_localctx, 10); - { - setState(1006); - match(STRICTFP); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodHeaderContext extends ParserRuleContext { - public ResultContext result() { - return getRuleContext(ResultContext.class,0); - } - public MethodDeclaratorContext methodDeclarator() { - return getRuleContext(MethodDeclaratorContext.class,0); - } - public Throws_Context throws_() { - return getRuleContext(Throws_Context.class,0); - } - public TypeParametersContext typeParameters() { - return getRuleContext(TypeParametersContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public MethodHeaderContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodHeader; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodHeader(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodHeader(this); - } - } - - public final MethodHeaderContext methodHeader() throws RecognitionException { - MethodHeaderContext _localctx = new MethodHeaderContext(_ctx, getState()); - enterRule(_localctx, 144, RULE_methodHeader); - int _la; - try { - setState(1026); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case SHORT: - case VOID: - case Identifier: - enterOuterAlt(_localctx, 1); - { - setState(1009); - result(); - setState(1010); - methodDeclarator(); - setState(1012); - _la = _input.LA(1); - if (_la==THROWS) { - { - setState(1011); - throws_(); - } - } - - } - break; - case LT: - enterOuterAlt(_localctx, 2); - { - setState(1014); - typeParameters(); - setState(1018); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(1015); - annotation(); - } - } - setState(1020); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1021); - result(); - setState(1022); - methodDeclarator(); - setState(1024); - _la = _input.LA(1); - if (_la==THROWS) { - { - setState(1023); - throws_(); - } - } - - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResultContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public ResultContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_result; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResult(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResult(this); - } - } - - public final ResultContext result() throws RecognitionException { - ResultContext _localctx = new ResultContext(_ctx, getState()); - enterRule(_localctx, 146, RULE_result); - try { - setState(1030); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case SHORT: - case Identifier: - enterOuterAlt(_localctx, 1); - { - setState(1028); - unannType(); - } - break; - case VOID: - enterOuterAlt(_localctx, 2); - { - setState(1029); - match(VOID); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodDeclaratorContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public FormalParameterListContext formalParameterList() { - return getRuleContext(FormalParameterListContext.class,0); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public MethodDeclaratorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodDeclarator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodDeclarator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodDeclarator(this); - } - } - - public final MethodDeclaratorContext methodDeclarator() throws RecognitionException { - MethodDeclaratorContext _localctx = new MethodDeclaratorContext(_ctx, getState()); - enterRule(_localctx, 148, RULE_methodDeclarator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1032); - match(Identifier); - setState(1033); - match(LPAREN); - setState(1035); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { - { - setState(1034); - formalParameterList(); - } - } - - setState(1037); - match(RPAREN); - setState(1039); - _la = _input.LA(1); - if (_la==LBRACK || _la==AT) { - { - setState(1038); - dims(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FormalParameterListContext extends ParserRuleContext { - public FormalParametersContext formalParameters() { - return getRuleContext(FormalParametersContext.class,0); - } - public LastFormalParameterContext lastFormalParameter() { - return getRuleContext(LastFormalParameterContext.class,0); - } - public FormalParameterListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_formalParameterList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameterList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameterList(this); - } - } - - public final FormalParameterListContext formalParameterList() throws RecognitionException { - FormalParameterListContext _localctx = new FormalParameterListContext(_ctx, getState()); - enterRule(_localctx, 150, RULE_formalParameterList); - try { - setState(1046); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,84,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1041); - formalParameters(); - setState(1042); - match(COMMA); - setState(1043); - lastFormalParameter(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1045); - lastFormalParameter(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FormalParametersContext extends ParserRuleContext { - public List formalParameter() { - return getRuleContexts(FormalParameterContext.class); - } - public FormalParameterContext formalParameter(int i) { - return getRuleContext(FormalParameterContext.class,i); - } - public ReceiverParameterContext receiverParameter() { - return getRuleContext(ReceiverParameterContext.class,0); - } - public FormalParametersContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_formalParameters; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameters(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameters(this); - } - } - - public final FormalParametersContext formalParameters() throws RecognitionException { - FormalParametersContext _localctx = new FormalParametersContext(_ctx, getState()); - enterRule(_localctx, 152, RULE_formalParameters); - try { - int _alt; - setState(1064); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,87,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1048); - formalParameter(); - setState(1053); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,85,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1049); - match(COMMA); - setState(1050); - formalParameter(); - } - } - } - setState(1055); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,85,_ctx); - } - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1056); - receiverParameter(); - setState(1061); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,86,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1057); - match(COMMA); - setState(1058); - formalParameter(); - } - } - } - setState(1063); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,86,_ctx); - } - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FormalParameterContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public FormalParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_formalParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameter(this); - } - } - - public final FormalParameterContext formalParameter() throws RecognitionException { - FormalParameterContext _localctx = new FormalParameterContext(_ctx, getState()); - enterRule(_localctx, 154, RULE_formalParameter); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1069); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1066); - variableModifier(); - } - } - setState(1071); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1072); - unannType(); - setState(1073); - variableDeclaratorId(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public VariableModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableModifier(this); - } - } - - public final VariableModifierContext variableModifier() throws RecognitionException { - VariableModifierContext _localctx = new VariableModifierContext(_ctx, getState()); - enterRule(_localctx, 156, RULE_variableModifier); - try { - setState(1077); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1075); - annotation(); - } - break; - case FINAL: - enterOuterAlt(_localctx, 2); - { - setState(1076); - match(FINAL); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LastFormalParameterContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public FormalParameterContext formalParameter() { - return getRuleContext(FormalParameterContext.class,0); - } - public LastFormalParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_lastFormalParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLastFormalParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLastFormalParameter(this); - } - } - - public final LastFormalParameterContext lastFormalParameter() throws RecognitionException { - LastFormalParameterContext _localctx = new LastFormalParameterContext(_ctx, getState()); - enterRule(_localctx, 158, RULE_lastFormalParameter); - int _la; - try { - setState(1096); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1082); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1079); - variableModifier(); - } - } - setState(1084); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1085); - unannType(); - setState(1089); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(1086); - annotation(); - } - } - setState(1091); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1092); - match(ELLIPSIS); - setState(1093); - variableDeclaratorId(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1095); - formalParameter(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReceiverParameterContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public ReceiverParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_receiverParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReceiverParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReceiverParameter(this); - } - } - - public final ReceiverParameterContext receiverParameter() throws RecognitionException { - ReceiverParameterContext _localctx = new ReceiverParameterContext(_ctx, getState()); - enterRule(_localctx, 160, RULE_receiverParameter); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1101); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(1098); - annotation(); - } - } - setState(1103); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1104); - unannType(); - setState(1107); - _la = _input.LA(1); - if (_la==Identifier) { - { - setState(1105); - match(Identifier); - setState(1106); - match(DOT); - } - } - - setState(1109); - match(THIS); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Throws_Context extends ParserRuleContext { - public ExceptionTypeListContext exceptionTypeList() { - return getRuleContext(ExceptionTypeListContext.class,0); - } - public Throws_Context(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_throws_; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterThrows_(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitThrows_(this); - } - } - - public final Throws_Context throws_() throws RecognitionException { - Throws_Context _localctx = new Throws_Context(_ctx, getState()); - enterRule(_localctx, 162, RULE_throws_); - try { - enterOuterAlt(_localctx, 1); - { - setState(1111); - match(THROWS); - setState(1112); - exceptionTypeList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExceptionTypeListContext extends ParserRuleContext { - public List exceptionType() { - return getRuleContexts(ExceptionTypeContext.class); - } - public ExceptionTypeContext exceptionType(int i) { - return getRuleContext(ExceptionTypeContext.class,i); - } - public ExceptionTypeListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_exceptionTypeList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExceptionTypeList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExceptionTypeList(this); - } - } - - public final ExceptionTypeListContext exceptionTypeList() throws RecognitionException { - ExceptionTypeListContext _localctx = new ExceptionTypeListContext(_ctx, getState()); - enterRule(_localctx, 164, RULE_exceptionTypeList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1114); - exceptionType(); - setState(1119); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(1115); - match(COMMA); - setState(1116); - exceptionType(); - } - } - setState(1121); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExceptionTypeContext extends ParserRuleContext { - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public TypeVariableContext typeVariable() { - return getRuleContext(TypeVariableContext.class,0); - } - public ExceptionTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_exceptionType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExceptionType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExceptionType(this); - } - } - - public final ExceptionTypeContext exceptionType() throws RecognitionException { - ExceptionTypeContext _localctx = new ExceptionTypeContext(_ctx, getState()); - enterRule(_localctx, 166, RULE_exceptionType); - try { - setState(1124); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,96,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1122); - classType(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1123); - typeVariable(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodBodyContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public MethodBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodBody(this); - } - } - - public final MethodBodyContext methodBody() throws RecognitionException { - MethodBodyContext _localctx = new MethodBodyContext(_ctx, getState()); - enterRule(_localctx, 168, RULE_methodBody); - try { - setState(1128); - switch (_input.LA(1)) { - case LBRACE: - enterOuterAlt(_localctx, 1); - { - setState(1126); - block(); - } - break; - case SEMI: - enterOuterAlt(_localctx, 2); - { - setState(1127); - match(SEMI); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InstanceInitializerContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public InstanceInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_instanceInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInstanceInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInstanceInitializer(this); - } - } - - public final InstanceInitializerContext instanceInitializer() throws RecognitionException { - InstanceInitializerContext _localctx = new InstanceInitializerContext(_ctx, getState()); - enterRule(_localctx, 170, RULE_instanceInitializer); - try { - enterOuterAlt(_localctx, 1); - { - setState(1130); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StaticInitializerContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public StaticInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_staticInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStaticInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStaticInitializer(this); - } - } - - public final StaticInitializerContext staticInitializer() throws RecognitionException { - StaticInitializerContext _localctx = new StaticInitializerContext(_ctx, getState()); - enterRule(_localctx, 172, RULE_staticInitializer); - try { - enterOuterAlt(_localctx, 1); - { - setState(1132); - match(STATIC); - setState(1133); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstructorDeclarationContext extends ParserRuleContext { - public ConstructorDeclaratorContext constructorDeclarator() { - return getRuleContext(ConstructorDeclaratorContext.class,0); - } - public ConstructorBodyContext constructorBody() { - return getRuleContext(ConstructorBodyContext.class,0); - } - public List constructorModifier() { - return getRuleContexts(ConstructorModifierContext.class); - } - public ConstructorModifierContext constructorModifier(int i) { - return getRuleContext(ConstructorModifierContext.class,i); - } - public Throws_Context throws_() { - return getRuleContext(Throws_Context.class,0); - } - public ConstructorDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constructorDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorDeclaration(this); - } - } - - public final ConstructorDeclarationContext constructorDeclaration() throws RecognitionException { - ConstructorDeclarationContext _localctx = new ConstructorDeclarationContext(_ctx, getState()); - enterRule(_localctx, 174, RULE_constructorDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1138); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC))) != 0) || _la==AT) { - { - { - setState(1135); - constructorModifier(); - } - } - setState(1140); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1141); - constructorDeclarator(); - setState(1143); - _la = _input.LA(1); - if (_la==THROWS) { - { - setState(1142); - throws_(); - } - } - - setState(1145); - constructorBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstructorModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public ConstructorModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constructorModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorModifier(this); - } - } - - public final ConstructorModifierContext constructorModifier() throws RecognitionException { - ConstructorModifierContext _localctx = new ConstructorModifierContext(_ctx, getState()); - enterRule(_localctx, 176, RULE_constructorModifier); - try { - setState(1151); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1147); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1148); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(1149); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(1150); - match(PRIVATE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstructorDeclaratorContext extends ParserRuleContext { - public SimpleTypeNameContext simpleTypeName() { - return getRuleContext(SimpleTypeNameContext.class,0); - } - public TypeParametersContext typeParameters() { - return getRuleContext(TypeParametersContext.class,0); - } - public FormalParameterListContext formalParameterList() { - return getRuleContext(FormalParameterListContext.class,0); - } - public ConstructorDeclaratorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constructorDeclarator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorDeclarator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorDeclarator(this); - } - } - - public final ConstructorDeclaratorContext constructorDeclarator() throws RecognitionException { - ConstructorDeclaratorContext _localctx = new ConstructorDeclaratorContext(_ctx, getState()); - enterRule(_localctx, 178, RULE_constructorDeclarator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1154); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1153); - typeParameters(); - } - } - - setState(1156); - simpleTypeName(); - setState(1157); - match(LPAREN); - setState(1159); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { - { - setState(1158); - formalParameterList(); - } - } - - setState(1161); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SimpleTypeNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public SimpleTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_simpleTypeName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSimpleTypeName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSimpleTypeName(this); - } - } - - public final SimpleTypeNameContext simpleTypeName() throws RecognitionException { - SimpleTypeNameContext _localctx = new SimpleTypeNameContext(_ctx, getState()); - enterRule(_localctx, 180, RULE_simpleTypeName); - try { - enterOuterAlt(_localctx, 1); - { - setState(1163); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstructorBodyContext extends ParserRuleContext { - public ExplicitConstructorInvocationContext explicitConstructorInvocation() { - return getRuleContext(ExplicitConstructorInvocationContext.class,0); - } - public BlockStatementsContext blockStatements() { - return getRuleContext(BlockStatementsContext.class,0); - } - public ConstructorBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constructorBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorBody(this); - } - } - - public final ConstructorBodyContext constructorBody() throws RecognitionException { - ConstructorBodyContext _localctx = new ConstructorBodyContext(_ctx, getState()); - enterRule(_localctx, 182, RULE_constructorBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1165); - match(LBRACE); - setState(1167); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,103,_ctx) ) { - case 1: - { - setState(1166); - explicitConstructorInvocation(); - } - break; - } - setState(1170); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { - { - setState(1169); - blockStatements(); - } - } - - setState(1172); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExplicitConstructorInvocationContext extends ParserRuleContext { - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public ExplicitConstructorInvocationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_explicitConstructorInvocation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExplicitConstructorInvocation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExplicitConstructorInvocation(this); - } - } - - public final ExplicitConstructorInvocationContext explicitConstructorInvocation() throws RecognitionException { - ExplicitConstructorInvocationContext _localctx = new ExplicitConstructorInvocationContext(_ctx, getState()); - enterRule(_localctx, 184, RULE_explicitConstructorInvocation); - int _la; - try { - setState(1220); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,113,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1175); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1174); - typeArguments(); - } - } - - setState(1177); - match(THIS); - setState(1178); - match(LPAREN); - setState(1180); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1179); - argumentList(); - } - } - - setState(1182); - match(RPAREN); - setState(1183); - match(SEMI); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1185); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1184); - typeArguments(); - } - } - - setState(1187); - match(SUPER); - setState(1188); - match(LPAREN); - setState(1190); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1189); - argumentList(); - } - } - - setState(1192); - match(RPAREN); - setState(1193); - match(SEMI); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1194); - expressionName(); - setState(1195); - match(DOT); - setState(1197); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1196); - typeArguments(); - } - } - - setState(1199); - match(SUPER); - setState(1200); - match(LPAREN); - setState(1202); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1201); - argumentList(); - } - } - - setState(1204); - match(RPAREN); - setState(1205); - match(SEMI); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1207); - primary(); - setState(1208); - match(DOT); - setState(1210); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1209); - typeArguments(); - } - } - - setState(1212); - match(SUPER); - setState(1213); - match(LPAREN); - setState(1215); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1214); - argumentList(); - } - } - - setState(1217); - match(RPAREN); - setState(1218); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumDeclarationContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public EnumBodyContext enumBody() { - return getRuleContext(EnumBodyContext.class,0); - } - public List classModifier() { - return getRuleContexts(ClassModifierContext.class); - } - public ClassModifierContext classModifier(int i) { - return getRuleContext(ClassModifierContext.class,i); - } - public SuperinterfacesContext superinterfaces() { - return getRuleContext(SuperinterfacesContext.class,0); - } - public EnumDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumDeclaration(this); - } - } - - public final EnumDeclarationContext enumDeclaration() throws RecognitionException { - EnumDeclarationContext _localctx = new EnumDeclarationContext(_ctx, getState()); - enterRule(_localctx, 186, RULE_enumDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1225); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { - { - { - setState(1222); - classModifier(); - } - } - setState(1227); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1228); - match(ENUM); - setState(1229); - match(Identifier); - setState(1231); - _la = _input.LA(1); - if (_la==IMPLEMENTS) { - { - setState(1230); - superinterfaces(); - } - } - - setState(1233); - enumBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumBodyContext extends ParserRuleContext { - public EnumConstantListContext enumConstantList() { - return getRuleContext(EnumConstantListContext.class,0); - } - public EnumBodyDeclarationsContext enumBodyDeclarations() { - return getRuleContext(EnumBodyDeclarationsContext.class,0); - } - public EnumBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumBody(this); - } - } - - public final EnumBodyContext enumBody() throws RecognitionException { - EnumBodyContext _localctx = new EnumBodyContext(_ctx, getState()); - enterRule(_localctx, 188, RULE_enumBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1235); - match(LBRACE); - setState(1237); - _la = _input.LA(1); - if (_la==Identifier || _la==AT) { - { - setState(1236); - enumConstantList(); - } - } - - setState(1240); - _la = _input.LA(1); - if (_la==COMMA) { - { - setState(1239); - match(COMMA); - } - } - - setState(1243); - _la = _input.LA(1); - if (_la==SEMI) { - { - setState(1242); - enumBodyDeclarations(); - } - } - - setState(1245); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumConstantListContext extends ParserRuleContext { - public List enumConstant() { - return getRuleContexts(EnumConstantContext.class); - } - public EnumConstantContext enumConstant(int i) { - return getRuleContext(EnumConstantContext.class,i); - } - public EnumConstantListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumConstantList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantList(this); - } - } - - public final EnumConstantListContext enumConstantList() throws RecognitionException { - EnumConstantListContext _localctx = new EnumConstantListContext(_ctx, getState()); - enterRule(_localctx, 190, RULE_enumConstantList); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1247); - enumConstant(); - setState(1252); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,119,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1248); - match(COMMA); - setState(1249); - enumConstant(); - } - } - } - setState(1254); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,119,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumConstantContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List enumConstantModifier() { - return getRuleContexts(EnumConstantModifierContext.class); - } - public EnumConstantModifierContext enumConstantModifier(int i) { - return getRuleContext(EnumConstantModifierContext.class,i); - } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public EnumConstantContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumConstant; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstant(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstant(this); - } - } - - public final EnumConstantContext enumConstant() throws RecognitionException { - EnumConstantContext _localctx = new EnumConstantContext(_ctx, getState()); - enterRule(_localctx, 192, RULE_enumConstant); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1258); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(1255); - enumConstantModifier(); - } - } - setState(1260); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1261); - match(Identifier); - setState(1267); - _la = _input.LA(1); - if (_la==LPAREN) { - { - setState(1262); - match(LPAREN); - setState(1264); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1263); - argumentList(); - } - } - - setState(1266); - match(RPAREN); - } - } - - setState(1270); - _la = _input.LA(1); - if (_la==LBRACE) { - { - setState(1269); - classBody(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumConstantModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public EnumConstantModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumConstantModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantModifier(this); - } - } - - public final EnumConstantModifierContext enumConstantModifier() throws RecognitionException { - EnumConstantModifierContext _localctx = new EnumConstantModifierContext(_ctx, getState()); - enterRule(_localctx, 194, RULE_enumConstantModifier); - try { - enterOuterAlt(_localctx, 1); - { - setState(1272); - annotation(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumBodyDeclarationsContext extends ParserRuleContext { - public List classBodyDeclaration() { - return getRuleContexts(ClassBodyDeclarationContext.class); - } - public ClassBodyDeclarationContext classBodyDeclaration(int i) { - return getRuleContext(ClassBodyDeclarationContext.class,i); - } - public EnumBodyDeclarationsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumBodyDeclarations; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumBodyDeclarations(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumBodyDeclarations(this); - } - } - - public final EnumBodyDeclarationsContext enumBodyDeclarations() throws RecognitionException { - EnumBodyDeclarationsContext _localctx = new EnumBodyDeclarationsContext(_ctx, getState()); - enterRule(_localctx, 196, RULE_enumBodyDeclarations); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1274); - match(SEMI); - setState(1278); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { - { - { - setState(1275); - classBodyDeclaration(); - } - } - setState(1280); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceDeclarationContext extends ParserRuleContext { - public NormalInterfaceDeclarationContext normalInterfaceDeclaration() { - return getRuleContext(NormalInterfaceDeclarationContext.class,0); - } - public AnnotationTypeDeclarationContext annotationTypeDeclaration() { - return getRuleContext(AnnotationTypeDeclarationContext.class,0); - } - public InterfaceDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceDeclaration(this); - } - } - - public final InterfaceDeclarationContext interfaceDeclaration() throws RecognitionException { - InterfaceDeclarationContext _localctx = new InterfaceDeclarationContext(_ctx, getState()); - enterRule(_localctx, 198, RULE_interfaceDeclaration); - try { - setState(1283); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,125,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1281); - normalInterfaceDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1282); - annotationTypeDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class NormalInterfaceDeclarationContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public InterfaceBodyContext interfaceBody() { - return getRuleContext(InterfaceBodyContext.class,0); - } - public List interfaceModifier() { - return getRuleContexts(InterfaceModifierContext.class); - } - public InterfaceModifierContext interfaceModifier(int i) { - return getRuleContext(InterfaceModifierContext.class,i); - } - public TypeParametersContext typeParameters() { - return getRuleContext(TypeParametersContext.class,0); - } - public ExtendsInterfacesContext extendsInterfaces() { - return getRuleContext(ExtendsInterfacesContext.class,0); - } - public NormalInterfaceDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_normalInterfaceDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalInterfaceDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalInterfaceDeclaration(this); - } - } - - public final NormalInterfaceDeclarationContext normalInterfaceDeclaration() throws RecognitionException { - NormalInterfaceDeclarationContext _localctx = new NormalInterfaceDeclarationContext(_ctx, getState()); - enterRule(_localctx, 200, RULE_normalInterfaceDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1288); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { - { - { - setState(1285); - interfaceModifier(); - } - } - setState(1290); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1291); - match(INTERFACE); - setState(1292); - match(Identifier); - setState(1294); - _la = _input.LA(1); - if (_la==LT) { - { - setState(1293); - typeParameters(); - } - } - - setState(1297); - _la = _input.LA(1); - if (_la==EXTENDS) { - { - setState(1296); - extendsInterfaces(); - } - } - - setState(1299); - interfaceBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public InterfaceModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceModifier(this); - } - } - - public final InterfaceModifierContext interfaceModifier() throws RecognitionException { - InterfaceModifierContext _localctx = new InterfaceModifierContext(_ctx, getState()); - enterRule(_localctx, 202, RULE_interfaceModifier); - try { - setState(1308); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1301); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1302); - match(PUBLIC); - } - break; - case PROTECTED: - enterOuterAlt(_localctx, 3); - { - setState(1303); - match(PROTECTED); - } - break; - case PRIVATE: - enterOuterAlt(_localctx, 4); - { - setState(1304); - match(PRIVATE); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 5); - { - setState(1305); - match(ABSTRACT); - } - break; - case STATIC: - enterOuterAlt(_localctx, 6); - { - setState(1306); - match(STATIC); - } - break; - case STRICTFP: - enterOuterAlt(_localctx, 7); - { - setState(1307); - match(STRICTFP); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExtendsInterfacesContext extends ParserRuleContext { - public InterfaceTypeListContext interfaceTypeList() { - return getRuleContext(InterfaceTypeListContext.class,0); - } - public ExtendsInterfacesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_extendsInterfaces; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExtendsInterfaces(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExtendsInterfaces(this); - } - } - - public final ExtendsInterfacesContext extendsInterfaces() throws RecognitionException { - ExtendsInterfacesContext _localctx = new ExtendsInterfacesContext(_ctx, getState()); - enterRule(_localctx, 204, RULE_extendsInterfaces); - try { - enterOuterAlt(_localctx, 1); - { - setState(1310); - match(EXTENDS); - setState(1311); - interfaceTypeList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceBodyContext extends ParserRuleContext { - public List interfaceMemberDeclaration() { - return getRuleContexts(InterfaceMemberDeclarationContext.class); - } - public InterfaceMemberDeclarationContext interfaceMemberDeclaration(int i) { - return getRuleContext(InterfaceMemberDeclarationContext.class,i); - } - public InterfaceBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceBody(this); - } - } - - public final InterfaceBodyContext interfaceBody() throws RecognitionException { - InterfaceBodyContext _localctx = new InterfaceBodyContext(_ctx, getState()); - enterRule(_localctx, 206, RULE_interfaceBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1313); - match(LBRACE); - setState(1317); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DEFAULT) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << VOID) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { - { - { - setState(1314); - interfaceMemberDeclaration(); - } - } - setState(1319); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1320); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceMemberDeclarationContext extends ParserRuleContext { - public ConstantDeclarationContext constantDeclaration() { - return getRuleContext(ConstantDeclarationContext.class,0); - } - public InterfaceMethodDeclarationContext interfaceMethodDeclaration() { - return getRuleContext(InterfaceMethodDeclarationContext.class,0); - } - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public InterfaceDeclarationContext interfaceDeclaration() { - return getRuleContext(InterfaceDeclarationContext.class,0); - } - public InterfaceMemberDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceMemberDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMemberDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMemberDeclaration(this); - } - } - - public final InterfaceMemberDeclarationContext interfaceMemberDeclaration() throws RecognitionException { - InterfaceMemberDeclarationContext _localctx = new InterfaceMemberDeclarationContext(_ctx, getState()); - enterRule(_localctx, 208, RULE_interfaceMemberDeclaration); - try { - setState(1327); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,131,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1322); - constantDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1323); - interfaceMethodDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1324); - classDeclaration(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1325); - interfaceDeclaration(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1326); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstantDeclarationContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorListContext variableDeclaratorList() { - return getRuleContext(VariableDeclaratorListContext.class,0); - } - public List constantModifier() { - return getRuleContexts(ConstantModifierContext.class); - } - public ConstantModifierContext constantModifier(int i) { - return getRuleContext(ConstantModifierContext.class,i); - } - public ConstantDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constantDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantDeclaration(this); - } - } - - public final ConstantDeclarationContext constantDeclaration() throws RecognitionException { - ConstantDeclarationContext _localctx = new ConstantDeclarationContext(_ctx, getState()); - enterRule(_localctx, 210, RULE_constantDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1332); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PUBLIC) | (1L << STATIC))) != 0) || _la==AT) { - { - { - setState(1329); - constantModifier(); - } - } - setState(1334); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1335); - unannType(); - setState(1336); - variableDeclaratorList(); - setState(1337); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstantModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public ConstantModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constantModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantModifier(this); - } - } - - public final ConstantModifierContext constantModifier() throws RecognitionException { - ConstantModifierContext _localctx = new ConstantModifierContext(_ctx, getState()); - enterRule(_localctx, 212, RULE_constantModifier); - try { - setState(1343); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1339); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1340); - match(PUBLIC); - } - break; - case STATIC: - enterOuterAlt(_localctx, 3); - { - setState(1341); - match(STATIC); - } - break; - case FINAL: - enterOuterAlt(_localctx, 4); - { - setState(1342); - match(FINAL); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceMethodDeclarationContext extends ParserRuleContext { - public MethodHeaderContext methodHeader() { - return getRuleContext(MethodHeaderContext.class,0); - } - public MethodBodyContext methodBody() { - return getRuleContext(MethodBodyContext.class,0); - } - public List interfaceMethodModifier() { - return getRuleContexts(InterfaceMethodModifierContext.class); - } - public InterfaceMethodModifierContext interfaceMethodModifier(int i) { - return getRuleContext(InterfaceMethodModifierContext.class,i); - } - public InterfaceMethodDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceMethodDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMethodDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMethodDeclaration(this); - } - } - - public final InterfaceMethodDeclarationContext interfaceMethodDeclaration() throws RecognitionException { - InterfaceMethodDeclarationContext _localctx = new InterfaceMethodDeclarationContext(_ctx, getState()); - enterRule(_localctx, 214, RULE_interfaceMethodDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1348); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << DEFAULT) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { - { - { - setState(1345); - interfaceMethodModifier(); - } - } - setState(1350); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1351); - methodHeader(); - setState(1352); - methodBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InterfaceMethodModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public InterfaceMethodModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_interfaceMethodModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMethodModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMethodModifier(this); - } - } - - public final InterfaceMethodModifierContext interfaceMethodModifier() throws RecognitionException { - InterfaceMethodModifierContext _localctx = new InterfaceMethodModifierContext(_ctx, getState()); - enterRule(_localctx, 216, RULE_interfaceMethodModifier); - try { - setState(1360); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1354); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1355); - match(PUBLIC); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 3); - { - setState(1356); - match(ABSTRACT); - } - break; - case DEFAULT: - enterOuterAlt(_localctx, 4); - { - setState(1357); - match(DEFAULT); - } - break; - case STATIC: - enterOuterAlt(_localctx, 5); - { - setState(1358); - match(STATIC); - } - break; - case STRICTFP: - enterOuterAlt(_localctx, 6); - { - setState(1359); - match(STRICTFP); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeDeclarationContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public AnnotationTypeBodyContext annotationTypeBody() { - return getRuleContext(AnnotationTypeBodyContext.class,0); - } - public List interfaceModifier() { - return getRuleContexts(InterfaceModifierContext.class); - } - public InterfaceModifierContext interfaceModifier(int i) { - return getRuleContext(InterfaceModifierContext.class,i); - } - public AnnotationTypeDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeDeclaration(this); - } - } - - public final AnnotationTypeDeclarationContext annotationTypeDeclaration() throws RecognitionException { - AnnotationTypeDeclarationContext _localctx = new AnnotationTypeDeclarationContext(_ctx, getState()); - enterRule(_localctx, 218, RULE_annotationTypeDeclaration); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1365); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,136,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1362); - interfaceModifier(); - } - } - } - setState(1367); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,136,_ctx); - } - setState(1368); - match(AT); - setState(1369); - match(INTERFACE); - setState(1370); - match(Identifier); - setState(1371); - annotationTypeBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeBodyContext extends ParserRuleContext { - public List annotationTypeMemberDeclaration() { - return getRuleContexts(AnnotationTypeMemberDeclarationContext.class); - } - public AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration(int i) { - return getRuleContext(AnnotationTypeMemberDeclarationContext.class,i); - } - public AnnotationTypeBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeBody(this); - } - } - - public final AnnotationTypeBodyContext annotationTypeBody() throws RecognitionException { - AnnotationTypeBodyContext _localctx = new AnnotationTypeBodyContext(_ctx, getState()); - enterRule(_localctx, 220, RULE_annotationTypeBody); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1373); - match(LBRACE); - setState(1377); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SEMI))) != 0) || _la==Identifier || _la==AT) { - { - { - setState(1374); - annotationTypeMemberDeclaration(); - } - } - setState(1379); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1380); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeMemberDeclarationContext extends ParserRuleContext { - public AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() { - return getRuleContext(AnnotationTypeElementDeclarationContext.class,0); - } - public ConstantDeclarationContext constantDeclaration() { - return getRuleContext(ConstantDeclarationContext.class,0); - } - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public InterfaceDeclarationContext interfaceDeclaration() { - return getRuleContext(InterfaceDeclarationContext.class,0); - } - public AnnotationTypeMemberDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeMemberDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeMemberDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeMemberDeclaration(this); - } - } - - public final AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration() throws RecognitionException { - AnnotationTypeMemberDeclarationContext _localctx = new AnnotationTypeMemberDeclarationContext(_ctx, getState()); - enterRule(_localctx, 222, RULE_annotationTypeMemberDeclaration); - try { - setState(1387); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,138,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1382); - annotationTypeElementDeclaration(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1383); - constantDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1384); - classDeclaration(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1385); - interfaceDeclaration(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1386); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeElementDeclarationContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public List annotationTypeElementModifier() { - return getRuleContexts(AnnotationTypeElementModifierContext.class); - } - public AnnotationTypeElementModifierContext annotationTypeElementModifier(int i) { - return getRuleContext(AnnotationTypeElementModifierContext.class,i); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public DefaultValueContext defaultValue() { - return getRuleContext(DefaultValueContext.class,0); - } - public AnnotationTypeElementDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeElementDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeElementDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeElementDeclaration(this); - } - } - - public final AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() throws RecognitionException { - AnnotationTypeElementDeclarationContext _localctx = new AnnotationTypeElementDeclarationContext(_ctx, getState()); - enterRule(_localctx, 224, RULE_annotationTypeElementDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1392); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==ABSTRACT || _la==PUBLIC || _la==AT) { - { - { - setState(1389); - annotationTypeElementModifier(); - } - } - setState(1394); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1395); - unannType(); - setState(1396); - match(Identifier); - setState(1397); - match(LPAREN); - setState(1398); - match(RPAREN); - setState(1400); - _la = _input.LA(1); - if (_la==LBRACK || _la==AT) { - { - setState(1399); - dims(); - } - } - - setState(1403); - _la = _input.LA(1); - if (_la==DEFAULT) { - { - setState(1402); - defaultValue(); - } - } - - setState(1405); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationTypeElementModifierContext extends ParserRuleContext { - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public AnnotationTypeElementModifierContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotationTypeElementModifier; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeElementModifier(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeElementModifier(this); - } - } - - public final AnnotationTypeElementModifierContext annotationTypeElementModifier() throws RecognitionException { - AnnotationTypeElementModifierContext _localctx = new AnnotationTypeElementModifierContext(_ctx, getState()); - enterRule(_localctx, 226, RULE_annotationTypeElementModifier); - try { - setState(1410); - switch (_input.LA(1)) { - case AT: - enterOuterAlt(_localctx, 1); - { - setState(1407); - annotation(); - } - break; - case PUBLIC: - enterOuterAlt(_localctx, 2); - { - setState(1408); - match(PUBLIC); - } - break; - case ABSTRACT: - enterOuterAlt(_localctx, 3); - { - setState(1409); - match(ABSTRACT); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DefaultValueContext extends ParserRuleContext { - public ElementValueContext elementValue() { - return getRuleContext(ElementValueContext.class,0); - } - public DefaultValueContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_defaultValue; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDefaultValue(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDefaultValue(this); - } - } - - public final DefaultValueContext defaultValue() throws RecognitionException { - DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState()); - enterRule(_localctx, 228, RULE_defaultValue); - try { - enterOuterAlt(_localctx, 1); - { - setState(1412); - match(DEFAULT); - setState(1413); - elementValue(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AnnotationContext extends ParserRuleContext { - public NormalAnnotationContext normalAnnotation() { - return getRuleContext(NormalAnnotationContext.class,0); - } - public MarkerAnnotationContext markerAnnotation() { - return getRuleContext(MarkerAnnotationContext.class,0); - } - public SingleElementAnnotationContext singleElementAnnotation() { - return getRuleContext(SingleElementAnnotationContext.class,0); - } - public AnnotationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_annotation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotation(this); - } - } - - public final AnnotationContext annotation() throws RecognitionException { - AnnotationContext _localctx = new AnnotationContext(_ctx, getState()); - enterRule(_localctx, 230, RULE_annotation); - try { - setState(1418); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,143,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1415); - normalAnnotation(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1416); - markerAnnotation(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1417); - singleElementAnnotation(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class NormalAnnotationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ElementValuePairListContext elementValuePairList() { - return getRuleContext(ElementValuePairListContext.class,0); - } - public NormalAnnotationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_normalAnnotation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalAnnotation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalAnnotation(this); - } - } - - public final NormalAnnotationContext normalAnnotation() throws RecognitionException { - NormalAnnotationContext _localctx = new NormalAnnotationContext(_ctx, getState()); - enterRule(_localctx, 232, RULE_normalAnnotation); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1420); - match(AT); - setState(1421); - typeName(); - setState(1422); - match(LPAREN); - setState(1424); - _la = _input.LA(1); - if (_la==Identifier) { - { - setState(1423); - elementValuePairList(); - } - } - - setState(1426); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValuePairListContext extends ParserRuleContext { - public List elementValuePair() { - return getRuleContexts(ElementValuePairContext.class); - } - public ElementValuePairContext elementValuePair(int i) { - return getRuleContext(ElementValuePairContext.class,i); - } - public ElementValuePairListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValuePairList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValuePairList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValuePairList(this); - } - } - - public final ElementValuePairListContext elementValuePairList() throws RecognitionException { - ElementValuePairListContext _localctx = new ElementValuePairListContext(_ctx, getState()); - enterRule(_localctx, 234, RULE_elementValuePairList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1428); - elementValuePair(); - setState(1433); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(1429); - match(COMMA); - setState(1430); - elementValuePair(); - } - } - setState(1435); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValuePairContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public ElementValueContext elementValue() { - return getRuleContext(ElementValueContext.class,0); - } - public ElementValuePairContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValuePair; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValuePair(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValuePair(this); - } - } - - public final ElementValuePairContext elementValuePair() throws RecognitionException { - ElementValuePairContext _localctx = new ElementValuePairContext(_ctx, getState()); - enterRule(_localctx, 236, RULE_elementValuePair); - try { - enterOuterAlt(_localctx, 1); - { - setState(1436); - match(Identifier); - setState(1437); - match(ASSIGN); - setState(1438); - elementValue(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValueContext extends ParserRuleContext { - public ConditionalExpressionContext conditionalExpression() { - return getRuleContext(ConditionalExpressionContext.class,0); - } - public ElementValueArrayInitializerContext elementValueArrayInitializer() { - return getRuleContext(ElementValueArrayInitializerContext.class,0); - } - public AnnotationContext annotation() { - return getRuleContext(AnnotationContext.class,0); - } - public ElementValueContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValue; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValue(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValue(this); - } - } - - public final ElementValueContext elementValue() throws RecognitionException { - ElementValueContext _localctx = new ElementValueContext(_ctx, getState()); - enterRule(_localctx, 238, RULE_elementValue); - try { - setState(1443); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,146,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1440); - conditionalExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1441); - elementValueArrayInitializer(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1442); - annotation(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValueArrayInitializerContext extends ParserRuleContext { - public ElementValueListContext elementValueList() { - return getRuleContext(ElementValueListContext.class,0); - } - public ElementValueArrayInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValueArrayInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValueArrayInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValueArrayInitializer(this); - } - } - - public final ElementValueArrayInitializerContext elementValueArrayInitializer() throws RecognitionException { - ElementValueArrayInitializerContext _localctx = new ElementValueArrayInitializerContext(_ctx, getState()); - enterRule(_localctx, 240, RULE_elementValueArrayInitializer); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1445); - match(LBRACE); - setState(1447); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1446); - elementValueList(); - } - } - - setState(1450); - _la = _input.LA(1); - if (_la==COMMA) { - { - setState(1449); - match(COMMA); - } - } - - setState(1452); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ElementValueListContext extends ParserRuleContext { - public List elementValue() { - return getRuleContexts(ElementValueContext.class); - } - public ElementValueContext elementValue(int i) { - return getRuleContext(ElementValueContext.class,i); - } - public ElementValueListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_elementValueList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValueList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValueList(this); - } - } - - public final ElementValueListContext elementValueList() throws RecognitionException { - ElementValueListContext _localctx = new ElementValueListContext(_ctx, getState()); - enterRule(_localctx, 242, RULE_elementValueList); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1454); - elementValue(); - setState(1459); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,149,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1455); - match(COMMA); - setState(1456); - elementValue(); - } - } - } - setState(1461); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,149,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MarkerAnnotationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public MarkerAnnotationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_markerAnnotation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMarkerAnnotation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMarkerAnnotation(this); - } - } - - public final MarkerAnnotationContext markerAnnotation() throws RecognitionException { - MarkerAnnotationContext _localctx = new MarkerAnnotationContext(_ctx, getState()); - enterRule(_localctx, 244, RULE_markerAnnotation); - try { - enterOuterAlt(_localctx, 1); - { - setState(1462); - match(AT); - setState(1463); - typeName(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SingleElementAnnotationContext extends ParserRuleContext { - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ElementValueContext elementValue() { - return getRuleContext(ElementValueContext.class,0); - } - public SingleElementAnnotationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_singleElementAnnotation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleElementAnnotation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleElementAnnotation(this); - } - } - - public final SingleElementAnnotationContext singleElementAnnotation() throws RecognitionException { - SingleElementAnnotationContext _localctx = new SingleElementAnnotationContext(_ctx, getState()); - enterRule(_localctx, 246, RULE_singleElementAnnotation); - try { - enterOuterAlt(_localctx, 1); - { - setState(1465); - match(AT); - setState(1466); - typeName(); - setState(1467); - match(LPAREN); - setState(1468); - elementValue(); - setState(1469); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayInitializerContext extends ParserRuleContext { - public VariableInitializerListContext variableInitializerList() { - return getRuleContext(VariableInitializerListContext.class,0); - } - public ArrayInitializerContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayInitializer; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayInitializer(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayInitializer(this); - } - } - - public final ArrayInitializerContext arrayInitializer() throws RecognitionException { - ArrayInitializerContext _localctx = new ArrayInitializerContext(_ctx, getState()); - enterRule(_localctx, 248, RULE_arrayInitializer); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1471); - match(LBRACE); - setState(1473); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1472); - variableInitializerList(); - } - } - - setState(1476); - _la = _input.LA(1); - if (_la==COMMA) { - { - setState(1475); - match(COMMA); - } - } - - setState(1478); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class VariableInitializerListContext extends ParserRuleContext { - public List variableInitializer() { - return getRuleContexts(VariableInitializerContext.class); - } - public VariableInitializerContext variableInitializer(int i) { - return getRuleContext(VariableInitializerContext.class,i); - } - public VariableInitializerListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_variableInitializerList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableInitializerList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableInitializerList(this); - } - } - - public final VariableInitializerListContext variableInitializerList() throws RecognitionException { - VariableInitializerListContext _localctx = new VariableInitializerListContext(_ctx, getState()); - enterRule(_localctx, 250, RULE_variableInitializerList); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1480); - variableInitializer(); - setState(1485); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,152,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1481); - match(COMMA); - setState(1482); - variableInitializer(); - } - } - } - setState(1487); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,152,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BlockContext extends ParserRuleContext { - public BlockStatementsContext blockStatements() { - return getRuleContext(BlockStatementsContext.class,0); - } - public BlockContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_block; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlock(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlock(this); - } - } - - public final BlockContext block() throws RecognitionException { - BlockContext _localctx = new BlockContext(_ctx, getState()); - enterRule(_localctx, 252, RULE_block); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1488); - match(LBRACE); - setState(1490); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { - { - setState(1489); - blockStatements(); - } - } - - setState(1492); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BlockStatementsContext extends ParserRuleContext { - public List blockStatement() { - return getRuleContexts(BlockStatementContext.class); - } - public BlockStatementContext blockStatement(int i) { - return getRuleContext(BlockStatementContext.class,i); - } - public BlockStatementsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_blockStatements; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlockStatements(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlockStatements(this); - } - } - - public final BlockStatementsContext blockStatements() throws RecognitionException { - BlockStatementsContext _localctx = new BlockStatementsContext(_ctx, getState()); - enterRule(_localctx, 254, RULE_blockStatements); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1494); - blockStatement(); - setState(1498); - _errHandler.sync(this); - _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { - { - { - setState(1495); - blockStatement(); - } - } - setState(1500); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BlockStatementContext extends ParserRuleContext { - public LocalVariableDeclarationStatementContext localVariableDeclarationStatement() { - return getRuleContext(LocalVariableDeclarationStatementContext.class,0); - } - public ClassDeclarationContext classDeclaration() { - return getRuleContext(ClassDeclarationContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public BlockStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_blockStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlockStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlockStatement(this); - } - } - - public final BlockStatementContext blockStatement() throws RecognitionException { - BlockStatementContext _localctx = new BlockStatementContext(_ctx, getState()); - enterRule(_localctx, 256, RULE_blockStatement); - try { - setState(1504); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,155,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1501); - localVariableDeclarationStatement(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1502); - classDeclaration(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1503); - statement(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LocalVariableDeclarationStatementContext extends ParserRuleContext { - public LocalVariableDeclarationContext localVariableDeclaration() { - return getRuleContext(LocalVariableDeclarationContext.class,0); - } - public LocalVariableDeclarationStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_localVariableDeclarationStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLocalVariableDeclarationStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLocalVariableDeclarationStatement(this); - } - } - - public final LocalVariableDeclarationStatementContext localVariableDeclarationStatement() throws RecognitionException { - LocalVariableDeclarationStatementContext _localctx = new LocalVariableDeclarationStatementContext(_ctx, getState()); - enterRule(_localctx, 258, RULE_localVariableDeclarationStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1506); - localVariableDeclaration(); - setState(1507); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LocalVariableDeclarationContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorListContext variableDeclaratorList() { - return getRuleContext(VariableDeclaratorListContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public LocalVariableDeclarationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_localVariableDeclaration; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLocalVariableDeclaration(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLocalVariableDeclaration(this); - } - } - - public final LocalVariableDeclarationContext localVariableDeclaration() throws RecognitionException { - LocalVariableDeclarationContext _localctx = new LocalVariableDeclarationContext(_ctx, getState()); - enterRule(_localctx, 260, RULE_localVariableDeclaration); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1512); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1509); - variableModifier(); - } - } - setState(1514); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1515); - unannType(); - setState(1516); - variableDeclaratorList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementContext extends ParserRuleContext { - public StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() { - return getRuleContext(StatementWithoutTrailingSubstatementContext.class,0); - } - public LabeledStatementContext labeledStatement() { - return getRuleContext(LabeledStatementContext.class,0); - } - public IfThenStatementContext ifThenStatement() { - return getRuleContext(IfThenStatementContext.class,0); - } - public IfThenElseStatementContext ifThenElseStatement() { - return getRuleContext(IfThenElseStatementContext.class,0); - } - public WhileStatementContext whileStatement() { - return getRuleContext(WhileStatementContext.class,0); - } - public ForStatementContext forStatement() { - return getRuleContext(ForStatementContext.class,0); - } - public StatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatement(this); - } - } - - public final StatementContext statement() throws RecognitionException { - StatementContext _localctx = new StatementContext(_ctx, getState()); - enterRule(_localctx, 262, RULE_statement); - try { - setState(1524); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,157,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1518); - statementWithoutTrailingSubstatement(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1519); - labeledStatement(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1520); - ifThenStatement(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1521); - ifThenElseStatement(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1522); - whileStatement(); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1523); - forStatement(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementNoShortIfContext extends ParserRuleContext { - public StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() { - return getRuleContext(StatementWithoutTrailingSubstatementContext.class,0); - } - public LabeledStatementNoShortIfContext labeledStatementNoShortIf() { - return getRuleContext(LabeledStatementNoShortIfContext.class,0); - } - public IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() { - return getRuleContext(IfThenElseStatementNoShortIfContext.class,0); - } - public WhileStatementNoShortIfContext whileStatementNoShortIf() { - return getRuleContext(WhileStatementNoShortIfContext.class,0); - } - public ForStatementNoShortIfContext forStatementNoShortIf() { - return getRuleContext(ForStatementNoShortIfContext.class,0); - } - public StatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementNoShortIf(this); - } - } - - public final StatementNoShortIfContext statementNoShortIf() throws RecognitionException { - StatementNoShortIfContext _localctx = new StatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 264, RULE_statementNoShortIf); - try { - setState(1531); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,158,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1526); - statementWithoutTrailingSubstatement(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1527); - labeledStatementNoShortIf(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1528); - ifThenElseStatementNoShortIf(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1529); - whileStatementNoShortIf(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1530); - forStatementNoShortIf(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementWithoutTrailingSubstatementContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public EmptyStatementContext emptyStatement() { - return getRuleContext(EmptyStatementContext.class,0); - } - public ExpressionStatementContext expressionStatement() { - return getRuleContext(ExpressionStatementContext.class,0); - } - public AssertStatementContext assertStatement() { - return getRuleContext(AssertStatementContext.class,0); - } - public SwitchStatementContext switchStatement() { - return getRuleContext(SwitchStatementContext.class,0); - } - public DoStatementContext doStatement() { - return getRuleContext(DoStatementContext.class,0); - } - public BreakStatementContext breakStatement() { - return getRuleContext(BreakStatementContext.class,0); - } - public ContinueStatementContext continueStatement() { - return getRuleContext(ContinueStatementContext.class,0); - } - public ReturnStatementContext returnStatement() { - return getRuleContext(ReturnStatementContext.class,0); - } - public SynchronizedStatementContext synchronizedStatement() { - return getRuleContext(SynchronizedStatementContext.class,0); - } - public ThrowStatementContext throwStatement() { - return getRuleContext(ThrowStatementContext.class,0); - } - public TryStatementContext tryStatement() { - return getRuleContext(TryStatementContext.class,0); - } - public StatementWithoutTrailingSubstatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statementWithoutTrailingSubstatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementWithoutTrailingSubstatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementWithoutTrailingSubstatement(this); - } - } - - public final StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() throws RecognitionException { - StatementWithoutTrailingSubstatementContext _localctx = new StatementWithoutTrailingSubstatementContext(_ctx, getState()); - enterRule(_localctx, 266, RULE_statementWithoutTrailingSubstatement); - try { - setState(1545); - switch (_input.LA(1)) { - case LBRACE: - enterOuterAlt(_localctx, 1); - { - setState(1533); - block(); - } - break; - case SEMI: - enterOuterAlt(_localctx, 2); - { - setState(1534); - emptyStatement(); - } - break; - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NEW: - case SHORT: - case SUPER: - case THIS: - case VOID: - case IntegerLiteral: - case FloatingPointLiteral: - case BooleanLiteral: - case CharacterLiteral: - case StringLiteral: - case NullLiteral: - case LPAREN: - case INC: - case DEC: - case Identifier: - case AT: - enterOuterAlt(_localctx, 3); - { - setState(1535); - expressionStatement(); - } - break; - case ASSERT: - enterOuterAlt(_localctx, 4); - { - setState(1536); - assertStatement(); - } - break; - case SWITCH: - enterOuterAlt(_localctx, 5); - { - setState(1537); - switchStatement(); - } - break; - case DO: - enterOuterAlt(_localctx, 6); - { - setState(1538); - doStatement(); - } - break; - case BREAK: - enterOuterAlt(_localctx, 7); - { - setState(1539); - breakStatement(); - } - break; - case CONTINUE: - enterOuterAlt(_localctx, 8); - { - setState(1540); - continueStatement(); - } - break; - case RETURN: - enterOuterAlt(_localctx, 9); - { - setState(1541); - returnStatement(); - } - break; - case SYNCHRONIZED: - enterOuterAlt(_localctx, 10); - { - setState(1542); - synchronizedStatement(); - } - break; - case THROW: - enterOuterAlt(_localctx, 11); - { - setState(1543); - throwStatement(); - } - break; - case TRY: - enterOuterAlt(_localctx, 12); - { - setState(1544); - tryStatement(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EmptyStatementContext extends ParserRuleContext { - public EmptyStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_emptyStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEmptyStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEmptyStatement(this); - } - } - - public final EmptyStatementContext emptyStatement() throws RecognitionException { - EmptyStatementContext _localctx = new EmptyStatementContext(_ctx, getState()); - enterRule(_localctx, 268, RULE_emptyStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1547); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LabeledStatementContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public LabeledStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_labeledStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLabeledStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLabeledStatement(this); - } - } - - public final LabeledStatementContext labeledStatement() throws RecognitionException { - LabeledStatementContext _localctx = new LabeledStatementContext(_ctx, getState()); - enterRule(_localctx, 270, RULE_labeledStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1549); - match(Identifier); - setState(1550); - match(COLON); - setState(1551); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LabeledStatementNoShortIfContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public LabeledStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_labeledStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLabeledStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLabeledStatementNoShortIf(this); - } - } - - public final LabeledStatementNoShortIfContext labeledStatementNoShortIf() throws RecognitionException { - LabeledStatementNoShortIfContext _localctx = new LabeledStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 272, RULE_labeledStatementNoShortIf); - try { - enterOuterAlt(_localctx, 1); - { - setState(1553); - match(Identifier); - setState(1554); - match(COLON); - setState(1555); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExpressionStatementContext extends ParserRuleContext { - public StatementExpressionContext statementExpression() { - return getRuleContext(StatementExpressionContext.class,0); - } - public ExpressionStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_expressionStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpressionStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpressionStatement(this); - } - } - - public final ExpressionStatementContext expressionStatement() throws RecognitionException { - ExpressionStatementContext _localctx = new ExpressionStatementContext(_ctx, getState()); - enterRule(_localctx, 274, RULE_expressionStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1557); - statementExpression(); - setState(1558); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementExpressionContext extends ParserRuleContext { - public AssignmentContext assignment() { - return getRuleContext(AssignmentContext.class,0); - } - public PreIncrementExpressionContext preIncrementExpression() { - return getRuleContext(PreIncrementExpressionContext.class,0); - } - public PreDecrementExpressionContext preDecrementExpression() { - return getRuleContext(PreDecrementExpressionContext.class,0); - } - public PostIncrementExpressionContext postIncrementExpression() { - return getRuleContext(PostIncrementExpressionContext.class,0); - } - public PostDecrementExpressionContext postDecrementExpression() { - return getRuleContext(PostDecrementExpressionContext.class,0); - } - public MethodInvocationContext methodInvocation() { - return getRuleContext(MethodInvocationContext.class,0); - } - public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { - return getRuleContext(ClassInstanceCreationExpressionContext.class,0); - } - public StatementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementExpression(this); - } - } - - public final StatementExpressionContext statementExpression() throws RecognitionException { - StatementExpressionContext _localctx = new StatementExpressionContext(_ctx, getState()); - enterRule(_localctx, 276, RULE_statementExpression); - try { - setState(1567); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,160,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1560); - assignment(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1561); - preIncrementExpression(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1562); - preDecrementExpression(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1563); - postIncrementExpression(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1564); - postDecrementExpression(); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1565); - methodInvocation(); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(1566); - classInstanceCreationExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfThenStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public IfThenStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifThenStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenStatement(this); - } - } - - public final IfThenStatementContext ifThenStatement() throws RecognitionException { - IfThenStatementContext _localctx = new IfThenStatementContext(_ctx, getState()); - enterRule(_localctx, 278, RULE_ifThenStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1569); - match(IF); - setState(1570); - match(LPAREN); - setState(1571); - expression(); - setState(1572); - match(RPAREN); - setState(1573); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfThenElseStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public IfThenElseStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifThenElseStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenElseStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenElseStatement(this); - } - } - - public final IfThenElseStatementContext ifThenElseStatement() throws RecognitionException { - IfThenElseStatementContext _localctx = new IfThenElseStatementContext(_ctx, getState()); - enterRule(_localctx, 280, RULE_ifThenElseStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1575); - match(IF); - setState(1576); - match(LPAREN); - setState(1577); - expression(); - setState(1578); - match(RPAREN); - setState(1579); - statementNoShortIf(); - setState(1580); - match(ELSE); - setState(1581); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfThenElseStatementNoShortIfContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public List statementNoShortIf() { - return getRuleContexts(StatementNoShortIfContext.class); - } - public StatementNoShortIfContext statementNoShortIf(int i) { - return getRuleContext(StatementNoShortIfContext.class,i); - } - public IfThenElseStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifThenElseStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenElseStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenElseStatementNoShortIf(this); - } - } - - public final IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() throws RecognitionException { - IfThenElseStatementNoShortIfContext _localctx = new IfThenElseStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 282, RULE_ifThenElseStatementNoShortIf); - try { - enterOuterAlt(_localctx, 1); - { - setState(1583); - match(IF); - setState(1584); - match(LPAREN); - setState(1585); - expression(); - setState(1586); - match(RPAREN); - setState(1587); - statementNoShortIf(); - setState(1588); - match(ELSE); - setState(1589); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssertStatementContext extends ParserRuleContext { - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public AssertStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assertStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssertStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssertStatement(this); - } - } - - public final AssertStatementContext assertStatement() throws RecognitionException { - AssertStatementContext _localctx = new AssertStatementContext(_ctx, getState()); - enterRule(_localctx, 284, RULE_assertStatement); - try { - setState(1601); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,161,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1591); - match(ASSERT); - setState(1592); - expression(); - setState(1593); - match(SEMI); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1595); - match(ASSERT); - setState(1596); - expression(); - setState(1597); - match(COLON); - setState(1598); - expression(); - setState(1599); - match(SEMI); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public SwitchBlockContext switchBlock() { - return getRuleContext(SwitchBlockContext.class,0); - } - public SwitchStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchStatement(this); - } - } - - public final SwitchStatementContext switchStatement() throws RecognitionException { - SwitchStatementContext _localctx = new SwitchStatementContext(_ctx, getState()); - enterRule(_localctx, 286, RULE_switchStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1603); - match(SWITCH); - setState(1604); - match(LPAREN); - setState(1605); - expression(); - setState(1606); - match(RPAREN); - setState(1607); - switchBlock(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchBlockContext extends ParserRuleContext { - public List switchBlockStatementGroup() { - return getRuleContexts(SwitchBlockStatementGroupContext.class); - } - public SwitchBlockStatementGroupContext switchBlockStatementGroup(int i) { - return getRuleContext(SwitchBlockStatementGroupContext.class,i); - } - public List switchLabel() { - return getRuleContexts(SwitchLabelContext.class); - } - public SwitchLabelContext switchLabel(int i) { - return getRuleContext(SwitchLabelContext.class,i); - } - public SwitchBlockContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchBlock; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchBlock(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchBlock(this); - } - } - - public final SwitchBlockContext switchBlock() throws RecognitionException { - SwitchBlockContext _localctx = new SwitchBlockContext(_ctx, getState()); - enterRule(_localctx, 288, RULE_switchBlock); - int _la; - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1609); - match(LBRACE); - setState(1613); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,162,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1610); - switchBlockStatementGroup(); - } - } - } - setState(1615); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,162,_ctx); - } - setState(1619); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==CASE || _la==DEFAULT) { - { - { - setState(1616); - switchLabel(); - } - } - setState(1621); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1622); - match(RBRACE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchBlockStatementGroupContext extends ParserRuleContext { - public SwitchLabelsContext switchLabels() { - return getRuleContext(SwitchLabelsContext.class,0); - } - public BlockStatementsContext blockStatements() { - return getRuleContext(BlockStatementsContext.class,0); - } - public SwitchBlockStatementGroupContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchBlockStatementGroup; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchBlockStatementGroup(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchBlockStatementGroup(this); - } - } - - public final SwitchBlockStatementGroupContext switchBlockStatementGroup() throws RecognitionException { - SwitchBlockStatementGroupContext _localctx = new SwitchBlockStatementGroupContext(_ctx, getState()); - enterRule(_localctx, 290, RULE_switchBlockStatementGroup); - try { - enterOuterAlt(_localctx, 1); - { - setState(1624); - switchLabels(); - setState(1625); - blockStatements(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchLabelsContext extends ParserRuleContext { - public List switchLabel() { - return getRuleContexts(SwitchLabelContext.class); - } - public SwitchLabelContext switchLabel(int i) { - return getRuleContext(SwitchLabelContext.class,i); - } - public SwitchLabelsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchLabels; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchLabels(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchLabels(this); - } - } - - public final SwitchLabelsContext switchLabels() throws RecognitionException { - SwitchLabelsContext _localctx = new SwitchLabelsContext(_ctx, getState()); - enterRule(_localctx, 292, RULE_switchLabels); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1627); - switchLabel(); - setState(1631); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==CASE || _la==DEFAULT) { - { - { - setState(1628); - switchLabel(); - } - } - setState(1633); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SwitchLabelContext extends ParserRuleContext { - public ConstantExpressionContext constantExpression() { - return getRuleContext(ConstantExpressionContext.class,0); - } - public EnumConstantNameContext enumConstantName() { - return getRuleContext(EnumConstantNameContext.class,0); - } - public SwitchLabelContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_switchLabel; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchLabel(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchLabel(this); - } - } - - public final SwitchLabelContext switchLabel() throws RecognitionException { - SwitchLabelContext _localctx = new SwitchLabelContext(_ctx, getState()); - enterRule(_localctx, 294, RULE_switchLabel); - try { - setState(1644); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,165,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1634); - match(CASE); - setState(1635); - constantExpression(); - setState(1636); - match(COLON); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1638); - match(CASE); - setState(1639); - enumConstantName(); - setState(1640); - match(COLON); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1642); - match(DEFAULT); - setState(1643); - match(COLON); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnumConstantNameContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public EnumConstantNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enumConstantName; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantName(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantName(this); - } - } - - public final EnumConstantNameContext enumConstantName() throws RecognitionException { - EnumConstantNameContext _localctx = new EnumConstantNameContext(_ctx, getState()); - enterRule(_localctx, 296, RULE_enumConstantName); - try { - enterOuterAlt(_localctx, 1); - { - setState(1646); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WhileStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public WhileStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_whileStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWhileStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWhileStatement(this); - } - } - - public final WhileStatementContext whileStatement() throws RecognitionException { - WhileStatementContext _localctx = new WhileStatementContext(_ctx, getState()); - enterRule(_localctx, 298, RULE_whileStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1648); - match(WHILE); - setState(1649); - match(LPAREN); - setState(1650); - expression(); - setState(1651); - match(RPAREN); - setState(1652); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WhileStatementNoShortIfContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public WhileStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_whileStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWhileStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWhileStatementNoShortIf(this); - } - } - - public final WhileStatementNoShortIfContext whileStatementNoShortIf() throws RecognitionException { - WhileStatementNoShortIfContext _localctx = new WhileStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 300, RULE_whileStatementNoShortIf); - try { - enterOuterAlt(_localctx, 1); - { - setState(1654); - match(WHILE); - setState(1655); - match(LPAREN); - setState(1656); - expression(); - setState(1657); - match(RPAREN); - setState(1658); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DoStatementContext extends ParserRuleContext { - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public DoStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_doStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDoStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDoStatement(this); - } - } - - public final DoStatementContext doStatement() throws RecognitionException { - DoStatementContext _localctx = new DoStatementContext(_ctx, getState()); - enterRule(_localctx, 302, RULE_doStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1660); - match(DO); - setState(1661); - statement(); - setState(1662); - match(WHILE); - setState(1663); - match(LPAREN); - setState(1664); - expression(); - setState(1665); - match(RPAREN); - setState(1666); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ForStatementContext extends ParserRuleContext { - public BasicForStatementContext basicForStatement() { - return getRuleContext(BasicForStatementContext.class,0); - } - public EnhancedForStatementContext enhancedForStatement() { - return getRuleContext(EnhancedForStatementContext.class,0); - } - public ForStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_forStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForStatement(this); - } - } - - public final ForStatementContext forStatement() throws RecognitionException { - ForStatementContext _localctx = new ForStatementContext(_ctx, getState()); - enterRule(_localctx, 304, RULE_forStatement); - try { - setState(1670); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,166,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1668); - basicForStatement(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1669); - enhancedForStatement(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ForStatementNoShortIfContext extends ParserRuleContext { - public BasicForStatementNoShortIfContext basicForStatementNoShortIf() { - return getRuleContext(BasicForStatementNoShortIfContext.class,0); - } - public EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() { - return getRuleContext(EnhancedForStatementNoShortIfContext.class,0); - } - public ForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_forStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForStatementNoShortIf(this); - } - } - - public final ForStatementNoShortIfContext forStatementNoShortIf() throws RecognitionException { - ForStatementNoShortIfContext _localctx = new ForStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 306, RULE_forStatementNoShortIf); - try { - setState(1674); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,167,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1672); - basicForStatementNoShortIf(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1673); - enhancedForStatementNoShortIf(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BasicForStatementContext extends ParserRuleContext { - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public ForInitContext forInit() { - return getRuleContext(ForInitContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ForUpdateContext forUpdate() { - return getRuleContext(ForUpdateContext.class,0); - } - public BasicForStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_basicForStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBasicForStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBasicForStatement(this); - } - } - - public final BasicForStatementContext basicForStatement() throws RecognitionException { - BasicForStatementContext _localctx = new BasicForStatementContext(_ctx, getState()); - enterRule(_localctx, 308, RULE_basicForStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1676); - match(FOR); - setState(1677); - match(LPAREN); - setState(1679); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { - { - setState(1678); - forInit(); - } - } - - setState(1681); - match(SEMI); - setState(1683); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1682); - expression(); - } - } - - setState(1685); - match(SEMI); - setState(1687); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { - { - setState(1686); - forUpdate(); - } - } - - setState(1689); - match(RPAREN); - setState(1690); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BasicForStatementNoShortIfContext extends ParserRuleContext { - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public ForInitContext forInit() { - return getRuleContext(ForInitContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ForUpdateContext forUpdate() { - return getRuleContext(ForUpdateContext.class,0); - } - public BasicForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_basicForStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBasicForStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBasicForStatementNoShortIf(this); - } - } - - public final BasicForStatementNoShortIfContext basicForStatementNoShortIf() throws RecognitionException { - BasicForStatementNoShortIfContext _localctx = new BasicForStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 310, RULE_basicForStatementNoShortIf); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1692); - match(FOR); - setState(1693); - match(LPAREN); - setState(1695); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { - { - setState(1694); - forInit(); - } - } - - setState(1697); - match(SEMI); - setState(1699); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1698); - expression(); - } - } - - setState(1701); - match(SEMI); - setState(1703); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { - { - setState(1702); - forUpdate(); - } - } - - setState(1705); - match(RPAREN); - setState(1706); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ForInitContext extends ParserRuleContext { - public StatementExpressionListContext statementExpressionList() { - return getRuleContext(StatementExpressionListContext.class,0); - } - public LocalVariableDeclarationContext localVariableDeclaration() { - return getRuleContext(LocalVariableDeclarationContext.class,0); - } - public ForInitContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_forInit; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForInit(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForInit(this); - } - } - - public final ForInitContext forInit() throws RecognitionException { - ForInitContext _localctx = new ForInitContext(_ctx, getState()); - enterRule(_localctx, 312, RULE_forInit); - try { - setState(1710); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,174,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1708); - statementExpressionList(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1709); - localVariableDeclaration(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ForUpdateContext extends ParserRuleContext { - public StatementExpressionListContext statementExpressionList() { - return getRuleContext(StatementExpressionListContext.class,0); - } - public ForUpdateContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_forUpdate; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForUpdate(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForUpdate(this); - } - } - - public final ForUpdateContext forUpdate() throws RecognitionException { - ForUpdateContext _localctx = new ForUpdateContext(_ctx, getState()); - enterRule(_localctx, 314, RULE_forUpdate); - try { - enterOuterAlt(_localctx, 1); - { - setState(1712); - statementExpressionList(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StatementExpressionListContext extends ParserRuleContext { - public List statementExpression() { - return getRuleContexts(StatementExpressionContext.class); - } - public StatementExpressionContext statementExpression(int i) { - return getRuleContext(StatementExpressionContext.class,i); - } - public StatementExpressionListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_statementExpressionList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementExpressionList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementExpressionList(this); - } - } - - public final StatementExpressionListContext statementExpressionList() throws RecognitionException { - StatementExpressionListContext _localctx = new StatementExpressionListContext(_ctx, getState()); - enterRule(_localctx, 316, RULE_statementExpressionList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1714); - statementExpression(); - setState(1719); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(1715); - match(COMMA); - setState(1716); - statementExpression(); - } - } - setState(1721); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnhancedForStatementContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementContext statement() { - return getRuleContext(StatementContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public EnhancedForStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enhancedForStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnhancedForStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnhancedForStatement(this); - } - } - - public final EnhancedForStatementContext enhancedForStatement() throws RecognitionException { - EnhancedForStatementContext _localctx = new EnhancedForStatementContext(_ctx, getState()); - enterRule(_localctx, 318, RULE_enhancedForStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1722); - match(FOR); - setState(1723); - match(LPAREN); - setState(1727); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1724); - variableModifier(); - } - } - setState(1729); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1730); - unannType(); - setState(1731); - variableDeclaratorId(); - setState(1732); - match(COLON); - setState(1733); - expression(); - setState(1734); - match(RPAREN); - setState(1735); - statement(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EnhancedForStatementNoShortIfContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public StatementNoShortIfContext statementNoShortIf() { - return getRuleContext(StatementNoShortIfContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public EnhancedForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_enhancedForStatementNoShortIf; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnhancedForStatementNoShortIf(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnhancedForStatementNoShortIf(this); - } - } - - public final EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() throws RecognitionException { - EnhancedForStatementNoShortIfContext _localctx = new EnhancedForStatementNoShortIfContext(_ctx, getState()); - enterRule(_localctx, 320, RULE_enhancedForStatementNoShortIf); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1737); - match(FOR); - setState(1738); - match(LPAREN); - setState(1742); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1739); - variableModifier(); - } - } - setState(1744); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1745); - unannType(); - setState(1746); - variableDeclaratorId(); - setState(1747); - match(COLON); - setState(1748); - expression(); - setState(1749); - match(RPAREN); - setState(1750); - statementNoShortIf(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BreakStatementContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public BreakStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_breakStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBreakStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBreakStatement(this); - } - } - - public final BreakStatementContext breakStatement() throws RecognitionException { - BreakStatementContext _localctx = new BreakStatementContext(_ctx, getState()); - enterRule(_localctx, 322, RULE_breakStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1752); - match(BREAK); - setState(1754); - _la = _input.LA(1); - if (_la==Identifier) { - { - setState(1753); - match(Identifier); - } - } - - setState(1756); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ContinueStatementContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public ContinueStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_continueStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterContinueStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitContinueStatement(this); - } - } - - public final ContinueStatementContext continueStatement() throws RecognitionException { - ContinueStatementContext _localctx = new ContinueStatementContext(_ctx, getState()); - enterRule(_localctx, 324, RULE_continueStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1758); - match(CONTINUE); - setState(1760); - _la = _input.LA(1); - if (_la==Identifier) { - { - setState(1759); - match(Identifier); - } - } - - setState(1762); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReturnStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ReturnStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_returnStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReturnStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReturnStatement(this); - } - } - - public final ReturnStatementContext returnStatement() throws RecognitionException { - ReturnStatementContext _localctx = new ReturnStatementContext(_ctx, getState()); - enterRule(_localctx, 326, RULE_returnStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1764); - match(RETURN); - setState(1766); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(1765); - expression(); - } - } - - setState(1768); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ThrowStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ThrowStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_throwStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterThrowStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitThrowStatement(this); - } - } - - public final ThrowStatementContext throwStatement() throws RecognitionException { - ThrowStatementContext _localctx = new ThrowStatementContext(_ctx, getState()); - enterRule(_localctx, 328, RULE_throwStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1770); - match(THROW); - setState(1771); - expression(); - setState(1772); - match(SEMI); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class SynchronizedStatementContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public SynchronizedStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_synchronizedStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSynchronizedStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSynchronizedStatement(this); - } - } - - public final SynchronizedStatementContext synchronizedStatement() throws RecognitionException { - SynchronizedStatementContext _localctx = new SynchronizedStatementContext(_ctx, getState()); - enterRule(_localctx, 330, RULE_synchronizedStatement); - try { - enterOuterAlt(_localctx, 1); - { - setState(1774); - match(SYNCHRONIZED); - setState(1775); - match(LPAREN); - setState(1776); - expression(); - setState(1777); - match(RPAREN); - setState(1778); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TryStatementContext extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public CatchesContext catches() { - return getRuleContext(CatchesContext.class,0); - } - public Finally_Context finally_() { - return getRuleContext(Finally_Context.class,0); - } - public TryWithResourcesStatementContext tryWithResourcesStatement() { - return getRuleContext(TryWithResourcesStatementContext.class,0); - } - public TryStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_tryStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTryStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTryStatement(this); - } - } - - public final TryStatementContext tryStatement() throws RecognitionException { - TryStatementContext _localctx = new TryStatementContext(_ctx, getState()); - enterRule(_localctx, 332, RULE_tryStatement); - int _la; - try { - setState(1792); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,182,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1780); - match(TRY); - setState(1781); - block(); - setState(1782); - catches(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1784); - match(TRY); - setState(1785); - block(); - setState(1787); - _la = _input.LA(1); - if (_la==CATCH) { - { - setState(1786); - catches(); - } - } - - setState(1789); - finally_(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1791); - tryWithResourcesStatement(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CatchesContext extends ParserRuleContext { - public List catchClause() { - return getRuleContexts(CatchClauseContext.class); - } - public CatchClauseContext catchClause(int i) { - return getRuleContext(CatchClauseContext.class,i); - } - public CatchesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_catches; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatches(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatches(this); - } - } - - public final CatchesContext catches() throws RecognitionException { - CatchesContext _localctx = new CatchesContext(_ctx, getState()); - enterRule(_localctx, 334, RULE_catches); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1794); - catchClause(); - setState(1798); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==CATCH) { - { - { - setState(1795); - catchClause(); - } - } - setState(1800); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CatchClauseContext extends ParserRuleContext { - public CatchFormalParameterContext catchFormalParameter() { - return getRuleContext(CatchFormalParameterContext.class,0); - } - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public CatchClauseContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_catchClause; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchClause(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchClause(this); - } - } - - public final CatchClauseContext catchClause() throws RecognitionException { - CatchClauseContext _localctx = new CatchClauseContext(_ctx, getState()); - enterRule(_localctx, 336, RULE_catchClause); - try { - enterOuterAlt(_localctx, 1); - { - setState(1801); - match(CATCH); - setState(1802); - match(LPAREN); - setState(1803); - catchFormalParameter(); - setState(1804); - match(RPAREN); - setState(1805); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CatchFormalParameterContext extends ParserRuleContext { - public CatchTypeContext catchType() { - return getRuleContext(CatchTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public CatchFormalParameterContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_catchFormalParameter; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchFormalParameter(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchFormalParameter(this); - } - } - - public final CatchFormalParameterContext catchFormalParameter() throws RecognitionException { - CatchFormalParameterContext _localctx = new CatchFormalParameterContext(_ctx, getState()); - enterRule(_localctx, 338, RULE_catchFormalParameter); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1810); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1807); - variableModifier(); - } - } - setState(1812); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1813); - catchType(); - setState(1814); - variableDeclaratorId(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CatchTypeContext extends ParserRuleContext { - public UnannClassTypeContext unannClassType() { - return getRuleContext(UnannClassTypeContext.class,0); - } - public List classType() { - return getRuleContexts(ClassTypeContext.class); - } - public ClassTypeContext classType(int i) { - return getRuleContext(ClassTypeContext.class,i); - } - public CatchTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_catchType; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchType(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchType(this); - } - } - - public final CatchTypeContext catchType() throws RecognitionException { - CatchTypeContext _localctx = new CatchTypeContext(_ctx, getState()); - enterRule(_localctx, 340, RULE_catchType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1816); - unannClassType(); - setState(1821); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==BITOR) { - { - { - setState(1817); - match(BITOR); - setState(1818); - classType(); - } - } - setState(1823); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Finally_Context extends ParserRuleContext { - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public Finally_Context(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_finally_; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFinally_(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFinally_(this); - } - } - - public final Finally_Context finally_() throws RecognitionException { - Finally_Context _localctx = new Finally_Context(_ctx, getState()); - enterRule(_localctx, 342, RULE_finally_); - try { - enterOuterAlt(_localctx, 1); - { - setState(1824); - match(FINALLY); - setState(1825); - block(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TryWithResourcesStatementContext extends ParserRuleContext { - public ResourceSpecificationContext resourceSpecification() { - return getRuleContext(ResourceSpecificationContext.class,0); - } - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public CatchesContext catches() { - return getRuleContext(CatchesContext.class,0); - } - public Finally_Context finally_() { - return getRuleContext(Finally_Context.class,0); - } - public TryWithResourcesStatementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_tryWithResourcesStatement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTryWithResourcesStatement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTryWithResourcesStatement(this); - } - } - - public final TryWithResourcesStatementContext tryWithResourcesStatement() throws RecognitionException { - TryWithResourcesStatementContext _localctx = new TryWithResourcesStatementContext(_ctx, getState()); - enterRule(_localctx, 344, RULE_tryWithResourcesStatement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1827); - match(TRY); - setState(1828); - resourceSpecification(); - setState(1829); - block(); - setState(1831); - _la = _input.LA(1); - if (_la==CATCH) { - { - setState(1830); - catches(); - } - } - - setState(1834); - _la = _input.LA(1); - if (_la==FINALLY) { - { - setState(1833); - finally_(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResourceSpecificationContext extends ParserRuleContext { - public ResourceListContext resourceList() { - return getRuleContext(ResourceListContext.class,0); - } - public ResourceSpecificationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resourceSpecification; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResourceSpecification(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResourceSpecification(this); - } - } - - public final ResourceSpecificationContext resourceSpecification() throws RecognitionException { - ResourceSpecificationContext _localctx = new ResourceSpecificationContext(_ctx, getState()); - enterRule(_localctx, 346, RULE_resourceSpecification); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1836); - match(LPAREN); - setState(1837); - resourceList(); - setState(1839); - _la = _input.LA(1); - if (_la==SEMI) { - { - setState(1838); - match(SEMI); - } - } - - setState(1841); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResourceListContext extends ParserRuleContext { - public List resource() { - return getRuleContexts(ResourceContext.class); - } - public ResourceContext resource(int i) { - return getRuleContext(ResourceContext.class,i); - } - public ResourceListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resourceList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResourceList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResourceList(this); - } - } - - public final ResourceListContext resourceList() throws RecognitionException { - ResourceListContext _localctx = new ResourceListContext(_ctx, getState()); - enterRule(_localctx, 348, RULE_resourceList); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1843); - resource(); - setState(1848); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,189,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1844); - match(SEMI); - setState(1845); - resource(); - } - } - } - setState(1850); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,189,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResourceContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } - public VariableDeclaratorIdContext variableDeclaratorId() { - return getRuleContext(VariableDeclaratorIdContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public List variableModifier() { - return getRuleContexts(VariableModifierContext.class); - } - public VariableModifierContext variableModifier(int i) { - return getRuleContext(VariableModifierContext.class,i); - } - public ResourceContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resource; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResource(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResource(this); - } - } - - public final ResourceContext resource() throws RecognitionException { - ResourceContext _localctx = new ResourceContext(_ctx, getState()); - enterRule(_localctx, 350, RULE_resource); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(1854); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==FINAL || _la==AT) { - { - { - setState(1851); - variableModifier(); - } - } - setState(1856); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1857); - unannType(); - setState(1858); - variableDeclaratorId(); - setState(1859); - match(ASSIGN); - setState(1860); - expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryContext extends ParserRuleContext { - public PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() { - return getRuleContext(PrimaryNoNewArray_lfno_primaryContext.class,0); - } - public ArrayCreationExpressionContext arrayCreationExpression() { - return getRuleContext(ArrayCreationExpressionContext.class,0); - } - public List primaryNoNewArray_lf_primary() { - return getRuleContexts(PrimaryNoNewArray_lf_primaryContext.class); - } - public PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary(int i) { - return getRuleContext(PrimaryNoNewArray_lf_primaryContext.class,i); - } - public PrimaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimary(this); - } - } - - public final PrimaryContext primary() throws RecognitionException { - PrimaryContext _localctx = new PrimaryContext(_ctx, getState()); - enterRule(_localctx, 352, RULE_primary); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(1864); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,191,_ctx) ) { - case 1: - { - setState(1862); - primaryNoNewArray_lfno_primary(); - } - break; - case 2: - { - setState(1863); - arrayCreationExpression(); - } - break; - } - setState(1869); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,192,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1866); - primaryNoNewArray_lf_primary(); - } - } - } - setState(1871); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,192,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArrayContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { - return getRuleContext(ClassInstanceCreationExpressionContext.class,0); - } - public FieldAccessContext fieldAccess() { - return getRuleContext(FieldAccessContext.class,0); - } - public ArrayAccessContext arrayAccess() { - return getRuleContext(ArrayAccessContext.class,0); - } - public MethodInvocationContext methodInvocation() { - return getRuleContext(MethodInvocationContext.class,0); - } - public MethodReferenceContext methodReference() { - return getRuleContext(MethodReferenceContext.class,0); - } - public PrimaryNoNewArrayContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray(this); - } - } - - public final PrimaryNoNewArrayContext primaryNoNewArray() throws RecognitionException { - PrimaryNoNewArrayContext _localctx = new PrimaryNoNewArrayContext(_ctx, getState()); - enterRule(_localctx, 354, RULE_primaryNoNewArray); - int _la; - try { - setState(1901); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,194,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1872); - literal(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1873); - typeName(); - setState(1878); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1874); - match(LBRACK); - setState(1875); - match(RBRACK); - } - } - setState(1880); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1881); - match(DOT); - setState(1882); - match(CLASS); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1884); - match(VOID); - setState(1885); - match(DOT); - setState(1886); - match(CLASS); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1887); - match(THIS); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1888); - typeName(); - setState(1889); - match(DOT); - setState(1890); - match(THIS); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1892); - match(LPAREN); - setState(1893); - expression(); - setState(1894); - match(RPAREN); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(1896); - classInstanceCreationExpression(); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(1897); - fieldAccess(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(1898); - arrayAccess(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(1899); - methodInvocation(); - } - break; - case 11: - enterOuterAlt(_localctx, 11); - { - setState(1900); - methodReference(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lf_arrayAccessContext extends ParserRuleContext { - public PrimaryNoNewArray_lf_arrayAccessContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_arrayAccess; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_arrayAccess(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_arrayAccess(this); - } - } - - public final PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess() throws RecognitionException { - PrimaryNoNewArray_lf_arrayAccessContext _localctx = new PrimaryNoNewArray_lf_arrayAccessContext(_ctx, getState()); - enterRule(_localctx, 356, RULE_primaryNoNewArray_lf_arrayAccess); - try { - enterOuterAlt(_localctx, 1); - { - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lfno_arrayAccessContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { - return getRuleContext(ClassInstanceCreationExpressionContext.class,0); - } - public FieldAccessContext fieldAccess() { - return getRuleContext(FieldAccessContext.class,0); - } - public MethodInvocationContext methodInvocation() { - return getRuleContext(MethodInvocationContext.class,0); - } - public MethodReferenceContext methodReference() { - return getRuleContext(MethodReferenceContext.class,0); - } - public PrimaryNoNewArray_lfno_arrayAccessContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_arrayAccess; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_arrayAccess(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_arrayAccess(this); - } - } - - public final PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() throws RecognitionException { - PrimaryNoNewArray_lfno_arrayAccessContext _localctx = new PrimaryNoNewArray_lfno_arrayAccessContext(_ctx, getState()); - enterRule(_localctx, 358, RULE_primaryNoNewArray_lfno_arrayAccess); - int _la; - try { - setState(1933); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,196,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1905); - literal(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1906); - typeName(); - setState(1911); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1907); - match(LBRACK); - setState(1908); - match(RBRACK); - } - } - setState(1913); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1914); - match(DOT); - setState(1915); - match(CLASS); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1917); - match(VOID); - setState(1918); - match(DOT); - setState(1919); - match(CLASS); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1920); - match(THIS); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1921); - typeName(); - setState(1922); - match(DOT); - setState(1923); - match(THIS); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1925); - match(LPAREN); - setState(1926); - expression(); - setState(1927); - match(RPAREN); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(1929); - classInstanceCreationExpression(); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(1930); - fieldAccess(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(1931); - methodInvocation(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(1932); - methodReference(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lf_primaryContext extends ParserRuleContext { - public ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() { - return getRuleContext(ClassInstanceCreationExpression_lf_primaryContext.class,0); - } - public FieldAccess_lf_primaryContext fieldAccess_lf_primary() { - return getRuleContext(FieldAccess_lf_primaryContext.class,0); - } - public ArrayAccess_lf_primaryContext arrayAccess_lf_primary() { - return getRuleContext(ArrayAccess_lf_primaryContext.class,0); - } - public MethodInvocation_lf_primaryContext methodInvocation_lf_primary() { - return getRuleContext(MethodInvocation_lf_primaryContext.class,0); - } - public MethodReference_lf_primaryContext methodReference_lf_primary() { - return getRuleContext(MethodReference_lf_primaryContext.class,0); - } - public PrimaryNoNewArray_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary(this); - } - } - - public final PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary() throws RecognitionException { - PrimaryNoNewArray_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 360, RULE_primaryNoNewArray_lf_primary); - try { - setState(1940); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,197,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1935); - classInstanceCreationExpression_lf_primary(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1936); - fieldAccess_lf_primary(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1937); - arrayAccess_lf_primary(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1938); - methodInvocation_lf_primary(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1939); - methodReference_lf_primary(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext extends ParserRuleContext { - public PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); - } - } - - public final PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary() throws RecognitionException { - PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 362, RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary); - try { - enterOuterAlt(_localctx, 1); - { - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext extends ParserRuleContext { - public ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() { - return getRuleContext(ClassInstanceCreationExpression_lf_primaryContext.class,0); - } - public FieldAccess_lf_primaryContext fieldAccess_lf_primary() { - return getRuleContext(FieldAccess_lf_primaryContext.class,0); - } - public MethodInvocation_lf_primaryContext methodInvocation_lf_primary() { - return getRuleContext(MethodInvocation_lf_primaryContext.class,0); - } - public MethodReference_lf_primaryContext methodReference_lf_primary() { - return getRuleContext(MethodReference_lf_primaryContext.class,0); - } - public PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); - } - } - - public final PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary() throws RecognitionException { - PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 364, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary); - try { - setState(1948); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1944); - classInstanceCreationExpression_lf_primary(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1945); - fieldAccess_lf_primary(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1946); - methodInvocation_lf_primary(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1947); - methodReference_lf_primary(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lfno_primaryContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public UnannPrimitiveTypeContext unannPrimitiveType() { - return getRuleContext(UnannPrimitiveTypeContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() { - return getRuleContext(ClassInstanceCreationExpression_lfno_primaryContext.class,0); - } - public FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() { - return getRuleContext(FieldAccess_lfno_primaryContext.class,0); - } - public ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() { - return getRuleContext(ArrayAccess_lfno_primaryContext.class,0); - } - public MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() { - return getRuleContext(MethodInvocation_lfno_primaryContext.class,0); - } - public MethodReference_lfno_primaryContext methodReference_lfno_primary() { - return getRuleContext(MethodReference_lfno_primaryContext.class,0); - } - public PrimaryNoNewArray_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary(this); - } - } - - public final PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() throws RecognitionException { - PrimaryNoNewArray_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 366, RULE_primaryNoNewArray_lfno_primary); - int _la; - try { - setState(1990); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,201,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1950); - literal(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1951); - typeName(); - setState(1956); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1952); - match(LBRACK); - setState(1953); - match(RBRACK); - } - } - setState(1958); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1959); - match(DOT); - setState(1960); - match(CLASS); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(1962); - unannPrimitiveType(); - setState(1967); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1963); - match(LBRACK); - setState(1964); - match(RBRACK); - } - } - setState(1969); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(1970); - match(DOT); - setState(1971); - match(CLASS); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(1973); - match(VOID); - setState(1974); - match(DOT); - setState(1975); - match(CLASS); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(1976); - match(THIS); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(1977); - typeName(); - setState(1978); - match(DOT); - setState(1979); - match(THIS); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(1981); - match(LPAREN); - setState(1982); - expression(); - setState(1983); - match(RPAREN); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(1985); - classInstanceCreationExpression_lfno_primary(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(1986); - fieldAccess_lfno_primary(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(1987); - arrayAccess_lfno_primary(); - } - break; - case 11: - enterOuterAlt(_localctx, 11); - { - setState(1988); - methodInvocation_lfno_primary(); - } - break; - case 12: - enterOuterAlt(_localctx, 12); - { - setState(1989); - methodReference_lfno_primary(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext extends ParserRuleContext { - public PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); - } - } - - public final PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary() throws RecognitionException { - PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 368, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary); - try { - enterOuterAlt(_localctx, 1); - { - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public UnannPrimitiveTypeContext unannPrimitiveType() { - return getRuleContext(UnannPrimitiveTypeContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() { - return getRuleContext(ClassInstanceCreationExpression_lfno_primaryContext.class,0); - } - public FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() { - return getRuleContext(FieldAccess_lfno_primaryContext.class,0); - } - public MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() { - return getRuleContext(MethodInvocation_lfno_primaryContext.class,0); - } - public MethodReference_lfno_primaryContext methodReference_lfno_primary() { - return getRuleContext(MethodReference_lfno_primaryContext.class,0); - } - public PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); - } - } - - public final PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary() throws RecognitionException { - PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 370, RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary); - int _la; - try { - setState(2033); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,204,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(1994); - literal(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1995); - typeName(); - setState(2000); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(1996); - match(LBRACK); - setState(1997); - match(RBRACK); - } - } - setState(2002); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2003); - match(DOT); - setState(2004); - match(CLASS); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2006); - unannPrimitiveType(); - setState(2011); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(2007); - match(LBRACK); - setState(2008); - match(RBRACK); - } - } - setState(2013); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2014); - match(DOT); - setState(2015); - match(CLASS); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2017); - match(VOID); - setState(2018); - match(DOT); - setState(2019); - match(CLASS); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2020); - match(THIS); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(2021); - typeName(); - setState(2022); - match(DOT); - setState(2023); - match(THIS); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(2025); - match(LPAREN); - setState(2026); - expression(); - setState(2027); - match(RPAREN); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(2029); - classInstanceCreationExpression_lfno_primary(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(2030); - fieldAccess_lfno_primary(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(2031); - methodInvocation_lfno_primary(); - } - break; - case 11: - enterOuterAlt(_localctx, 11); - { - setState(2032); - methodReference_lfno_primary(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassInstanceCreationExpressionContext extends ParserRuleContext { - public List Identifier() { return getTokens(Java8Parser.Identifier); } - public TerminalNode Identifier(int i) { - return getToken(Java8Parser.Identifier, i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { - return getRuleContext(TypeArgumentsOrDiamondContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public ClassInstanceCreationExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression(this); - } - } - - public final ClassInstanceCreationExpressionContext classInstanceCreationExpression() throws RecognitionException { - ClassInstanceCreationExpressionContext _localctx = new ClassInstanceCreationExpressionContext(_ctx, getState()); - enterRule(_localctx, 372, RULE_classInstanceCreationExpression); - int _la; - try { - setState(2118); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,222,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2035); - match(NEW); - setState(2037); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2036); - typeArguments(); - } - } - - setState(2042); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2039); - annotation(); - } - } - setState(2044); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2045); - match(Identifier); - setState(2056); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==DOT) { - { - { - setState(2046); - match(DOT); - setState(2050); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2047); - annotation(); - } - } - setState(2052); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2053); - match(Identifier); - } - } - setState(2058); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2060); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2059); - typeArgumentsOrDiamond(); - } - } - - setState(2062); - match(LPAREN); - setState(2064); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2063); - argumentList(); - } - } - - setState(2066); - match(RPAREN); - setState(2068); - _la = _input.LA(1); - if (_la==LBRACE) { - { - setState(2067); - classBody(); - } - } - - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2070); - expressionName(); - setState(2071); - match(DOT); - setState(2072); - match(NEW); - setState(2074); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2073); - typeArguments(); - } - } - - setState(2079); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2076); - annotation(); - } - } - setState(2081); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2082); - match(Identifier); - setState(2084); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2083); - typeArgumentsOrDiamond(); - } - } - - setState(2086); - match(LPAREN); - setState(2088); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2087); - argumentList(); - } - } - - setState(2090); - match(RPAREN); - setState(2092); - _la = _input.LA(1); - if (_la==LBRACE) { - { - setState(2091); - classBody(); - } - } - - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2094); - primary(); - setState(2095); - match(DOT); - setState(2096); - match(NEW); - setState(2098); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2097); - typeArguments(); - } - } - - setState(2103); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2100); - annotation(); - } - } - setState(2105); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2106); - match(Identifier); - setState(2108); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2107); - typeArgumentsOrDiamond(); - } - } - - setState(2110); - match(LPAREN); - setState(2112); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2111); - argumentList(); - } - } - - setState(2114); - match(RPAREN); - setState(2116); - _la = _input.LA(1); - if (_la==LBRACE) { - { - setState(2115); - classBody(); - } - } - - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassInstanceCreationExpression_lf_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { - return getRuleContext(TypeArgumentsOrDiamondContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public ClassInstanceCreationExpression_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression_lf_primary(this); - } - } - - public final ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() throws RecognitionException { - ClassInstanceCreationExpression_lf_primaryContext _localctx = new ClassInstanceCreationExpression_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 374, RULE_classInstanceCreationExpression_lf_primary); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2120); - match(DOT); - setState(2121); - match(NEW); - setState(2123); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2122); - typeArguments(); - } - } - - setState(2128); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2125); - annotation(); - } - } - setState(2130); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2131); - match(Identifier); - setState(2133); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2132); - typeArgumentsOrDiamond(); - } - } - - setState(2135); - match(LPAREN); - setState(2137); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2136); - argumentList(); - } - } - - setState(2139); - match(RPAREN); - setState(2141); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,227,_ctx) ) { - case 1: - { - setState(2140); - classBody(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ClassInstanceCreationExpression_lfno_primaryContext extends ParserRuleContext { - public List Identifier() { return getTokens(Java8Parser.Identifier); } - public TerminalNode Identifier(int i) { - return getToken(Java8Parser.Identifier, i); - } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { - return getRuleContext(TypeArgumentsOrDiamondContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public ClassBodyContext classBody() { - return getRuleContext(ClassBodyContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public ClassInstanceCreationExpression_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression_lfno_primary(this); - } - } - - public final ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() throws RecognitionException { - ClassInstanceCreationExpression_lfno_primaryContext _localctx = new ClassInstanceCreationExpression_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 376, RULE_classInstanceCreationExpression_lfno_primary); - int _la; - try { - setState(2202); - switch (_input.LA(1)) { - case NEW: - enterOuterAlt(_localctx, 1); - { - setState(2143); - match(NEW); - setState(2145); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2144); - typeArguments(); - } - } - - setState(2150); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2147); - annotation(); - } - } - setState(2152); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2153); - match(Identifier); - setState(2164); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==DOT) { - { - { - setState(2154); - match(DOT); - setState(2158); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2155); - annotation(); - } - } - setState(2160); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2161); - match(Identifier); - } - } - setState(2166); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2168); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2167); - typeArgumentsOrDiamond(); - } - } - - setState(2170); - match(LPAREN); - setState(2172); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2171); - argumentList(); - } - } - - setState(2174); - match(RPAREN); - setState(2176); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,234,_ctx) ) { - case 1: - { - setState(2175); - classBody(); - } - break; - } - } - break; - case Identifier: - enterOuterAlt(_localctx, 2); - { - setState(2178); - expressionName(); - setState(2179); - match(DOT); - setState(2180); - match(NEW); - setState(2182); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2181); - typeArguments(); - } - } - - setState(2187); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2184); - annotation(); - } - } - setState(2189); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2190); - match(Identifier); - setState(2192); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2191); - typeArgumentsOrDiamond(); - } - } - - setState(2194); - match(LPAREN); - setState(2196); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2195); - argumentList(); - } - } - - setState(2198); - match(RPAREN); - setState(2200); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,239,_ctx) ) { - case 1: - { - setState(2199); - classBody(); - } - break; - } - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TypeArgumentsOrDiamondContext extends ParserRuleContext { - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public TypeArgumentsOrDiamondContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_typeArgumentsOrDiamond; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgumentsOrDiamond(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgumentsOrDiamond(this); - } - } - - public final TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() throws RecognitionException { - TypeArgumentsOrDiamondContext _localctx = new TypeArgumentsOrDiamondContext(_ctx, getState()); - enterRule(_localctx, 378, RULE_typeArgumentsOrDiamond); - try { - setState(2207); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,241,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2204); - typeArguments(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2205); - match(LT); - setState(2206); - match(GT); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldAccessContext extends ParserRuleContext { - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public FieldAccessContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldAccess; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess(this); - } - } - - public final FieldAccessContext fieldAccess() throws RecognitionException { - FieldAccessContext _localctx = new FieldAccessContext(_ctx, getState()); - enterRule(_localctx, 380, RULE_fieldAccess); - try { - setState(2222); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,242,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2209); - primary(); - setState(2210); - match(DOT); - setState(2211); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2213); - match(SUPER); - setState(2214); - match(DOT); - setState(2215); - match(Identifier); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2216); - typeName(); - setState(2217); - match(DOT); - setState(2218); - match(SUPER); - setState(2219); - match(DOT); - setState(2220); - match(Identifier); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldAccess_lf_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public FieldAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldAccess_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess_lf_primary(this); - } - } - - public final FieldAccess_lf_primaryContext fieldAccess_lf_primary() throws RecognitionException { - FieldAccess_lf_primaryContext _localctx = new FieldAccess_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 382, RULE_fieldAccess_lf_primary); - try { - enterOuterAlt(_localctx, 1); - { - setState(2224); - match(DOT); - setState(2225); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class FieldAccess_lfno_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public FieldAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fieldAccess_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess_lfno_primary(this); - } - } - - public final FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() throws RecognitionException { - FieldAccess_lfno_primaryContext _localctx = new FieldAccess_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 384, RULE_fieldAccess_lfno_primary); - try { - setState(2236); - switch (_input.LA(1)) { - case SUPER: - enterOuterAlt(_localctx, 1); - { - setState(2227); - match(SUPER); - setState(2228); - match(DOT); - setState(2229); - match(Identifier); - } - break; - case Identifier: - enterOuterAlt(_localctx, 2); - { - setState(2230); - typeName(); - setState(2231); - match(DOT); - setState(2232); - match(SUPER); - setState(2233); - match(DOT); - setState(2234); - match(Identifier); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayAccessContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() { - return getRuleContext(PrimaryNoNewArray_lfno_arrayAccessContext.class,0); - } - public List primaryNoNewArray_lf_arrayAccess() { - return getRuleContexts(PrimaryNoNewArray_lf_arrayAccessContext.class); - } - public PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess(int i) { - return getRuleContext(PrimaryNoNewArray_lf_arrayAccessContext.class,i); - } - public ArrayAccessContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayAccess; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess(this); - } - } - - public final ArrayAccessContext arrayAccess() throws RecognitionException { - ArrayAccessContext _localctx = new ArrayAccessContext(_ctx, getState()); - enterRule(_localctx, 386, RULE_arrayAccess); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2248); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,244,_ctx) ) { - case 1: - { - setState(2238); - expressionName(); - setState(2239); - match(LBRACK); - setState(2240); - expression(); - setState(2241); - match(RBRACK); - } - break; - case 2: - { - setState(2243); - primaryNoNewArray_lfno_arrayAccess(); - setState(2244); - match(LBRACK); - setState(2245); - expression(); - setState(2246); - match(RBRACK); - } - break; - } - setState(2257); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==LBRACK) { - { - { - setState(2250); - primaryNoNewArray_lf_arrayAccess(); - setState(2251); - match(LBRACK); - setState(2252); - expression(); - setState(2253); - match(RBRACK); - } - } - setState(2259); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayAccess_lf_primaryContext extends ParserRuleContext { - public PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary() { - return getRuleContext(PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext.class,0); - } - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public List primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary() { - return getRuleContexts(PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext.class); - } - public PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(int i) { - return getRuleContext(PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext.class,i); - } - public ArrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayAccess_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess_lf_primary(this); - } - } - - public final ArrayAccess_lf_primaryContext arrayAccess_lf_primary() throws RecognitionException { - ArrayAccess_lf_primaryContext _localctx = new ArrayAccess_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 388, RULE_arrayAccess_lf_primary); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2260); - primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); - setState(2261); - match(LBRACK); - setState(2262); - expression(); - setState(2263); - match(RBRACK); - } - setState(2272); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,246,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(2265); - primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); - setState(2266); - match(LBRACK); - setState(2267); - expression(); - setState(2268); - match(RBRACK); - } - } - } - setState(2274); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,246,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayAccess_lfno_primaryContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary() { - return getRuleContext(PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext.class,0); - } - public List primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary() { - return getRuleContexts(PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext.class); - } - public PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(int i) { - return getRuleContext(PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext.class,i); - } - public ArrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayAccess_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess_lfno_primary(this); - } - } - - public final ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() throws RecognitionException { - ArrayAccess_lfno_primaryContext _localctx = new ArrayAccess_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 390, RULE_arrayAccess_lfno_primary); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(2285); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,247,_ctx) ) { - case 1: - { - setState(2275); - expressionName(); - setState(2276); - match(LBRACK); - setState(2277); - expression(); - setState(2278); - match(RBRACK); - } - break; - case 2: - { - setState(2280); - primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); - setState(2281); - match(LBRACK); - setState(2282); - expression(); - setState(2283); - match(RBRACK); - } - break; - } - setState(2294); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,248,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(2287); - primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); - setState(2288); - match(LBRACK); - setState(2289); - expression(); - setState(2290); - match(RBRACK); - } - } - } - setState(2296); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,248,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodInvocationContext extends ParserRuleContext { - public MethodNameContext methodName() { - return getRuleContext(MethodNameContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public MethodInvocationContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodInvocation; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation(this); - } - } - - public final MethodInvocationContext methodInvocation() throws RecognitionException { - MethodInvocationContext _localctx = new MethodInvocationContext(_ctx, getState()); - enterRule(_localctx, 392, RULE_methodInvocation); - int _la; - try { - setState(2365); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,260,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2297); - methodName(); - setState(2298); - match(LPAREN); - setState(2300); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2299); - argumentList(); - } - } - - setState(2302); - match(RPAREN); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2304); - typeName(); - setState(2305); - match(DOT); - setState(2307); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2306); - typeArguments(); - } - } - - setState(2309); - match(Identifier); - setState(2310); - match(LPAREN); - setState(2312); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2311); - argumentList(); - } - } - - setState(2314); - match(RPAREN); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2316); - expressionName(); - setState(2317); - match(DOT); - setState(2319); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2318); - typeArguments(); - } - } - - setState(2321); - match(Identifier); - setState(2322); - match(LPAREN); - setState(2324); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2323); - argumentList(); - } - } - - setState(2326); - match(RPAREN); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2328); - primary(); - setState(2329); - match(DOT); - setState(2331); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2330); - typeArguments(); - } - } - - setState(2333); - match(Identifier); - setState(2334); - match(LPAREN); - setState(2336); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2335); - argumentList(); - } - } - - setState(2338); - match(RPAREN); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2340); - match(SUPER); - setState(2341); - match(DOT); - setState(2343); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2342); - typeArguments(); - } - } - - setState(2345); - match(Identifier); - setState(2346); - match(LPAREN); - setState(2348); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2347); - argumentList(); - } - } - - setState(2350); - match(RPAREN); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(2351); - typeName(); - setState(2352); - match(DOT); - setState(2353); - match(SUPER); - setState(2354); - match(DOT); - setState(2356); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2355); - typeArguments(); - } - } - - setState(2358); - match(Identifier); - setState(2359); - match(LPAREN); - setState(2361); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2360); - argumentList(); - } - } - - setState(2363); - match(RPAREN); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodInvocation_lf_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public MethodInvocation_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodInvocation_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation_lf_primary(this); - } - } - - public final MethodInvocation_lf_primaryContext methodInvocation_lf_primary() throws RecognitionException { - MethodInvocation_lf_primaryContext _localctx = new MethodInvocation_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 394, RULE_methodInvocation_lf_primary); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2367); - match(DOT); - setState(2369); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2368); - typeArguments(); - } - } - - setState(2371); - match(Identifier); - setState(2372); - match(LPAREN); - setState(2374); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2373); - argumentList(); - } - } - - setState(2376); - match(RPAREN); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodInvocation_lfno_primaryContext extends ParserRuleContext { - public MethodNameContext methodName() { - return getRuleContext(MethodNameContext.class,0); - } - public ArgumentListContext argumentList() { - return getRuleContext(ArgumentListContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public MethodInvocation_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodInvocation_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation_lfno_primary(this); - } - } - - public final MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() throws RecognitionException { - MethodInvocation_lfno_primaryContext _localctx = new MethodInvocation_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 396, RULE_methodInvocation_lfno_primary); - int _la; - try { - setState(2434); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,272,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2378); - methodName(); - setState(2379); - match(LPAREN); - setState(2381); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2380); - argumentList(); - } - } - - setState(2383); - match(RPAREN); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2385); - typeName(); - setState(2386); - match(DOT); - setState(2388); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2387); - typeArguments(); - } - } - - setState(2390); - match(Identifier); - setState(2391); - match(LPAREN); - setState(2393); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2392); - argumentList(); - } - } - - setState(2395); - match(RPAREN); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2397); - expressionName(); - setState(2398); - match(DOT); - setState(2400); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2399); - typeArguments(); - } - } - - setState(2402); - match(Identifier); - setState(2403); - match(LPAREN); - setState(2405); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2404); - argumentList(); - } - } - - setState(2407); - match(RPAREN); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2409); - match(SUPER); - setState(2410); - match(DOT); - setState(2412); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2411); - typeArguments(); - } - } - - setState(2414); - match(Identifier); - setState(2415); - match(LPAREN); - setState(2417); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2416); - argumentList(); - } - } - - setState(2419); - match(RPAREN); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2420); - typeName(); - setState(2421); - match(DOT); - setState(2422); - match(SUPER); - setState(2423); - match(DOT); - setState(2425); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2424); - typeArguments(); - } - } - - setState(2427); - match(Identifier); - setState(2428); - match(LPAREN); - setState(2430); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { - { - setState(2429); - argumentList(); - } - } - - setState(2432); - match(RPAREN); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArgumentListContext extends ParserRuleContext { - public List expression() { - return getRuleContexts(ExpressionContext.class); - } - public ExpressionContext expression(int i) { - return getRuleContext(ExpressionContext.class,i); - } - public ArgumentListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_argumentList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArgumentList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArgumentList(this); - } - } - - public final ArgumentListContext argumentList() throws RecognitionException { - ArgumentListContext _localctx = new ArgumentListContext(_ctx, getState()); - enterRule(_localctx, 398, RULE_argumentList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2436); - expression(); - setState(2441); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(2437); - match(COMMA); - setState(2438); - expression(); - } - } - setState(2443); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodReferenceContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public ArrayTypeContext arrayType() { - return getRuleContext(ArrayTypeContext.class,0); - } - public MethodReferenceContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodReference; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference(this); - } - } - - public final MethodReferenceContext methodReference() throws RecognitionException { - MethodReferenceContext _localctx = new MethodReferenceContext(_ctx, getState()); - enterRule(_localctx, 400, RULE_methodReference); - int _la; - try { - setState(2491); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,280,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2444); - expressionName(); - setState(2445); - match(COLONCOLON); - setState(2447); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2446); - typeArguments(); - } - } - - setState(2449); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2451); - referenceType(); - setState(2452); - match(COLONCOLON); - setState(2454); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2453); - typeArguments(); - } - } - - setState(2456); - match(Identifier); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2458); - primary(); - setState(2459); - match(COLONCOLON); - setState(2461); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2460); - typeArguments(); - } - } - - setState(2463); - match(Identifier); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2465); - match(SUPER); - setState(2466); - match(COLONCOLON); - setState(2468); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2467); - typeArguments(); - } - } - - setState(2470); - match(Identifier); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2471); - typeName(); - setState(2472); - match(DOT); - setState(2473); - match(SUPER); - setState(2474); - match(COLONCOLON); - setState(2476); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2475); - typeArguments(); - } - } - - setState(2478); - match(Identifier); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(2480); - classType(); - setState(2481); - match(COLONCOLON); - setState(2483); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2482); - typeArguments(); - } - } - - setState(2485); - match(NEW); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(2487); - arrayType(); - setState(2488); - match(COLONCOLON); - setState(2489); - match(NEW); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodReference_lf_primaryContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public MethodReference_lf_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodReference_lf_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference_lf_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference_lf_primary(this); - } - } - - public final MethodReference_lf_primaryContext methodReference_lf_primary() throws RecognitionException { - MethodReference_lf_primaryContext _localctx = new MethodReference_lf_primaryContext(_ctx, getState()); - enterRule(_localctx, 402, RULE_methodReference_lf_primary); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2493); - match(COLONCOLON); - setState(2495); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2494); - typeArguments(); - } - } - - setState(2497); - match(Identifier); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MethodReference_lfno_primaryContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public TypeArgumentsContext typeArguments() { - return getRuleContext(TypeArgumentsContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public TypeNameContext typeName() { - return getRuleContext(TypeNameContext.class,0); - } - public ClassTypeContext classType() { - return getRuleContext(ClassTypeContext.class,0); - } - public ArrayTypeContext arrayType() { - return getRuleContext(ArrayTypeContext.class,0); - } - public MethodReference_lfno_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_methodReference_lfno_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference_lfno_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference_lfno_primary(this); - } - } - - public final MethodReference_lfno_primaryContext methodReference_lfno_primary() throws RecognitionException { - MethodReference_lfno_primaryContext _localctx = new MethodReference_lfno_primaryContext(_ctx, getState()); - enterRule(_localctx, 404, RULE_methodReference_lfno_primary); - int _la; - try { - setState(2539); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,287,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2499); - expressionName(); - setState(2500); - match(COLONCOLON); - setState(2502); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2501); - typeArguments(); - } - } - - setState(2504); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2506); - referenceType(); - setState(2507); - match(COLONCOLON); - setState(2509); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2508); - typeArguments(); - } - } - - setState(2511); - match(Identifier); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2513); - match(SUPER); - setState(2514); - match(COLONCOLON); - setState(2516); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2515); - typeArguments(); - } - } - - setState(2518); - match(Identifier); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2519); - typeName(); - setState(2520); - match(DOT); - setState(2521); - match(SUPER); - setState(2522); - match(COLONCOLON); - setState(2524); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2523); - typeArguments(); - } - } - - setState(2526); - match(Identifier); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(2528); - classType(); - setState(2529); - match(COLONCOLON); - setState(2531); - _la = _input.LA(1); - if (_la==LT) { - { - setState(2530); - typeArguments(); - } - } - - setState(2533); - match(NEW); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(2535); - arrayType(); - setState(2536); - match(COLONCOLON); - setState(2537); - match(NEW); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ArrayCreationExpressionContext extends ParserRuleContext { - public PrimitiveTypeContext primitiveType() { - return getRuleContext(PrimitiveTypeContext.class,0); - } - public DimExprsContext dimExprs() { - return getRuleContext(DimExprsContext.class,0); - } - public DimsContext dims() { - return getRuleContext(DimsContext.class,0); - } - public ClassOrInterfaceTypeContext classOrInterfaceType() { - return getRuleContext(ClassOrInterfaceTypeContext.class,0); - } - public ArrayInitializerContext arrayInitializer() { - return getRuleContext(ArrayInitializerContext.class,0); - } - public ArrayCreationExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_arrayCreationExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayCreationExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayCreationExpression(this); - } - } - - public final ArrayCreationExpressionContext arrayCreationExpression() throws RecognitionException { - ArrayCreationExpressionContext _localctx = new ArrayCreationExpressionContext(_ctx, getState()); - enterRule(_localctx, 406, RULE_arrayCreationExpression); - try { - setState(2563); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2541); - match(NEW); - setState(2542); - primitiveType(); - setState(2543); - dimExprs(); - setState(2545); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,288,_ctx) ) { - case 1: - { - setState(2544); - dims(); - } - break; - } - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2547); - match(NEW); - setState(2548); - classOrInterfaceType(); - setState(2549); - dimExprs(); - setState(2551); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,289,_ctx) ) { - case 1: - { - setState(2550); - dims(); - } - break; - } - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2553); - match(NEW); - setState(2554); - primitiveType(); - setState(2555); - dims(); - setState(2556); - arrayInitializer(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2558); - match(NEW); - setState(2559); - classOrInterfaceType(); - setState(2560); - dims(); - setState(2561); - arrayInitializer(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DimExprsContext extends ParserRuleContext { - public List dimExpr() { - return getRuleContexts(DimExprContext.class); - } - public DimExprContext dimExpr(int i) { - return getRuleContext(DimExprContext.class,i); - } - public DimExprsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dimExprs; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDimExprs(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDimExprs(this); - } - } - - public final DimExprsContext dimExprs() throws RecognitionException { - DimExprsContext _localctx = new DimExprsContext(_ctx, getState()); - enterRule(_localctx, 408, RULE_dimExprs); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(2565); - dimExpr(); - setState(2569); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,291,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(2566); - dimExpr(); - } - } - } - setState(2571); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,291,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DimExprContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public List annotation() { - return getRuleContexts(AnnotationContext.class); - } - public AnnotationContext annotation(int i) { - return getRuleContext(AnnotationContext.class,i); - } - public DimExprContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dimExpr; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDimExpr(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDimExpr(this); - } - } - - public final DimExprContext dimExpr() throws RecognitionException { - DimExprContext _localctx = new DimExprContext(_ctx, getState()); - enterRule(_localctx, 410, RULE_dimExpr); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2575); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==AT) { - { - { - setState(2572); - annotation(); - } - } - setState(2577); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2578); - match(LBRACK); - setState(2579); - expression(); - setState(2580); - match(RBRACK); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConstantExpressionContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ConstantExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_constantExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantExpression(this); - } - } - - public final ConstantExpressionContext constantExpression() throws RecognitionException { - ConstantExpressionContext _localctx = new ConstantExpressionContext(_ctx, getState()); - enterRule(_localctx, 412, RULE_constantExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2582); - expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ExpressionContext extends ParserRuleContext { - public LambdaExpressionContext lambdaExpression() { - return getRuleContext(LambdaExpressionContext.class,0); - } - public AssignmentExpressionContext assignmentExpression() { - return getRuleContext(AssignmentExpressionContext.class,0); - } - public ExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpression(this); - } - } - - public final ExpressionContext expression() throws RecognitionException { - ExpressionContext _localctx = new ExpressionContext(_ctx, getState()); - enterRule(_localctx, 414, RULE_expression); - try { - setState(2586); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,293,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2584); - lambdaExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2585); - assignmentExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LambdaExpressionContext extends ParserRuleContext { - public LambdaParametersContext lambdaParameters() { - return getRuleContext(LambdaParametersContext.class,0); - } - public LambdaBodyContext lambdaBody() { - return getRuleContext(LambdaBodyContext.class,0); - } - public LambdaExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_lambdaExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaExpression(this); - } - } - - public final LambdaExpressionContext lambdaExpression() throws RecognitionException { - LambdaExpressionContext _localctx = new LambdaExpressionContext(_ctx, getState()); - enterRule(_localctx, 416, RULE_lambdaExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2588); - lambdaParameters(); - setState(2589); - match(ARROW); - setState(2590); - lambdaBody(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LambdaParametersContext extends ParserRuleContext { - public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } - public FormalParameterListContext formalParameterList() { - return getRuleContext(FormalParameterListContext.class,0); - } - public InferredFormalParameterListContext inferredFormalParameterList() { - return getRuleContext(InferredFormalParameterListContext.class,0); - } - public LambdaParametersContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_lambdaParameters; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaParameters(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaParameters(this); - } - } - - public final LambdaParametersContext lambdaParameters() throws RecognitionException { - LambdaParametersContext _localctx = new LambdaParametersContext(_ctx, getState()); - enterRule(_localctx, 418, RULE_lambdaParameters); - int _la; - try { - setState(2602); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2592); - match(Identifier); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2593); - match(LPAREN); - setState(2595); - _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { - { - setState(2594); - formalParameterList(); - } - } - - setState(2597); - match(RPAREN); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2598); - match(LPAREN); - setState(2599); - inferredFormalParameterList(); - setState(2600); - match(RPAREN); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class InferredFormalParameterListContext extends ParserRuleContext { - public List Identifier() { return getTokens(Java8Parser.Identifier); } - public TerminalNode Identifier(int i) { - return getToken(Java8Parser.Identifier, i); - } - public InferredFormalParameterListContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_inferredFormalParameterList; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInferredFormalParameterList(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInferredFormalParameterList(this); - } - } - - public final InferredFormalParameterListContext inferredFormalParameterList() throws RecognitionException { - InferredFormalParameterListContext _localctx = new InferredFormalParameterListContext(_ctx, getState()); - enterRule(_localctx, 420, RULE_inferredFormalParameterList); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2604); - match(Identifier); - setState(2609); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA) { - { - { - setState(2605); - match(COMMA); - setState(2606); - match(Identifier); - } - } - setState(2611); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LambdaBodyContext extends ParserRuleContext { - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public BlockContext block() { - return getRuleContext(BlockContext.class,0); - } - public LambdaBodyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_lambdaBody; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaBody(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaBody(this); - } - } - - public final LambdaBodyContext lambdaBody() throws RecognitionException { - LambdaBodyContext _localctx = new LambdaBodyContext(_ctx, getState()); - enterRule(_localctx, 422, RULE_lambdaBody); - try { - setState(2614); - switch (_input.LA(1)) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NEW: - case SHORT: - case SUPER: - case THIS: - case VOID: - case IntegerLiteral: - case FloatingPointLiteral: - case BooleanLiteral: - case CharacterLiteral: - case StringLiteral: - case NullLiteral: - case LPAREN: - case BANG: - case TILDE: - case INC: - case DEC: - case ADD: - case SUB: - case Identifier: - case AT: - enterOuterAlt(_localctx, 1); - { - setState(2612); - expression(); - } - break; - case LBRACE: - enterOuterAlt(_localctx, 2); - { - setState(2613); - block(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssignmentExpressionContext extends ParserRuleContext { - public ConditionalExpressionContext conditionalExpression() { - return getRuleContext(ConditionalExpressionContext.class,0); - } - public AssignmentContext assignment() { - return getRuleContext(AssignmentContext.class,0); - } - public AssignmentExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assignmentExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignmentExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignmentExpression(this); - } - } - - public final AssignmentExpressionContext assignmentExpression() throws RecognitionException { - AssignmentExpressionContext _localctx = new AssignmentExpressionContext(_ctx, getState()); - enterRule(_localctx, 424, RULE_assignmentExpression); - try { - setState(2618); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,298,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2616); - conditionalExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2617); - assignment(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssignmentContext extends ParserRuleContext { - public LeftHandSideContext leftHandSide() { - return getRuleContext(LeftHandSideContext.class,0); - } - public AssignmentOperatorContext assignmentOperator() { - return getRuleContext(AssignmentOperatorContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public AssignmentContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assignment; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignment(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignment(this); - } - } - - public final AssignmentContext assignment() throws RecognitionException { - AssignmentContext _localctx = new AssignmentContext(_ctx, getState()); - enterRule(_localctx, 426, RULE_assignment); - try { - enterOuterAlt(_localctx, 1); - { - setState(2620); - leftHandSide(); - setState(2621); - assignmentOperator(); - setState(2622); - expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LeftHandSideContext extends ParserRuleContext { - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public FieldAccessContext fieldAccess() { - return getRuleContext(FieldAccessContext.class,0); - } - public ArrayAccessContext arrayAccess() { - return getRuleContext(ArrayAccessContext.class,0); - } - public LeftHandSideContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_leftHandSide; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLeftHandSide(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLeftHandSide(this); - } - } - - public final LeftHandSideContext leftHandSide() throws RecognitionException { - LeftHandSideContext _localctx = new LeftHandSideContext(_ctx, getState()); - enterRule(_localctx, 428, RULE_leftHandSide); - try { - setState(2627); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,299,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2624); - expressionName(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2625); - fieldAccess(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2626); - arrayAccess(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssignmentOperatorContext extends ParserRuleContext { - public AssignmentOperatorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assignmentOperator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignmentOperator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignmentOperator(this); - } - } - - public final AssignmentOperatorContext assignmentOperator() throws RecognitionException { - AssignmentOperatorContext _localctx = new AssignmentOperatorContext(_ctx, getState()); - enterRule(_localctx, 430, RULE_assignmentOperator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(2629); - _la = _input.LA(1); - if ( !(((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (ASSIGN - 66)) | (1L << (ADD_ASSIGN - 66)) | (1L << (SUB_ASSIGN - 66)) | (1L << (MUL_ASSIGN - 66)) | (1L << (DIV_ASSIGN - 66)) | (1L << (AND_ASSIGN - 66)) | (1L << (OR_ASSIGN - 66)) | (1L << (XOR_ASSIGN - 66)) | (1L << (MOD_ASSIGN - 66)) | (1L << (LSHIFT_ASSIGN - 66)) | (1L << (RSHIFT_ASSIGN - 66)) | (1L << (URSHIFT_ASSIGN - 66)))) != 0)) ) { - _errHandler.recoverInline(this); - } else { - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConditionalExpressionContext extends ParserRuleContext { - public ConditionalOrExpressionContext conditionalOrExpression() { - return getRuleContext(ConditionalOrExpressionContext.class,0); - } - public ExpressionContext expression() { - return getRuleContext(ExpressionContext.class,0); - } - public ConditionalExpressionContext conditionalExpression() { - return getRuleContext(ConditionalExpressionContext.class,0); - } - public ConditionalExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditionalExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalExpression(this); - } - } - - public final ConditionalExpressionContext conditionalExpression() throws RecognitionException { - ConditionalExpressionContext _localctx = new ConditionalExpressionContext(_ctx, getState()); - enterRule(_localctx, 432, RULE_conditionalExpression); - try { - setState(2638); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2631); - conditionalOrExpression(0); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2632); - conditionalOrExpression(0); - setState(2633); - match(QUESTION); - setState(2634); - expression(); - setState(2635); - match(COLON); - setState(2636); - conditionalExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ConditionalOrExpressionContext extends ParserRuleContext { - public ConditionalAndExpressionContext conditionalAndExpression() { - return getRuleContext(ConditionalAndExpressionContext.class,0); - } - public ConditionalOrExpressionContext conditionalOrExpression() { - return getRuleContext(ConditionalOrExpressionContext.class,0); - } - public ConditionalOrExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditionalOrExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalOrExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalOrExpression(this); - } - } - - public final ConditionalOrExpressionContext conditionalOrExpression() throws RecognitionException { - return conditionalOrExpression(0); - } - - private ConditionalOrExpressionContext conditionalOrExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - ConditionalOrExpressionContext _localctx = new ConditionalOrExpressionContext(_ctx, _parentState); - ConditionalOrExpressionContext _prevctx = _localctx; - int _startState = 434; - enterRecursionRule(_localctx, 434, RULE_conditionalOrExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2641); - conditionalAndExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2648); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,301,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new ConditionalOrExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_conditionalOrExpression); - setState(2643); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2644); - match(OR); - setState(2645); - conditionalAndExpression(0); - } - } - } - setState(2650); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,301,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class ConditionalAndExpressionContext extends ParserRuleContext { - public InclusiveOrExpressionContext inclusiveOrExpression() { - return getRuleContext(InclusiveOrExpressionContext.class,0); - } - public ConditionalAndExpressionContext conditionalAndExpression() { - return getRuleContext(ConditionalAndExpressionContext.class,0); - } - public ConditionalAndExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditionalAndExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalAndExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalAndExpression(this); - } - } - - public final ConditionalAndExpressionContext conditionalAndExpression() throws RecognitionException { - return conditionalAndExpression(0); - } - - private ConditionalAndExpressionContext conditionalAndExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - ConditionalAndExpressionContext _localctx = new ConditionalAndExpressionContext(_ctx, _parentState); - ConditionalAndExpressionContext _prevctx = _localctx; - int _startState = 436; - enterRecursionRule(_localctx, 436, RULE_conditionalAndExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2652); - inclusiveOrExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2659); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,302,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new ConditionalAndExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_conditionalAndExpression); - setState(2654); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2655); - match(AND); - setState(2656); - inclusiveOrExpression(0); - } - } - } - setState(2661); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,302,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class InclusiveOrExpressionContext extends ParserRuleContext { - public ExclusiveOrExpressionContext exclusiveOrExpression() { - return getRuleContext(ExclusiveOrExpressionContext.class,0); - } - public InclusiveOrExpressionContext inclusiveOrExpression() { - return getRuleContext(InclusiveOrExpressionContext.class,0); - } - public InclusiveOrExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_inclusiveOrExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInclusiveOrExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInclusiveOrExpression(this); - } - } - - public final InclusiveOrExpressionContext inclusiveOrExpression() throws RecognitionException { - return inclusiveOrExpression(0); - } - - private InclusiveOrExpressionContext inclusiveOrExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - InclusiveOrExpressionContext _localctx = new InclusiveOrExpressionContext(_ctx, _parentState); - InclusiveOrExpressionContext _prevctx = _localctx; - int _startState = 438; - enterRecursionRule(_localctx, 438, RULE_inclusiveOrExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2663); - exclusiveOrExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2670); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,303,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new InclusiveOrExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_inclusiveOrExpression); - setState(2665); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2666); - match(BITOR); - setState(2667); - exclusiveOrExpression(0); - } - } - } - setState(2672); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,303,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class ExclusiveOrExpressionContext extends ParserRuleContext { - public AndExpressionContext andExpression() { - return getRuleContext(AndExpressionContext.class,0); - } - public ExclusiveOrExpressionContext exclusiveOrExpression() { - return getRuleContext(ExclusiveOrExpressionContext.class,0); - } - public ExclusiveOrExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_exclusiveOrExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExclusiveOrExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExclusiveOrExpression(this); - } - } - - public final ExclusiveOrExpressionContext exclusiveOrExpression() throws RecognitionException { - return exclusiveOrExpression(0); - } - - private ExclusiveOrExpressionContext exclusiveOrExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - ExclusiveOrExpressionContext _localctx = new ExclusiveOrExpressionContext(_ctx, _parentState); - ExclusiveOrExpressionContext _prevctx = _localctx; - int _startState = 440; - enterRecursionRule(_localctx, 440, RULE_exclusiveOrExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2674); - andExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2681); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,304,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new ExclusiveOrExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_exclusiveOrExpression); - setState(2676); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2677); - match(CARET); - setState(2678); - andExpression(0); - } - } - } - setState(2683); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,304,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class AndExpressionContext extends ParserRuleContext { - public EqualityExpressionContext equalityExpression() { - return getRuleContext(EqualityExpressionContext.class,0); - } - public AndExpressionContext andExpression() { - return getRuleContext(AndExpressionContext.class,0); - } - public AndExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_andExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAndExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAndExpression(this); - } - } - - public final AndExpressionContext andExpression() throws RecognitionException { - return andExpression(0); - } - - private AndExpressionContext andExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - AndExpressionContext _localctx = new AndExpressionContext(_ctx, _parentState); - AndExpressionContext _prevctx = _localctx; - int _startState = 442; - enterRecursionRule(_localctx, 442, RULE_andExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2685); - equalityExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2692); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,305,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - { - _localctx = new AndExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_andExpression); - setState(2687); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2688); - match(BITAND); - setState(2689); - equalityExpression(0); - } - } - } - setState(2694); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,305,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class EqualityExpressionContext extends ParserRuleContext { - public RelationalExpressionContext relationalExpression() { - return getRuleContext(RelationalExpressionContext.class,0); - } - public EqualityExpressionContext equalityExpression() { - return getRuleContext(EqualityExpressionContext.class,0); - } - public EqualityExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_equalityExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEqualityExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEqualityExpression(this); - } - } - - public final EqualityExpressionContext equalityExpression() throws RecognitionException { - return equalityExpression(0); - } - - private EqualityExpressionContext equalityExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - EqualityExpressionContext _localctx = new EqualityExpressionContext(_ctx, _parentState); - EqualityExpressionContext _prevctx = _localctx; - int _startState = 444; - enterRecursionRule(_localctx, 444, RULE_equalityExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2696); - relationalExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2706); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,307,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2704); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,306,_ctx) ) { - case 1: - { - _localctx = new EqualityExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); - setState(2698); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2699); - match(EQUAL); - setState(2700); - relationalExpression(0); - } - break; - case 2: - { - _localctx = new EqualityExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); - setState(2701); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2702); - match(NOTEQUAL); - setState(2703); - relationalExpression(0); - } - break; - } - } - } - setState(2708); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,307,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class RelationalExpressionContext extends ParserRuleContext { - public ShiftExpressionContext shiftExpression() { - return getRuleContext(ShiftExpressionContext.class,0); - } - public RelationalExpressionContext relationalExpression() { - return getRuleContext(RelationalExpressionContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public RelationalExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_relationalExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterRelationalExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitRelationalExpression(this); - } - } - - public final RelationalExpressionContext relationalExpression() throws RecognitionException { - return relationalExpression(0); - } - - private RelationalExpressionContext relationalExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - RelationalExpressionContext _localctx = new RelationalExpressionContext(_ctx, _parentState); - RelationalExpressionContext _prevctx = _localctx; - int _startState = 446; - enterRecursionRule(_localctx, 446, RULE_relationalExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2710); - shiftExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2729); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,309,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2727); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,308,_ctx) ) { - case 1: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2712); - if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); - setState(2713); - match(LT); - setState(2714); - shiftExpression(0); - } - break; - case 2: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2715); - if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); - setState(2716); - match(GT); - setState(2717); - shiftExpression(0); - } - break; - case 3: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2718); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2719); - match(LE); - setState(2720); - shiftExpression(0); - } - break; - case 4: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2721); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2722); - match(GE); - setState(2723); - shiftExpression(0); - } - break; - case 5: - { - _localctx = new RelationalExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2724); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2725); - match(INSTANCEOF); - setState(2726); - referenceType(); - } - break; - } - } - } - setState(2731); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,309,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class ShiftExpressionContext extends ParserRuleContext { - public AdditiveExpressionContext additiveExpression() { - return getRuleContext(AdditiveExpressionContext.class,0); - } - public ShiftExpressionContext shiftExpression() { - return getRuleContext(ShiftExpressionContext.class,0); - } - public ShiftExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_shiftExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterShiftExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitShiftExpression(this); - } - } - - public final ShiftExpressionContext shiftExpression() throws RecognitionException { - return shiftExpression(0); - } - - private ShiftExpressionContext shiftExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - ShiftExpressionContext _localctx = new ShiftExpressionContext(_ctx, _parentState); - ShiftExpressionContext _prevctx = _localctx; - int _startState = 448; - enterRecursionRule(_localctx, 448, RULE_shiftExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2733); - additiveExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2750); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,311,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2748); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,310,_ctx) ) { - case 1: - { - _localctx = new ShiftExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2735); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2736); - match(LT); - setState(2737); - match(LT); - setState(2738); - additiveExpression(0); - } - break; - case 2: - { - _localctx = new ShiftExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2739); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2740); - match(GT); - setState(2741); - match(GT); - setState(2742); - additiveExpression(0); - } - break; - case 3: - { - _localctx = new ShiftExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2743); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2744); - match(GT); - setState(2745); - match(GT); - setState(2746); - match(GT); - setState(2747); - additiveExpression(0); - } - break; - } - } - } - setState(2752); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,311,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class AdditiveExpressionContext extends ParserRuleContext { - public MultiplicativeExpressionContext multiplicativeExpression() { - return getRuleContext(MultiplicativeExpressionContext.class,0); - } - public AdditiveExpressionContext additiveExpression() { - return getRuleContext(AdditiveExpressionContext.class,0); - } - public AdditiveExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_additiveExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAdditiveExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAdditiveExpression(this); - } - } - - public final AdditiveExpressionContext additiveExpression() throws RecognitionException { - return additiveExpression(0); - } - - private AdditiveExpressionContext additiveExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - AdditiveExpressionContext _localctx = new AdditiveExpressionContext(_ctx, _parentState); - AdditiveExpressionContext _prevctx = _localctx; - int _startState = 450; - enterRecursionRule(_localctx, 450, RULE_additiveExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2754); - multiplicativeExpression(0); - } - _ctx.stop = _input.LT(-1); - setState(2764); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,313,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2762); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,312,_ctx) ) { - case 1: - { - _localctx = new AdditiveExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); - setState(2756); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2757); - match(ADD); - setState(2758); - multiplicativeExpression(0); - } - break; - case 2: - { - _localctx = new AdditiveExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); - setState(2759); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2760); - match(SUB); - setState(2761); - multiplicativeExpression(0); - } - break; - } - } - } - setState(2766); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,313,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class MultiplicativeExpressionContext extends ParserRuleContext { - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public MultiplicativeExpressionContext multiplicativeExpression() { - return getRuleContext(MultiplicativeExpressionContext.class,0); - } - public MultiplicativeExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_multiplicativeExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMultiplicativeExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMultiplicativeExpression(this); - } - } - - public final MultiplicativeExpressionContext multiplicativeExpression() throws RecognitionException { - return multiplicativeExpression(0); - } - - private MultiplicativeExpressionContext multiplicativeExpression(int _p) throws RecognitionException { - ParserRuleContext _parentctx = _ctx; - int _parentState = getState(); - MultiplicativeExpressionContext _localctx = new MultiplicativeExpressionContext(_ctx, _parentState); - MultiplicativeExpressionContext _prevctx = _localctx; - int _startState = 452; - enterRecursionRule(_localctx, 452, RULE_multiplicativeExpression, _p); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - { - setState(2768); - unaryExpression(); - } - _ctx.stop = _input.LT(-1); - setState(2781); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,315,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - if ( _parseListeners!=null ) triggerExitRuleEvent(); - _prevctx = _localctx; - { - setState(2779); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,314,_ctx) ) { - case 1: - { - _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2770); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2771); - match(MUL); - setState(2772); - unaryExpression(); - } - break; - case 2: - { - _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2773); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2774); - match(DIV); - setState(2775); - unaryExpression(); - } - break; - case 3: - { - _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); - pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2776); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2777); - match(MOD); - setState(2778); - unaryExpression(); - } - break; - } - } - } - setState(2783); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,315,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - unrollRecursionContexts(_parentctx); - } - return _localctx; - } - - public static class UnaryExpressionContext extends ParserRuleContext { - public PreIncrementExpressionContext preIncrementExpression() { - return getRuleContext(PreIncrementExpressionContext.class,0); - } - public PreDecrementExpressionContext preDecrementExpression() { - return getRuleContext(PreDecrementExpressionContext.class,0); - } - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() { - return getRuleContext(UnaryExpressionNotPlusMinusContext.class,0); - } - public UnaryExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unaryExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnaryExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnaryExpression(this); - } - } - - public final UnaryExpressionContext unaryExpression() throws RecognitionException { - UnaryExpressionContext _localctx = new UnaryExpressionContext(_ctx, getState()); - enterRule(_localctx, 454, RULE_unaryExpression); - try { - setState(2791); - switch (_input.LA(1)) { - case INC: - enterOuterAlt(_localctx, 1); - { - setState(2784); - preIncrementExpression(); - } - break; - case DEC: - enterOuterAlt(_localctx, 2); - { - setState(2785); - preDecrementExpression(); - } - break; - case ADD: - enterOuterAlt(_localctx, 3); - { - setState(2786); - match(ADD); - setState(2787); - unaryExpression(); - } - break; - case SUB: - enterOuterAlt(_localctx, 4); - { - setState(2788); - match(SUB); - setState(2789); - unaryExpression(); - } - break; - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NEW: - case SHORT: - case SUPER: - case THIS: - case VOID: - case IntegerLiteral: - case FloatingPointLiteral: - case BooleanLiteral: - case CharacterLiteral: - case StringLiteral: - case NullLiteral: - case LPAREN: - case BANG: - case TILDE: - case Identifier: - case AT: - enterOuterAlt(_localctx, 5); - { - setState(2790); - unaryExpressionNotPlusMinus(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PreIncrementExpressionContext extends ParserRuleContext { - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public PreIncrementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_preIncrementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPreIncrementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPreIncrementExpression(this); - } - } - - public final PreIncrementExpressionContext preIncrementExpression() throws RecognitionException { - PreIncrementExpressionContext _localctx = new PreIncrementExpressionContext(_ctx, getState()); - enterRule(_localctx, 456, RULE_preIncrementExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2793); - match(INC); - setState(2794); - unaryExpression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PreDecrementExpressionContext extends ParserRuleContext { - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public PreDecrementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_preDecrementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPreDecrementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPreDecrementExpression(this); - } - } - - public final PreDecrementExpressionContext preDecrementExpression() throws RecognitionException { - PreDecrementExpressionContext _localctx = new PreDecrementExpressionContext(_ctx, getState()); - enterRule(_localctx, 458, RULE_preDecrementExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2796); - match(DEC); - setState(2797); - unaryExpression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class UnaryExpressionNotPlusMinusContext extends ParserRuleContext { - public PostfixExpressionContext postfixExpression() { - return getRuleContext(PostfixExpressionContext.class,0); - } - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public CastExpressionContext castExpression() { - return getRuleContext(CastExpressionContext.class,0); - } - public UnaryExpressionNotPlusMinusContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_unaryExpressionNotPlusMinus; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnaryExpressionNotPlusMinus(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnaryExpressionNotPlusMinus(this); - } - } - - public final UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() throws RecognitionException { - UnaryExpressionNotPlusMinusContext _localctx = new UnaryExpressionNotPlusMinusContext(_ctx, getState()); - enterRule(_localctx, 460, RULE_unaryExpressionNotPlusMinus); - try { - setState(2805); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,317,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2799); - postfixExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2800); - match(TILDE); - setState(2801); - unaryExpression(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2802); - match(BANG); - setState(2803); - unaryExpression(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(2804); - castExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostfixExpressionContext extends ParserRuleContext { - public PrimaryContext primary() { - return getRuleContext(PrimaryContext.class,0); - } - public ExpressionNameContext expressionName() { - return getRuleContext(ExpressionNameContext.class,0); - } - public List postIncrementExpression_lf_postfixExpression() { - return getRuleContexts(PostIncrementExpression_lf_postfixExpressionContext.class); - } - public PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression(int i) { - return getRuleContext(PostIncrementExpression_lf_postfixExpressionContext.class,i); - } - public List postDecrementExpression_lf_postfixExpression() { - return getRuleContexts(PostDecrementExpression_lf_postfixExpressionContext.class); - } - public PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression(int i) { - return getRuleContext(PostDecrementExpression_lf_postfixExpressionContext.class,i); - } - public PostfixExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postfixExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostfixExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostfixExpression(this); - } - } - - public final PostfixExpressionContext postfixExpression() throws RecognitionException { - PostfixExpressionContext _localctx = new PostfixExpressionContext(_ctx, getState()); - enterRule(_localctx, 462, RULE_postfixExpression); - try { - int _alt; - enterOuterAlt(_localctx, 1); - { - setState(2809); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,318,_ctx) ) { - case 1: - { - setState(2807); - primary(); - } - break; - case 2: - { - setState(2808); - expressionName(); - } - break; - } - setState(2815); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,320,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - setState(2813); - switch (_input.LA(1)) { - case INC: - { - setState(2811); - postIncrementExpression_lf_postfixExpression(); - } - break; - case DEC: - { - setState(2812); - postDecrementExpression_lf_postfixExpression(); - } - break; - default: - throw new NoViableAltException(this); - } - } - } - setState(2817); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,320,_ctx); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostIncrementExpressionContext extends ParserRuleContext { - public PostfixExpressionContext postfixExpression() { - return getRuleContext(PostfixExpressionContext.class,0); - } - public PostIncrementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postIncrementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostIncrementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostIncrementExpression(this); - } - } - - public final PostIncrementExpressionContext postIncrementExpression() throws RecognitionException { - PostIncrementExpressionContext _localctx = new PostIncrementExpressionContext(_ctx, getState()); - enterRule(_localctx, 464, RULE_postIncrementExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2818); - postfixExpression(); - setState(2819); - match(INC); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostIncrementExpression_lf_postfixExpressionContext extends ParserRuleContext { - public PostIncrementExpression_lf_postfixExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postIncrementExpression_lf_postfixExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostIncrementExpression_lf_postfixExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostIncrementExpression_lf_postfixExpression(this); - } - } - - public final PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression() throws RecognitionException { - PostIncrementExpression_lf_postfixExpressionContext _localctx = new PostIncrementExpression_lf_postfixExpressionContext(_ctx, getState()); - enterRule(_localctx, 466, RULE_postIncrementExpression_lf_postfixExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2821); - match(INC); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostDecrementExpressionContext extends ParserRuleContext { - public PostfixExpressionContext postfixExpression() { - return getRuleContext(PostfixExpressionContext.class,0); - } - public PostDecrementExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postDecrementExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostDecrementExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostDecrementExpression(this); - } - } - - public final PostDecrementExpressionContext postDecrementExpression() throws RecognitionException { - PostDecrementExpressionContext _localctx = new PostDecrementExpressionContext(_ctx, getState()); - enterRule(_localctx, 468, RULE_postDecrementExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2823); - postfixExpression(); - setState(2824); - match(DEC); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PostDecrementExpression_lf_postfixExpressionContext extends ParserRuleContext { - public PostDecrementExpression_lf_postfixExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_postDecrementExpression_lf_postfixExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostDecrementExpression_lf_postfixExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostDecrementExpression_lf_postfixExpression(this); - } - } - - public final PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression() throws RecognitionException { - PostDecrementExpression_lf_postfixExpressionContext _localctx = new PostDecrementExpression_lf_postfixExpressionContext(_ctx, getState()); - enterRule(_localctx, 470, RULE_postDecrementExpression_lf_postfixExpression); - try { - enterOuterAlt(_localctx, 1); - { - setState(2826); - match(DEC); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CastExpressionContext extends ParserRuleContext { - public PrimitiveTypeContext primitiveType() { - return getRuleContext(PrimitiveTypeContext.class,0); - } - public UnaryExpressionContext unaryExpression() { - return getRuleContext(UnaryExpressionContext.class,0); - } - public ReferenceTypeContext referenceType() { - return getRuleContext(ReferenceTypeContext.class,0); - } - public UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() { - return getRuleContext(UnaryExpressionNotPlusMinusContext.class,0); - } - public List additionalBound() { - return getRuleContexts(AdditionalBoundContext.class); - } - public AdditionalBoundContext additionalBound(int i) { - return getRuleContext(AdditionalBoundContext.class,i); - } - public LambdaExpressionContext lambdaExpression() { - return getRuleContext(LambdaExpressionContext.class,0); - } - public CastExpressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_castExpression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCastExpression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCastExpression(this); - } - } - - public final CastExpressionContext castExpression() throws RecognitionException { - CastExpressionContext _localctx = new CastExpressionContext(_ctx, getState()); - enterRule(_localctx, 472, RULE_castExpression); - int _la; - try { - setState(2855); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,323,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(2828); - match(LPAREN); - setState(2829); - primitiveType(); - setState(2830); - match(RPAREN); - setState(2831); - unaryExpression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(2833); - match(LPAREN); - setState(2834); - referenceType(); - setState(2838); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==BITAND) { - { - { - setState(2835); - additionalBound(); - } - } - setState(2840); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2841); - match(RPAREN); - setState(2842); - unaryExpressionNotPlusMinus(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(2844); - match(LPAREN); - setState(2845); - referenceType(); - setState(2849); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==BITAND) { - { - { - setState(2846); - additionalBound(); - } - } - setState(2851); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(2852); - match(RPAREN); - setState(2853); - lambdaExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { - switch (ruleIndex) { - case 26: - return packageName_sempred((PackageNameContext)_localctx, predIndex); - case 28: - return packageOrTypeName_sempred((PackageOrTypeNameContext)_localctx, predIndex); - case 31: - return ambiguousName_sempred((AmbiguousNameContext)_localctx, predIndex); - case 217: - return conditionalOrExpression_sempred((ConditionalOrExpressionContext)_localctx, predIndex); - case 218: - return conditionalAndExpression_sempred((ConditionalAndExpressionContext)_localctx, predIndex); - case 219: - return inclusiveOrExpression_sempred((InclusiveOrExpressionContext)_localctx, predIndex); - case 220: - return exclusiveOrExpression_sempred((ExclusiveOrExpressionContext)_localctx, predIndex); - case 221: - return andExpression_sempred((AndExpressionContext)_localctx, predIndex); - case 222: - return equalityExpression_sempred((EqualityExpressionContext)_localctx, predIndex); - case 223: - return relationalExpression_sempred((RelationalExpressionContext)_localctx, predIndex); - case 224: - return shiftExpression_sempred((ShiftExpressionContext)_localctx, predIndex); - case 225: - return additiveExpression_sempred((AdditiveExpressionContext)_localctx, predIndex); - case 226: - return multiplicativeExpression_sempred((MultiplicativeExpressionContext)_localctx, predIndex); - } - return true; - } - private boolean packageName_sempred(PackageNameContext _localctx, int predIndex) { - switch (predIndex) { - case 0: - return precpred(_ctx, 1); - } - return true; - } - private boolean packageOrTypeName_sempred(PackageOrTypeNameContext _localctx, int predIndex) { - switch (predIndex) { - case 1: - return precpred(_ctx, 1); - } - return true; - } - private boolean ambiguousName_sempred(AmbiguousNameContext _localctx, int predIndex) { - switch (predIndex) { - case 2: - return precpred(_ctx, 1); - } - return true; - } - private boolean conditionalOrExpression_sempred(ConditionalOrExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 3: - return precpred(_ctx, 1); - } - return true; - } - private boolean conditionalAndExpression_sempred(ConditionalAndExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 4: - return precpred(_ctx, 1); - } - return true; - } - private boolean inclusiveOrExpression_sempred(InclusiveOrExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 5: - return precpred(_ctx, 1); - } - return true; - } - private boolean exclusiveOrExpression_sempred(ExclusiveOrExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 6: - return precpred(_ctx, 1); - } - return true; - } - private boolean andExpression_sempred(AndExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 7: - return precpred(_ctx, 1); - } - return true; - } - private boolean equalityExpression_sempred(EqualityExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 8: - return precpred(_ctx, 2); - case 9: - return precpred(_ctx, 1); - } - return true; - } - private boolean relationalExpression_sempred(RelationalExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 10: - return precpred(_ctx, 5); - case 11: - return precpred(_ctx, 4); - case 12: - return precpred(_ctx, 3); - case 13: - return precpred(_ctx, 2); - case 14: - return precpred(_ctx, 1); - } - return true; - } - private boolean shiftExpression_sempred(ShiftExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 15: - return precpred(_ctx, 3); - case 16: - return precpred(_ctx, 2); - case 17: - return precpred(_ctx, 1); - } - return true; - } - private boolean additiveExpression_sempred(AdditiveExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 18: - return precpred(_ctx, 2); - case 19: - return precpred(_ctx, 1); - } - return true; - } - private boolean multiplicativeExpression_sempred(MultiplicativeExpressionContext _localctx, int predIndex) { - switch (predIndex) { - case 20: - return precpred(_ctx, 3); - case 21: - return precpred(_ctx, 2); - case 22: - return precpred(_ctx, 1); - } - return true; - } - - private static final int _serializedATNSegments = 2; - private static final String _serializedATNSegment0 = - "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3m\u0b2c\4\2\t\2\4"+ - "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ - "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+ - "w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+ - "\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+ - "\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+ - "\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+ - "\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+ - "\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095\4\u0096\t\u0096\4\u0097"+ - "\t\u0097\4\u0098\t\u0098\4\u0099\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b"+ - "\4\u009c\t\u009c\4\u009d\t\u009d\4\u009e\t\u009e\4\u009f\t\u009f\4\u00a0"+ - "\t\u00a0\4\u00a1\t\u00a1\4\u00a2\t\u00a2\4\u00a3\t\u00a3\4\u00a4\t\u00a4"+ - "\4\u00a5\t\u00a5\4\u00a6\t\u00a6\4\u00a7\t\u00a7\4\u00a8\t\u00a8\4\u00a9"+ - "\t\u00a9\4\u00aa\t\u00aa\4\u00ab\t\u00ab\4\u00ac\t\u00ac\4\u00ad\t\u00ad"+ - "\4\u00ae\t\u00ae\4\u00af\t\u00af\4\u00b0\t\u00b0\4\u00b1\t\u00b1\4\u00b2"+ - "\t\u00b2\4\u00b3\t\u00b3\4\u00b4\t\u00b4\4\u00b5\t\u00b5\4\u00b6\t\u00b6"+ - "\4\u00b7\t\u00b7\4\u00b8\t\u00b8\4\u00b9\t\u00b9\4\u00ba\t\u00ba\4\u00bb"+ - "\t\u00bb\4\u00bc\t\u00bc\4\u00bd\t\u00bd\4\u00be\t\u00be\4\u00bf\t\u00bf"+ - "\4\u00c0\t\u00c0\4\u00c1\t\u00c1\4\u00c2\t\u00c2\4\u00c3\t\u00c3\4\u00c4"+ - "\t\u00c4\4\u00c5\t\u00c5\4\u00c6\t\u00c6\4\u00c7\t\u00c7\4\u00c8\t\u00c8"+ - "\4\u00c9\t\u00c9\4\u00ca\t\u00ca\4\u00cb\t\u00cb\4\u00cc\t\u00cc\4\u00cd"+ - "\t\u00cd\4\u00ce\t\u00ce\4\u00cf\t\u00cf\4\u00d0\t\u00d0\4\u00d1\t\u00d1"+ - "\4\u00d2\t\u00d2\4\u00d3\t\u00d3\4\u00d4\t\u00d4\4\u00d5\t\u00d5\4\u00d6"+ - "\t\u00d6\4\u00d7\t\u00d7\4\u00d8\t\u00d8\4\u00d9\t\u00d9\4\u00da\t\u00da"+ - "\4\u00db\t\u00db\4\u00dc\t\u00dc\4\u00dd\t\u00dd\4\u00de\t\u00de\4\u00df"+ - "\t\u00df\4\u00e0\t\u00e0\4\u00e1\t\u00e1\4\u00e2\t\u00e2\4\u00e3\t\u00e3"+ - "\4\u00e4\t\u00e4\4\u00e5\t\u00e5\4\u00e6\t\u00e6\4\u00e7\t\u00e7\4\u00e8"+ - "\t\u00e8\4\u00e9\t\u00e9\4\u00ea\t\u00ea\4\u00eb\t\u00eb\4\u00ec\t\u00ec"+ - "\4\u00ed\t\u00ed\4\u00ee\t\u00ee\3\2\3\2\3\3\3\3\5\3\u01e1\n\3\3\4\7\4"+ - "\u01e4\n\4\f\4\16\4\u01e7\13\4\3\4\3\4\7\4\u01eb\n\4\f\4\16\4\u01ee\13"+ - "\4\3\4\5\4\u01f1\n\4\3\5\3\5\5\5\u01f5\n\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b"+ - "\5\b\u01fe\n\b\3\t\3\t\5\t\u0202\n\t\3\t\3\t\7\t\u0206\n\t\f\t\16\t\u0209"+ - "\13\t\3\n\7\n\u020c\n\n\f\n\16\n\u020f\13\n\3\n\3\n\5\n\u0213\n\n\3\n"+ - "\3\n\3\n\7\n\u0218\n\n\f\n\16\n\u021b\13\n\3\n\3\n\5\n\u021f\n\n\5\n\u0221"+ - "\n\n\3\13\3\13\7\13\u0225\n\13\f\13\16\13\u0228\13\13\3\13\3\13\5\13\u022c"+ - "\n\13\3\f\7\f\u022f\n\f\f\f\16\f\u0232\13\f\3\f\3\f\5\f\u0236\n\f\3\r"+ - "\3\r\3\16\3\16\3\17\3\17\3\20\7\20\u023f\n\20\f\20\16\20\u0242\13\20\3"+ - "\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u024f\n\21"+ - "\3\22\7\22\u0252\n\22\f\22\16\22\u0255\13\22\3\22\3\22\3\22\7\22\u025a"+ - "\n\22\f\22\16\22\u025d\13\22\3\22\3\22\7\22\u0261\n\22\f\22\16\22\u0264"+ - "\13\22\3\23\7\23\u0267\n\23\f\23\16\23\u026a\13\23\3\23\3\23\5\23\u026e"+ - "\n\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\7\25\u0277\n\25\f\25\16\25\u027a"+ - "\13\25\5\25\u027c\n\25\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3"+ - "\30\7\30\u0288\n\30\f\30\16\30\u028b\13\30\3\31\3\31\5\31\u028f\n\31\3"+ - "\32\7\32\u0292\n\32\f\32\16\32\u0295\13\32\3\32\3\32\5\32\u0299\n\32\3"+ - "\33\3\33\3\33\3\33\5\33\u029f\n\33\3\34\3\34\3\34\3\34\3\34\3\34\7\34"+ - "\u02a7\n\34\f\34\16\34\u02aa\13\34\3\35\3\35\3\35\3\35\3\35\5\35\u02b1"+ - "\n\35\3\36\3\36\3\36\3\36\3\36\3\36\7\36\u02b9\n\36\f\36\16\36\u02bc\13"+ - "\36\3\37\3\37\3\37\3\37\3\37\5\37\u02c3\n\37\3 \3 \3!\3!\3!\3!\3!\3!\7"+ - "!\u02cd\n!\f!\16!\u02d0\13!\3\"\5\"\u02d3\n\"\3\"\7\"\u02d6\n\"\f\"\16"+ - "\"\u02d9\13\"\3\"\7\"\u02dc\n\"\f\"\16\"\u02df\13\"\3\"\3\"\3#\7#\u02e4"+ - "\n#\f#\16#\u02e7\13#\3#\3#\3#\3#\7#\u02ed\n#\f#\16#\u02f0\13#\3#\3#\3"+ - "$\3$\3%\3%\3%\3%\5%\u02fa\n%\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3(\3"+ - "(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)\3*\3*\3*\5*\u0317\n*\3+\3+\5+\u031b"+ - "\n+\3,\7,\u031e\n,\f,\16,\u0321\13,\3,\3,\3,\5,\u0326\n,\3,\5,\u0329\n"+ - ",\3,\5,\u032c\n,\3,\3,\3-\3-\3-\3-\3-\3-\3-\3-\5-\u0338\n-\3.\3.\3.\3"+ - ".\3/\3/\3/\7/\u0341\n/\f/\16/\u0344\13/\3\60\3\60\3\60\3\61\3\61\3\61"+ - "\3\62\3\62\3\62\7\62\u034f\n\62\f\62\16\62\u0352\13\62\3\63\3\63\7\63"+ - "\u0356\n\63\f\63\16\63\u0359\13\63\3\63\3\63\3\64\3\64\3\64\3\64\5\64"+ - "\u0361\n\64\3\65\3\65\3\65\3\65\3\65\5\65\u0368\n\65\3\66\7\66\u036b\n"+ - "\66\f\66\16\66\u036e\13\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67"+ - "\3\67\3\67\3\67\5\67\u037c\n\67\38\38\38\78\u0381\n8\f8\168\u0384\138"+ - "\39\39\39\59\u0389\n9\3:\3:\5:\u038d\n:\3;\3;\5;\u0391\n;\3<\3<\5<\u0395"+ - "\n<\3=\3=\5=\u0399\n=\3>\3>\3>\5>\u039e\n>\3?\3?\5?\u03a2\n?\3?\3?\7?"+ - "\u03a6\n?\f?\16?\u03a9\13?\3@\3@\5@\u03ad\n@\3@\3@\3@\7@\u03b2\n@\f@\16"+ - "@\u03b5\13@\3@\3@\5@\u03b9\n@\5@\u03bb\n@\3A\3A\7A\u03bf\nA\fA\16A\u03c2"+ - "\13A\3A\3A\5A\u03c6\nA\3B\3B\5B\u03ca\nB\3C\3C\3D\3D\3E\3E\3F\3F\3G\3"+ - "G\3G\3G\3G\3G\3G\3G\3G\5G\u03dd\nG\3H\7H\u03e0\nH\fH\16H\u03e3\13H\3H"+ - "\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\5I\u03f2\nI\3J\3J\3J\5J\u03f7\nJ"+ - "\3J\3J\7J\u03fb\nJ\fJ\16J\u03fe\13J\3J\3J\3J\5J\u0403\nJ\5J\u0405\nJ\3"+ - "K\3K\5K\u0409\nK\3L\3L\3L\5L\u040e\nL\3L\3L\5L\u0412\nL\3M\3M\3M\3M\3"+ - "M\5M\u0419\nM\3N\3N\3N\7N\u041e\nN\fN\16N\u0421\13N\3N\3N\3N\7N\u0426"+ - "\nN\fN\16N\u0429\13N\5N\u042b\nN\3O\7O\u042e\nO\fO\16O\u0431\13O\3O\3"+ - "O\3O\3P\3P\5P\u0438\nP\3Q\7Q\u043b\nQ\fQ\16Q\u043e\13Q\3Q\3Q\7Q\u0442"+ - "\nQ\fQ\16Q\u0445\13Q\3Q\3Q\3Q\3Q\5Q\u044b\nQ\3R\7R\u044e\nR\fR\16R\u0451"+ - "\13R\3R\3R\3R\5R\u0456\nR\3R\3R\3S\3S\3S\3T\3T\3T\7T\u0460\nT\fT\16T\u0463"+ - "\13T\3U\3U\5U\u0467\nU\3V\3V\5V\u046b\nV\3W\3W\3X\3X\3X\3Y\7Y\u0473\n"+ - "Y\fY\16Y\u0476\13Y\3Y\3Y\5Y\u047a\nY\3Y\3Y\3Z\3Z\3Z\3Z\5Z\u0482\nZ\3["+ - "\5[\u0485\n[\3[\3[\3[\5[\u048a\n[\3[\3[\3\\\3\\\3]\3]\5]\u0492\n]\3]\5"+ - "]\u0495\n]\3]\3]\3^\5^\u049a\n^\3^\3^\3^\5^\u049f\n^\3^\3^\3^\5^\u04a4"+ - "\n^\3^\3^\3^\5^\u04a9\n^\3^\3^\3^\3^\3^\5^\u04b0\n^\3^\3^\3^\5^\u04b5"+ - "\n^\3^\3^\3^\3^\3^\3^\5^\u04bd\n^\3^\3^\3^\5^\u04c2\n^\3^\3^\3^\5^\u04c7"+ - "\n^\3_\7_\u04ca\n_\f_\16_\u04cd\13_\3_\3_\3_\5_\u04d2\n_\3_\3_\3`\3`\5"+ - "`\u04d8\n`\3`\5`\u04db\n`\3`\5`\u04de\n`\3`\3`\3a\3a\3a\7a\u04e5\na\f"+ - "a\16a\u04e8\13a\3b\7b\u04eb\nb\fb\16b\u04ee\13b\3b\3b\3b\5b\u04f3\nb\3"+ - "b\5b\u04f6\nb\3b\5b\u04f9\nb\3c\3c\3d\3d\7d\u04ff\nd\fd\16d\u0502\13d"+ - "\3e\3e\5e\u0506\ne\3f\7f\u0509\nf\ff\16f\u050c\13f\3f\3f\3f\5f\u0511\n"+ - "f\3f\5f\u0514\nf\3f\3f\3g\3g\3g\3g\3g\3g\3g\5g\u051f\ng\3h\3h\3h\3i\3"+ - "i\7i\u0526\ni\fi\16i\u0529\13i\3i\3i\3j\3j\3j\3j\3j\5j\u0532\nj\3k\7k"+ - "\u0535\nk\fk\16k\u0538\13k\3k\3k\3k\3k\3l\3l\3l\3l\5l\u0542\nl\3m\7m\u0545"+ - "\nm\fm\16m\u0548\13m\3m\3m\3m\3n\3n\3n\3n\3n\3n\5n\u0553\nn\3o\7o\u0556"+ - "\no\fo\16o\u0559\13o\3o\3o\3o\3o\3o\3p\3p\7p\u0562\np\fp\16p\u0565\13"+ - "p\3p\3p\3q\3q\3q\3q\3q\5q\u056e\nq\3r\7r\u0571\nr\fr\16r\u0574\13r\3r"+ - "\3r\3r\3r\3r\5r\u057b\nr\3r\5r\u057e\nr\3r\3r\3s\3s\3s\5s\u0585\ns\3t"+ - "\3t\3t\3u\3u\3u\5u\u058d\nu\3v\3v\3v\3v\5v\u0593\nv\3v\3v\3w\3w\3w\7w"+ - "\u059a\nw\fw\16w\u059d\13w\3x\3x\3x\3x\3y\3y\3y\5y\u05a6\ny\3z\3z\5z\u05aa"+ - "\nz\3z\5z\u05ad\nz\3z\3z\3{\3{\3{\7{\u05b4\n{\f{\16{\u05b7\13{\3|\3|\3"+ - "|\3}\3}\3}\3}\3}\3}\3~\3~\5~\u05c4\n~\3~\5~\u05c7\n~\3~\3~\3\177\3\177"+ - "\3\177\7\177\u05ce\n\177\f\177\16\177\u05d1\13\177\3\u0080\3\u0080\5\u0080"+ - "\u05d5\n\u0080\3\u0080\3\u0080\3\u0081\3\u0081\7\u0081\u05db\n\u0081\f"+ - "\u0081\16\u0081\u05de\13\u0081\3\u0082\3\u0082\3\u0082\5\u0082\u05e3\n"+ - "\u0082\3\u0083\3\u0083\3\u0083\3\u0084\7\u0084\u05e9\n\u0084\f\u0084\16"+ - "\u0084\u05ec\13\u0084\3\u0084\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085"+ - "\3\u0085\3\u0085\3\u0085\5\u0085\u05f7\n\u0085\3\u0086\3\u0086\3\u0086"+ - "\3\u0086\3\u0086\5\u0086\u05fe\n\u0086\3\u0087\3\u0087\3\u0087\3\u0087"+ - "\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\5\u0087"+ - "\u060c\n\u0087\3\u0088\3\u0088\3\u0089\3\u0089\3\u0089\3\u0089\3\u008a"+ - "\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008c\3\u008c\3\u008c"+ - "\3\u008c\3\u008c\3\u008c\3\u008c\5\u008c\u0622\n\u008c\3\u008d\3\u008d"+ - "\3\u008d\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e"+ - "\3\u008e\3\u008e\3\u008e\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f"+ - "\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090"+ - "\3\u0090\3\u0090\3\u0090\5\u0090\u0644\n\u0090\3\u0091\3\u0091\3\u0091"+ - "\3\u0091\3\u0091\3\u0091\3\u0092\3\u0092\7\u0092\u064e\n\u0092\f\u0092"+ - "\16\u0092\u0651\13\u0092\3\u0092\7\u0092\u0654\n\u0092\f\u0092\16\u0092"+ - "\u0657\13\u0092\3\u0092\3\u0092\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094"+ - "\7\u0094\u0660\n\u0094\f\u0094\16\u0094\u0663\13\u0094\3\u0095\3\u0095"+ - "\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\5\u0095"+ - "\u066f\n\u0095\3\u0096\3\u0096\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097"+ - "\3\u0097\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098\3\u0099\3\u0099"+ - "\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u009a\3\u009a\5\u009a"+ - "\u0689\n\u009a\3\u009b\3\u009b\5\u009b\u068d\n\u009b\3\u009c\3\u009c\3"+ - "\u009c\5\u009c\u0692\n\u009c\3\u009c\3\u009c\5\u009c\u0696\n\u009c\3\u009c"+ - "\3\u009c\5\u009c\u069a\n\u009c\3\u009c\3\u009c\3\u009c\3\u009d\3\u009d"+ - "\3\u009d\5\u009d\u06a2\n\u009d\3\u009d\3\u009d\5\u009d\u06a6\n\u009d\3"+ - "\u009d\3\u009d\5\u009d\u06aa\n\u009d\3\u009d\3\u009d\3\u009d\3\u009e\3"+ - "\u009e\5\u009e\u06b1\n\u009e\3\u009f\3\u009f\3\u00a0\3\u00a0\3\u00a0\7"+ - "\u00a0\u06b8\n\u00a0\f\u00a0\16\u00a0\u06bb\13\u00a0\3\u00a1\3\u00a1\3"+ - "\u00a1\7\u00a1\u06c0\n\u00a1\f\u00a1\16\u00a1\u06c3\13\u00a1\3\u00a1\3"+ - "\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a2"+ - "\7\u00a2\u06cf\n\u00a2\f\u00a2\16\u00a2\u06d2\13\u00a2\3\u00a2\3\u00a2"+ - "\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a3\3\u00a3\5\u00a3\u06dd"+ - "\n\u00a3\3\u00a3\3\u00a3\3\u00a4\3\u00a4\5\u00a4\u06e3\n\u00a4\3\u00a4"+ - "\3\u00a4\3\u00a5\3\u00a5\5\u00a5\u06e9\n\u00a5\3\u00a5\3\u00a5\3\u00a6"+ - "\3\u00a6\3\u00a6\3\u00a6\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7"+ - "\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u06fe"+ - "\n\u00a8\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u0703\n\u00a8\3\u00a9\3\u00a9"+ - "\7\u00a9\u0707\n\u00a9\f\u00a9\16\u00a9\u070a\13\u00a9\3\u00aa\3\u00aa"+ - "\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00ab\7\u00ab\u0713\n\u00ab\f\u00ab"+ - "\16\u00ab\u0716\13\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ac\3\u00ac\3\u00ac"+ - "\7\u00ac\u071e\n\u00ac\f\u00ac\16\u00ac\u0721\13\u00ac\3\u00ad\3\u00ad"+ - "\3\u00ad\3\u00ae\3\u00ae\3\u00ae\3\u00ae\5\u00ae\u072a\n\u00ae\3\u00ae"+ - "\5\u00ae\u072d\n\u00ae\3\u00af\3\u00af\3\u00af\5\u00af\u0732\n\u00af\3"+ - "\u00af\3\u00af\3\u00b0\3\u00b0\3\u00b0\7\u00b0\u0739\n\u00b0\f\u00b0\16"+ - "\u00b0\u073c\13\u00b0\3\u00b1\7\u00b1\u073f\n\u00b1\f\u00b1\16\u00b1\u0742"+ - "\13\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b2\3\u00b2\5\u00b2"+ - "\u074b\n\u00b2\3\u00b2\7\u00b2\u074e\n\u00b2\f\u00b2\16\u00b2\u0751\13"+ - "\u00b2\3\u00b3\3\u00b3\3\u00b3\3\u00b3\7\u00b3\u0757\n\u00b3\f\u00b3\16"+ - "\u00b3\u075a\13\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ - "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ - "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\5\u00b3\u0770\n\u00b3\3\u00b4"+ - "\3\u00b4\3\u00b5\3\u00b5\3\u00b5\3\u00b5\7\u00b5\u0778\n\u00b5\f\u00b5"+ - "\16\u00b5\u077b\13\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ - "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ - "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\5\u00b5\u0790\n\u00b5\3\u00b6\3\u00b6"+ - "\3\u00b6\3\u00b6\3\u00b6\5\u00b6\u0797\n\u00b6\3\u00b7\3\u00b7\3\u00b8"+ - "\3\u00b8\3\u00b8\3\u00b8\5\u00b8\u079f\n\u00b8\3\u00b9\3\u00b9\3\u00b9"+ - "\3\u00b9\7\u00b9\u07a5\n\u00b9\f\u00b9\16\u00b9\u07a8\13\u00b9\3\u00b9"+ - "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9\u07b0\n\u00b9\f\u00b9"+ - "\16\u00b9\u07b3\13\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ - "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ - "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\5\u00b9\u07c9\n\u00b9\3\u00ba"+ - "\3\u00ba\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07d1\n\u00bb\f\u00bb"+ - "\16\u00bb\u07d4\13\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ - "\7\u00bb\u07dc\n\u00bb\f\u00bb\16\u00bb\u07df\13\u00bb\3\u00bb\3\u00bb"+ - "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ - "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\5\u00bb"+ - "\u07f4\n\u00bb\3\u00bc\3\u00bc\5\u00bc\u07f8\n\u00bc\3\u00bc\7\u00bc\u07fb"+ - "\n\u00bc\f\u00bc\16\u00bc\u07fe\13\u00bc\3\u00bc\3\u00bc\3\u00bc\7\u00bc"+ - "\u0803\n\u00bc\f\u00bc\16\u00bc\u0806\13\u00bc\3\u00bc\7\u00bc\u0809\n"+ - "\u00bc\f\u00bc\16\u00bc\u080c\13\u00bc\3\u00bc\5\u00bc\u080f\n\u00bc\3"+ - "\u00bc\3\u00bc\5\u00bc\u0813\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0817\n\u00bc"+ - "\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u081d\n\u00bc\3\u00bc\7\u00bc"+ - "\u0820\n\u00bc\f\u00bc\16\u00bc\u0823\13\u00bc\3\u00bc\3\u00bc\5\u00bc"+ - "\u0827\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u082b\n\u00bc\3\u00bc\3\u00bc\5"+ - "\u00bc\u082f\n\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u0835\n\u00bc"+ - "\3\u00bc\7\u00bc\u0838\n\u00bc\f\u00bc\16\u00bc\u083b\13\u00bc\3\u00bc"+ - "\3\u00bc\5\u00bc\u083f\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0843\n\u00bc\3"+ - "\u00bc\3\u00bc\5\u00bc\u0847\n\u00bc\5\u00bc\u0849\n\u00bc\3\u00bd\3\u00bd"+ - "\3\u00bd\5\u00bd\u084e\n\u00bd\3\u00bd\7\u00bd\u0851\n\u00bd\f\u00bd\16"+ - "\u00bd\u0854\13\u00bd\3\u00bd\3\u00bd\5\u00bd\u0858\n\u00bd\3\u00bd\3"+ - "\u00bd\5\u00bd\u085c\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u0860\n\u00bd\3\u00be"+ - "\3\u00be\5\u00be\u0864\n\u00be\3\u00be\7\u00be\u0867\n\u00be\f\u00be\16"+ - "\u00be\u086a\13\u00be\3\u00be\3\u00be\3\u00be\7\u00be\u086f\n\u00be\f"+ - "\u00be\16\u00be\u0872\13\u00be\3\u00be\7\u00be\u0875\n\u00be\f\u00be\16"+ - "\u00be\u0878\13\u00be\3\u00be\5\u00be\u087b\n\u00be\3\u00be\3\u00be\5"+ - "\u00be\u087f\n\u00be\3\u00be\3\u00be\5\u00be\u0883\n\u00be\3\u00be\3\u00be"+ - "\3\u00be\3\u00be\5\u00be\u0889\n\u00be\3\u00be\7\u00be\u088c\n\u00be\f"+ - "\u00be\16\u00be\u088f\13\u00be\3\u00be\3\u00be\5\u00be\u0893\n\u00be\3"+ - "\u00be\3\u00be\5\u00be\u0897\n\u00be\3\u00be\3\u00be\5\u00be\u089b\n\u00be"+ - "\5\u00be\u089d\n\u00be\3\u00bf\3\u00bf\3\u00bf\5\u00bf\u08a2\n\u00bf\3"+ - "\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0"+ - "\3\u00c0\3\u00c0\3\u00c0\3\u00c0\5\u00c0\u08b1\n\u00c0\3\u00c1\3\u00c1"+ - "\3\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2"+ - "\3\u00c2\5\u00c2\u08bf\n\u00c2\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3"+ - "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\5\u00c3\u08cb\n\u00c3\3\u00c3"+ - "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\7\u00c3\u08d2\n\u00c3\f\u00c3\16\u00c3"+ - "\u08d5\13\u00c3\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4"+ - "\3\u00c4\3\u00c4\3\u00c4\7\u00c4\u08e1\n\u00c4\f\u00c4\16\u00c4\u08e4"+ - "\13\u00c4\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ - "\3\u00c5\3\u00c5\5\u00c5\u08f0\n\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ - "\3\u00c5\7\u00c5\u08f7\n\u00c5\f\u00c5\16\u00c5\u08fa\13\u00c5\3\u00c6"+ - "\3\u00c6\3\u00c6\5\u00c6\u08ff\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ - "\3\u00c6\5\u00c6\u0906\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u090b\n"+ - "\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0912\n\u00c6\3"+ - "\u00c6\3\u00c6\3\u00c6\5\u00c6\u0917\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3"+ - "\u00c6\3\u00c6\5\u00c6\u091e\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0923"+ - "\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u092a\n\u00c6"+ - "\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u092f\n\u00c6\3\u00c6\3\u00c6\3\u00c6"+ - "\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0937\n\u00c6\3\u00c6\3\u00c6\3\u00c6"+ - "\5\u00c6\u093c\n\u00c6\3\u00c6\3\u00c6\5\u00c6\u0940\n\u00c6\3\u00c7\3"+ - "\u00c7\5\u00c7\u0944\n\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u0949\n\u00c7"+ - "\3\u00c7\3\u00c7\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0950\n\u00c8\3\u00c8"+ - "\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0957\n\u00c8\3\u00c8\3\u00c8"+ - "\3\u00c8\5\u00c8\u095c\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8"+ - "\5\u00c8\u0963\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0968\n\u00c8\3"+ - "\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u096f\n\u00c8\3\u00c8\3"+ - "\u00c8\3\u00c8\5\u00c8\u0974\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3"+ - "\u00c8\3\u00c8\5\u00c8\u097c\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0981"+ - "\n\u00c8\3\u00c8\3\u00c8\5\u00c8\u0985\n\u00c8\3\u00c9\3\u00c9\3\u00c9"+ - "\7\u00c9\u098a\n\u00c9\f\u00c9\16\u00c9\u098d\13\u00c9\3\u00ca\3\u00ca"+ - "\3\u00ca\5\u00ca\u0992\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ - "\5\u00ca\u0999\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca"+ - "\u09a0\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09a7\n"+ - "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09af\n"+ - "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09b6\n\u00ca\3"+ - "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09be\n\u00ca\3"+ - "\u00cb\3\u00cb\5\u00cb\u09c2\n\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3"+ - "\u00cc\5\u00cc\u09c9\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5"+ - "\u00cc\u09d0\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09d7"+ - "\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09df"+ - "\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09e6\n\u00cc"+ - "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09ee\n\u00cc"+ - "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09f4\n\u00cd\3\u00cd\3\u00cd"+ - "\3\u00cd\3\u00cd\5\u00cd\u09fa\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ - "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u0a06\n\u00cd"+ - "\3\u00ce\3\u00ce\7\u00ce\u0a0a\n\u00ce\f\u00ce\16\u00ce\u0a0d\13\u00ce"+ - "\3\u00cf\7\u00cf\u0a10\n\u00cf\f\u00cf\16\u00cf\u0a13\13\u00cf\3\u00cf"+ - "\3\u00cf\3\u00cf\3\u00cf\3\u00d0\3\u00d0\3\u00d1\3\u00d1\5\u00d1\u0a1d"+ - "\n\u00d1\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d3\3\u00d3\3\u00d3\5\u00d3"+ - "\u0a26\n\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a2d\n"+ - "\u00d3\3\u00d4\3\u00d4\3\u00d4\7\u00d4\u0a32\n\u00d4\f\u00d4\16\u00d4"+ - "\u0a35\13\u00d4\3\u00d5\3\u00d5\5\u00d5\u0a39\n\u00d5\3\u00d6\3\u00d6"+ - "\5\u00d6\u0a3d\n\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7\3\u00d8\3\u00d8"+ - "\3\u00d8\5\u00d8\u0a46\n\u00d8\3\u00d9\3\u00d9\3\u00da\3\u00da\3\u00da"+ - "\3\u00da\3\u00da\3\u00da\3\u00da\5\u00da\u0a51\n\u00da\3\u00db\3\u00db"+ - "\3\u00db\3\u00db\3\u00db\3\u00db\7\u00db\u0a59\n\u00db\f\u00db\16\u00db"+ - "\u0a5c\13\u00db\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\7\u00dc"+ - "\u0a64\n\u00dc\f\u00dc\16\u00dc\u0a67\13\u00dc\3\u00dd\3\u00dd\3\u00dd"+ - "\3\u00dd\3\u00dd\3\u00dd\7\u00dd\u0a6f\n\u00dd\f\u00dd\16\u00dd\u0a72"+ - "\13\u00dd\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\7\u00de\u0a7a"+ - "\n\u00de\f\u00de\16\u00de\u0a7d\13\u00de\3\u00df\3\u00df\3\u00df\3\u00df"+ - "\3\u00df\3\u00df\7\u00df\u0a85\n\u00df\f\u00df\16\u00df\u0a88\13\u00df"+ - "\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0"+ - "\7\u00e0\u0a93\n\u00e0\f\u00e0\16\u00e0\u0a96\13\u00e0\3\u00e1\3\u00e1"+ - "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ - "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\7\u00e1\u0aaa"+ - "\n\u00e1\f\u00e1\16\u00e1\u0aad\13\u00e1\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ - "\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ - "\3\u00e2\3\u00e2\3\u00e2\7\u00e2\u0abf\n\u00e2\f\u00e2\16\u00e2\u0ac2"+ - "\13\u00e2\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3"+ - "\3\u00e3\7\u00e3\u0acd\n\u00e3\f\u00e3\16\u00e3\u0ad0\13\u00e3\3\u00e4"+ - "\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4"+ - "\3\u00e4\3\u00e4\7\u00e4\u0ade\n\u00e4\f\u00e4\16\u00e4\u0ae1\13\u00e4"+ - "\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\5\u00e5\u0aea"+ - "\n\u00e5\3\u00e6\3\u00e6\3\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e8\3\u00e8"+ - "\3\u00e8\3\u00e8\3\u00e8\3\u00e8\5\u00e8\u0af8\n\u00e8\3\u00e9\3\u00e9"+ - "\5\u00e9\u0afc\n\u00e9\3\u00e9\3\u00e9\7\u00e9\u0b00\n\u00e9\f\u00e9\16"+ - "\u00e9\u0b03\13\u00e9\3\u00ea\3\u00ea\3\u00ea\3\u00eb\3\u00eb\3\u00ec"+ - "\3\u00ec\3\u00ec\3\u00ed\3\u00ed\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee"+ - "\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b17\n\u00ee\f\u00ee\16\u00ee\u0b1a"+ - "\13\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b22"+ - "\n\u00ee\f\u00ee\16\u00ee\u0b25\13\u00ee\3\u00ee\3\u00ee\3\u00ee\5\u00ee"+ - "\u0b2a\n\u00ee\3\u00ee\2\17\66:@\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0"+ - "\u01c2\u01c4\u01c6\u00ef\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&("+ - "*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084"+ - "\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c"+ - "\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4"+ - "\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc"+ - "\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4"+ - "\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc"+ - "\u00fe\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114"+ - "\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c"+ - "\u012e\u0130\u0132\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144"+ - "\u0146\u0148\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c"+ - "\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174"+ - "\u0176\u0178\u017a\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c"+ - "\u018e\u0190\u0192\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4"+ - "\u01a6\u01a8\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc"+ - "\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4"+ - "\u01d6\u01d8\u01da\2\6\3\2\65:\7\2\7\7\n\n\35\35\37\37\'\'\4\2\20\20\26"+ - "\26\4\2DD]g\u0c1d\2\u01dc\3\2\2\2\4\u01e0\3\2\2\2\6\u01f0\3\2\2\2\b\u01f4"+ - "\3\2\2\2\n\u01f6\3\2\2\2\f\u01f8\3\2\2\2\16\u01fd\3\2\2\2\20\u0201\3\2"+ - "\2\2\22\u0220\3\2\2\2\24\u0222\3\2\2\2\26\u0230\3\2\2\2\30\u0237\3\2\2"+ - "\2\32\u0239\3\2\2\2\34\u023b\3\2\2\2\36\u0240\3\2\2\2 \u024e\3\2\2\2\""+ - "\u0253\3\2\2\2$\u0268\3\2\2\2&\u026f\3\2\2\2(\u027b\3\2\2\2*\u027d\3\2"+ - "\2\2,\u0280\3\2\2\2.\u0284\3\2\2\2\60\u028e\3\2\2\2\62\u0293\3\2\2\2\64"+ - "\u029e\3\2\2\2\66\u02a0\3\2\2\28\u02b0\3\2\2\2:\u02b2\3\2\2\2<\u02c2\3"+ - "\2\2\2>\u02c4\3\2\2\2@\u02c6\3\2\2\2B\u02d2\3\2\2\2D\u02e5\3\2\2\2F\u02f3"+ - "\3\2\2\2H\u02f9\3\2\2\2J\u02fb\3\2\2\2L\u02ff\3\2\2\2N\u0305\3\2\2\2P"+ - "\u030c\3\2\2\2R\u0316\3\2\2\2T\u031a\3\2\2\2V\u031f\3\2\2\2X\u0337\3\2"+ - "\2\2Z\u0339\3\2\2\2\\\u033d\3\2\2\2^\u0345\3\2\2\2`\u0348\3\2\2\2b\u034b"+ - "\3\2\2\2d\u0353\3\2\2\2f\u0360\3\2\2\2h\u0367\3\2\2\2j\u036c\3\2\2\2l"+ - "\u037b\3\2\2\2n\u037d\3\2\2\2p\u0385\3\2\2\2r\u038a\3\2\2\2t\u0390\3\2"+ - "\2\2v\u0394\3\2\2\2x\u0398\3\2\2\2z\u039d\3\2\2\2|\u03a1\3\2\2\2~\u03ba"+ - "\3\2\2\2\u0080\u03bc\3\2\2\2\u0082\u03c7\3\2\2\2\u0084\u03cb\3\2\2\2\u0086"+ - "\u03cd\3\2\2\2\u0088\u03cf\3\2\2\2\u008a\u03d1\3\2\2\2\u008c\u03dc\3\2"+ - "\2\2\u008e\u03e1\3\2\2\2\u0090\u03f1\3\2\2\2\u0092\u0404\3\2\2\2\u0094"+ - "\u0408\3\2\2\2\u0096\u040a\3\2\2\2\u0098\u0418\3\2\2\2\u009a\u042a\3\2"+ - "\2\2\u009c\u042f\3\2\2\2\u009e\u0437\3\2\2\2\u00a0\u044a\3\2\2\2\u00a2"+ - "\u044f\3\2\2\2\u00a4\u0459\3\2\2\2\u00a6\u045c\3\2\2\2\u00a8\u0466\3\2"+ - "\2\2\u00aa\u046a\3\2\2\2\u00ac\u046c\3\2\2\2\u00ae\u046e\3\2\2\2\u00b0"+ - "\u0474\3\2\2\2\u00b2\u0481\3\2\2\2\u00b4\u0484\3\2\2\2\u00b6\u048d\3\2"+ - "\2\2\u00b8\u048f\3\2\2\2\u00ba\u04c6\3\2\2\2\u00bc\u04cb\3\2\2\2\u00be"+ - "\u04d5\3\2\2\2\u00c0\u04e1\3\2\2\2\u00c2\u04ec\3\2\2\2\u00c4\u04fa\3\2"+ - "\2\2\u00c6\u04fc\3\2\2\2\u00c8\u0505\3\2\2\2\u00ca\u050a\3\2\2\2\u00cc"+ - "\u051e\3\2\2\2\u00ce\u0520\3\2\2\2\u00d0\u0523\3\2\2\2\u00d2\u0531\3\2"+ - "\2\2\u00d4\u0536\3\2\2\2\u00d6\u0541\3\2\2\2\u00d8\u0546\3\2\2\2\u00da"+ - "\u0552\3\2\2\2\u00dc\u0557\3\2\2\2\u00de\u055f\3\2\2\2\u00e0\u056d\3\2"+ - "\2\2\u00e2\u0572\3\2\2\2\u00e4\u0584\3\2\2\2\u00e6\u0586\3\2\2\2\u00e8"+ - "\u058c\3\2\2\2\u00ea\u058e\3\2\2\2\u00ec\u0596\3\2\2\2\u00ee\u059e\3\2"+ - "\2\2\u00f0\u05a5\3\2\2\2\u00f2\u05a7\3\2\2\2\u00f4\u05b0\3\2\2\2\u00f6"+ - "\u05b8\3\2\2\2\u00f8\u05bb\3\2\2\2\u00fa\u05c1\3\2\2\2\u00fc\u05ca\3\2"+ - "\2\2\u00fe\u05d2\3\2\2\2\u0100\u05d8\3\2\2\2\u0102\u05e2\3\2\2\2\u0104"+ - "\u05e4\3\2\2\2\u0106\u05ea\3\2\2\2\u0108\u05f6\3\2\2\2\u010a\u05fd\3\2"+ - "\2\2\u010c\u060b\3\2\2\2\u010e\u060d\3\2\2\2\u0110\u060f\3\2\2\2\u0112"+ - "\u0613\3\2\2\2\u0114\u0617\3\2\2\2\u0116\u0621\3\2\2\2\u0118\u0623\3\2"+ - "\2\2\u011a\u0629\3\2\2\2\u011c\u0631\3\2\2\2\u011e\u0643\3\2\2\2\u0120"+ - "\u0645\3\2\2\2\u0122\u064b\3\2\2\2\u0124\u065a\3\2\2\2\u0126\u065d\3\2"+ - "\2\2\u0128\u066e\3\2\2\2\u012a\u0670\3\2\2\2\u012c\u0672\3\2\2\2\u012e"+ - "\u0678\3\2\2\2\u0130\u067e\3\2\2\2\u0132\u0688\3\2\2\2\u0134\u068c\3\2"+ - "\2\2\u0136\u068e\3\2\2\2\u0138\u069e\3\2\2\2\u013a\u06b0\3\2\2\2\u013c"+ - "\u06b2\3\2\2\2\u013e\u06b4\3\2\2\2\u0140\u06bc\3\2\2\2\u0142\u06cb\3\2"+ - "\2\2\u0144\u06da\3\2\2\2\u0146\u06e0\3\2\2\2\u0148\u06e6\3\2\2\2\u014a"+ - "\u06ec\3\2\2\2\u014c\u06f0\3\2\2\2\u014e\u0702\3\2\2\2\u0150\u0704\3\2"+ - "\2\2\u0152\u070b\3\2\2\2\u0154\u0714\3\2\2\2\u0156\u071a\3\2\2\2\u0158"+ - "\u0722\3\2\2\2\u015a\u0725\3\2\2\2\u015c\u072e\3\2\2\2\u015e\u0735\3\2"+ - "\2\2\u0160\u0740\3\2\2\2\u0162\u074a\3\2\2\2\u0164\u076f\3\2\2\2\u0166"+ - "\u0771\3\2\2\2\u0168\u078f\3\2\2\2\u016a\u0796\3\2\2\2\u016c\u0798\3\2"+ - "\2\2\u016e\u079e\3\2\2\2\u0170\u07c8\3\2\2\2\u0172\u07ca\3\2\2\2\u0174"+ - "\u07f3\3\2\2\2\u0176\u0848\3\2\2\2\u0178\u084a\3\2\2\2\u017a\u089c\3\2"+ - "\2\2\u017c\u08a1\3\2\2\2\u017e\u08b0\3\2\2\2\u0180\u08b2\3\2\2\2\u0182"+ - "\u08be\3\2\2\2\u0184\u08ca\3\2\2\2\u0186\u08d6\3\2\2\2\u0188\u08ef\3\2"+ - "\2\2\u018a\u093f\3\2\2\2\u018c\u0941\3\2\2\2\u018e\u0984\3\2\2\2\u0190"+ - "\u0986\3\2\2\2\u0192\u09bd\3\2\2\2\u0194\u09bf\3\2\2\2\u0196\u09ed\3\2"+ - "\2\2\u0198\u0a05\3\2\2\2\u019a\u0a07\3\2\2\2\u019c\u0a11\3\2\2\2\u019e"+ - "\u0a18\3\2\2\2\u01a0\u0a1c\3\2\2\2\u01a2\u0a1e\3\2\2\2\u01a4\u0a2c\3\2"+ - "\2\2\u01a6\u0a2e\3\2\2\2\u01a8\u0a38\3\2\2\2\u01aa\u0a3c\3\2\2\2\u01ac"+ - "\u0a3e\3\2\2\2\u01ae\u0a45\3\2\2\2\u01b0\u0a47\3\2\2\2\u01b2\u0a50\3\2"+ - "\2\2\u01b4\u0a52\3\2\2\2\u01b6\u0a5d\3\2\2\2\u01b8\u0a68\3\2\2\2\u01ba"+ - "\u0a73\3\2\2\2\u01bc\u0a7e\3\2\2\2\u01be\u0a89\3\2\2\2\u01c0\u0a97\3\2"+ - "\2\2\u01c2\u0aae\3\2\2\2\u01c4\u0ac3\3\2\2\2\u01c6\u0ad1\3\2\2\2\u01c8"+ - "\u0ae9\3\2\2\2\u01ca\u0aeb\3\2\2\2\u01cc\u0aee\3\2\2\2\u01ce\u0af7\3\2"+ - "\2\2\u01d0\u0afb\3\2\2\2\u01d2\u0b04\3\2\2\2\u01d4\u0b07\3\2\2\2\u01d6"+ - "\u0b09\3\2\2\2\u01d8\u0b0c\3\2\2\2\u01da\u0b29\3\2\2\2\u01dc\u01dd\t\2"+ - "\2\2\u01dd\3\3\2\2\2\u01de\u01e1\5\6\4\2\u01df\u01e1\5\16\b\2\u01e0\u01de"+ - "\3\2\2\2\u01e0\u01df\3\2\2\2\u01e1\5\3\2\2\2\u01e2\u01e4\5\u00e8u\2\u01e3"+ - "\u01e2\3\2\2\2\u01e4\u01e7\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2"+ - "\2\2\u01e6\u01e8\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e8\u01f1\5\b\5\2\u01e9"+ - "\u01eb\5\u00e8u\2\u01ea\u01e9\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea"+ - "\3\2\2\2\u01ec\u01ed\3\2\2\2\u01ed\u01ef\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef"+ - "\u01f1\7\5\2\2\u01f0\u01e5\3\2\2\2\u01f0\u01ec\3\2\2\2\u01f1\7\3\2\2\2"+ - "\u01f2\u01f5\5\n\6\2\u01f3\u01f5\5\f\7\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3"+ - "\3\2\2\2\u01f5\t\3\2\2\2\u01f6\u01f7\t\3\2\2\u01f7\13\3\2\2\2\u01f8\u01f9"+ - "\t\4\2\2\u01f9\r\3\2\2\2\u01fa\u01fe\5\20\t\2\u01fb\u01fe\5\36\20\2\u01fc"+ - "\u01fe\5 \21\2\u01fd\u01fa\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fd\u01fc\3\2"+ - "\2\2\u01fe\17\3\2\2\2\u01ff\u0202\5\26\f\2\u0200\u0202\5\34\17\2\u0201"+ - "\u01ff\3\2\2\2\u0201\u0200\3\2\2\2\u0202\u0207\3\2\2\2\u0203\u0206\5\24"+ - "\13\2\u0204\u0206\5\32\16\2\u0205\u0203\3\2\2\2\u0205\u0204\3\2\2\2\u0206"+ - "\u0209\3\2\2\2\u0207\u0205\3\2\2\2\u0207\u0208\3\2\2\2\u0208\21\3\2\2"+ - "\2\u0209\u0207\3\2\2\2\u020a\u020c\5\u00e8u\2\u020b\u020a\3\2\2\2\u020c"+ - "\u020f\3\2\2\2\u020d\u020b\3\2\2\2\u020d\u020e\3\2\2\2\u020e\u0210\3\2"+ - "\2\2\u020f\u020d\3\2\2\2\u0210\u0212\7h\2\2\u0211\u0213\5,\27\2\u0212"+ - "\u0211\3\2\2\2\u0212\u0213\3\2\2\2\u0213\u0221\3\2\2\2\u0214\u0215\5\20"+ - "\t\2\u0215\u0219\7C\2\2\u0216\u0218\5\u00e8u\2\u0217\u0216\3\2\2\2\u0218"+ - "\u021b\3\2\2\2\u0219\u0217\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021c\3\2"+ - "\2\2\u021b\u0219\3\2\2\2\u021c\u021e\7h\2\2\u021d\u021f\5,\27\2\u021e"+ - "\u021d\3\2\2\2\u021e\u021f\3\2\2\2\u021f\u0221\3\2\2\2\u0220\u020d\3\2"+ - "\2\2\u0220\u0214\3\2\2\2\u0221\23\3\2\2\2\u0222\u0226\7C\2\2\u0223\u0225"+ - "\5\u00e8u\2\u0224\u0223\3\2\2\2\u0225\u0228\3\2\2\2\u0226\u0224\3\2\2"+ - "\2\u0226\u0227\3\2\2\2\u0227\u0229\3\2\2\2\u0228\u0226\3\2\2\2\u0229\u022b"+ - "\7h\2\2\u022a\u022c\5,\27\2\u022b\u022a\3\2\2\2\u022b\u022c\3\2\2\2\u022c"+ - "\25\3\2\2\2\u022d\u022f\5\u00e8u\2\u022e\u022d\3\2\2\2\u022f\u0232\3\2"+ - "\2\2\u0230\u022e\3\2\2\2\u0230\u0231\3\2\2\2\u0231\u0233\3\2\2\2\u0232"+ - "\u0230\3\2\2\2\u0233\u0235\7h\2\2\u0234\u0236\5,\27\2\u0235\u0234\3\2"+ - "\2\2\u0235\u0236\3\2\2\2\u0236\27\3\2\2\2\u0237\u0238\5\22\n\2\u0238\31"+ - "\3\2\2\2\u0239\u023a\5\24\13\2\u023a\33\3\2\2\2\u023b\u023c\5\26\f\2\u023c"+ - "\35\3\2\2\2\u023d\u023f\5\u00e8u\2\u023e\u023d\3\2\2\2\u023f\u0242\3\2"+ - "\2\2\u0240\u023e\3\2\2\2\u0240\u0241\3\2\2\2\u0241\u0243\3\2\2\2\u0242"+ - "\u0240\3\2\2\2\u0243\u0244\7h\2\2\u0244\37\3\2\2\2\u0245\u0246\5\6\4\2"+ - "\u0246\u0247\5\"\22\2\u0247\u024f\3\2\2\2\u0248\u0249\5\20\t\2\u0249\u024a"+ - "\5\"\22\2\u024a\u024f\3\2\2\2\u024b\u024c\5\36\20\2\u024c\u024d\5\"\22"+ - "\2\u024d\u024f\3\2\2\2\u024e\u0245\3\2\2\2\u024e\u0248\3\2\2\2\u024e\u024b"+ - "\3\2\2\2\u024f!\3\2\2\2\u0250\u0252\5\u00e8u\2\u0251\u0250\3\2\2\2\u0252"+ - "\u0255\3\2\2\2\u0253\u0251\3\2\2\2\u0253\u0254\3\2\2\2\u0254\u0256\3\2"+ - "\2\2\u0255\u0253\3\2\2\2\u0256\u0257\7?\2\2\u0257\u0262\7@\2\2\u0258\u025a"+ - "\5\u00e8u\2\u0259\u0258\3\2\2\2\u025a\u025d\3\2\2\2\u025b\u0259\3\2\2"+ - "\2\u025b\u025c\3\2\2\2\u025c\u025e\3\2\2\2\u025d\u025b\3\2\2\2\u025e\u025f"+ - "\7?\2\2\u025f\u0261\7@\2\2\u0260\u025b\3\2\2\2\u0261\u0264\3\2\2\2\u0262"+ - "\u0260\3\2\2\2\u0262\u0263\3\2\2\2\u0263#\3\2\2\2\u0264\u0262\3\2\2\2"+ - "\u0265\u0267\5&\24\2\u0266\u0265\3\2\2\2\u0267\u026a\3\2\2\2\u0268\u0266"+ - "\3\2\2\2\u0268\u0269\3\2\2\2\u0269\u026b\3\2\2\2\u026a\u0268\3\2\2\2\u026b"+ - "\u026d\7h\2\2\u026c\u026e\5(\25\2\u026d\u026c\3\2\2\2\u026d\u026e\3\2"+ - "\2\2\u026e%\3\2\2\2\u026f\u0270\5\u00e8u\2\u0270\'\3\2\2\2\u0271\u0272"+ - "\7\23\2\2\u0272\u027c\5\36\20\2\u0273\u0274\7\23\2\2\u0274\u0278\5\20"+ - "\t\2\u0275\u0277\5*\26\2\u0276\u0275\3\2\2\2\u0277\u027a\3\2\2\2\u0278"+ - "\u0276\3\2\2\2\u0278\u0279\3\2\2\2\u0279\u027c\3\2\2\2\u027a\u0278\3\2"+ - "\2\2\u027b\u0271\3\2\2\2\u027b\u0273\3\2\2\2\u027c)\3\2\2\2\u027d\u027e"+ - "\7W\2\2\u027e\u027f\5\30\r\2\u027f+\3\2\2\2\u0280\u0281\7F\2\2\u0281\u0282"+ - "\5.\30\2\u0282\u0283\7E\2\2\u0283-\3\2\2\2\u0284\u0289\5\60\31\2\u0285"+ - "\u0286\7B\2\2\u0286\u0288\5\60\31\2\u0287\u0285\3\2\2\2\u0288\u028b\3"+ - "\2\2\2\u0289\u0287\3\2\2\2\u0289\u028a\3\2\2\2\u028a/\3\2\2\2\u028b\u0289"+ - "\3\2\2\2\u028c\u028f\5\16\b\2\u028d\u028f\5\62\32\2\u028e\u028c\3\2\2"+ - "\2\u028e\u028d\3\2\2\2\u028f\61\3\2\2\2\u0290\u0292\5\u00e8u\2\u0291\u0290"+ - "\3\2\2\2\u0292\u0295\3\2\2\2\u0293\u0291\3\2\2\2\u0293\u0294\3\2\2\2\u0294"+ - "\u0296\3\2\2\2\u0295\u0293\3\2\2\2\u0296\u0298\7I\2\2\u0297\u0299\5\64"+ - "\33\2\u0298\u0297\3\2\2\2\u0298\u0299\3\2\2\2\u0299\63\3\2\2\2\u029a\u029b"+ - "\7\23\2\2\u029b\u029f\5\16\b\2\u029c\u029d\7*\2\2\u029d\u029f\5\16\b\2"+ - "\u029e\u029a\3\2\2\2\u029e\u029c\3\2\2\2\u029f\65\3\2\2\2\u02a0\u02a1"+ - "\b\34\1\2\u02a1\u02a2\7h\2\2\u02a2\u02a8\3\2\2\2\u02a3\u02a4\f\3\2\2\u02a4"+ - "\u02a5\7C\2\2\u02a5\u02a7\7h\2\2\u02a6\u02a3\3\2\2\2\u02a7\u02aa\3\2\2"+ - "\2\u02a8\u02a6\3\2\2\2\u02a8\u02a9\3\2\2\2\u02a9\67\3\2\2\2\u02aa\u02a8"+ - "\3\2\2\2\u02ab\u02b1\7h\2\2\u02ac\u02ad\5:\36\2\u02ad\u02ae\7C\2\2\u02ae"+ - "\u02af\7h\2\2\u02af\u02b1\3\2\2\2\u02b0\u02ab\3\2\2\2\u02b0\u02ac\3\2"+ - "\2\2\u02b19\3\2\2\2\u02b2\u02b3\b\36\1\2\u02b3\u02b4\7h\2\2\u02b4\u02ba"+ - "\3\2\2\2\u02b5\u02b6\f\3\2\2\u02b6\u02b7\7C\2\2\u02b7\u02b9\7h\2\2\u02b8"+ - "\u02b5\3\2\2\2\u02b9\u02bc\3\2\2\2\u02ba\u02b8\3\2\2\2\u02ba\u02bb\3\2"+ - "\2\2\u02bb;\3\2\2\2\u02bc\u02ba\3\2\2\2\u02bd\u02c3\7h\2\2\u02be\u02bf"+ - "\5@!\2\u02bf\u02c0\7C\2\2\u02c0\u02c1\7h\2\2\u02c1\u02c3\3\2\2\2\u02c2"+ - "\u02bd\3\2\2\2\u02c2\u02be\3\2\2\2\u02c3=\3\2\2\2\u02c4\u02c5\7h\2\2\u02c5"+ - "?\3\2\2\2\u02c6\u02c7\b!\1\2\u02c7\u02c8\7h\2\2\u02c8\u02ce\3\2\2\2\u02c9"+ - "\u02ca\f\3\2\2\u02ca\u02cb\7C\2\2\u02cb\u02cd\7h\2\2\u02cc\u02c9\3\2\2"+ - "\2\u02cd\u02d0\3\2\2\2\u02ce\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cfA"+ - "\3\2\2\2\u02d0\u02ce\3\2\2\2\u02d1\u02d3\5D#\2\u02d2\u02d1\3\2\2\2\u02d2"+ - "\u02d3\3\2\2\2\u02d3\u02d7\3\2\2\2\u02d4\u02d6\5H%\2\u02d5\u02d4\3\2\2"+ - "\2\u02d6\u02d9\3\2\2\2\u02d7\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u02dd"+ - "\3\2\2\2\u02d9\u02d7\3\2\2\2\u02da\u02dc\5R*\2\u02db\u02da\3\2\2\2\u02dc"+ - "\u02df\3\2\2\2\u02dd\u02db\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02e0\3\2"+ - "\2\2\u02df\u02dd\3\2\2\2\u02e0\u02e1\7\2\2\3\u02e1C\3\2\2\2\u02e2\u02e4"+ - "\5F$\2\u02e3\u02e2\3\2\2\2\u02e4\u02e7\3\2\2\2\u02e5\u02e3\3\2\2\2\u02e5"+ - "\u02e6\3\2\2\2\u02e6\u02e8\3\2\2\2\u02e7\u02e5\3\2\2\2\u02e8\u02e9\7\""+ - "\2\2\u02e9\u02ee\7h\2\2\u02ea\u02eb\7C\2\2\u02eb\u02ed\7h\2\2\u02ec\u02ea"+ - "\3\2\2\2\u02ed\u02f0\3\2\2\2\u02ee\u02ec\3\2\2\2\u02ee\u02ef\3\2\2\2\u02ef"+ - "\u02f1\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f1\u02f2\7A\2\2\u02f2E\3\2\2\2\u02f3"+ - "\u02f4\5\u00e8u\2\u02f4G\3\2\2\2\u02f5\u02fa\5J&\2\u02f6\u02fa\5L\'\2"+ - "\u02f7\u02fa\5N(\2\u02f8\u02fa\5P)\2\u02f9\u02f5\3\2\2\2\u02f9\u02f6\3"+ - "\2\2\2\u02f9\u02f7\3\2\2\2\u02f9\u02f8\3\2\2\2\u02faI\3\2\2\2\u02fb\u02fc"+ - "\7\33\2\2\u02fc\u02fd\58\35\2\u02fd\u02fe\7A\2\2\u02feK\3\2\2\2\u02ff"+ - "\u0300\7\33\2\2\u0300\u0301\5:\36\2\u0301\u0302\7C\2\2\u0302\u0303\7U"+ - "\2\2\u0303\u0304\7A\2\2\u0304M\3\2\2\2\u0305\u0306\7\33\2\2\u0306\u0307"+ - "\7(\2\2\u0307\u0308\58\35\2\u0308\u0309\7C\2\2\u0309\u030a\7h\2\2\u030a"+ - "\u030b\7A\2\2\u030bO\3\2\2\2\u030c\u030d\7\33\2\2\u030d\u030e\7(\2\2\u030e"+ - "\u030f\58\35\2\u030f\u0310\7C\2\2\u0310\u0311\7U\2\2\u0311\u0312\7A\2"+ - "\2\u0312Q\3\2\2\2\u0313\u0317\5T+\2\u0314\u0317\5\u00c8e\2\u0315\u0317"+ - "\7A\2\2\u0316\u0313\3\2\2\2\u0316\u0314\3\2\2\2\u0316\u0315\3\2\2\2\u0317"+ - "S\3\2\2\2\u0318\u031b\5V,\2\u0319\u031b\5\u00bc_\2\u031a\u0318\3\2\2\2"+ - "\u031a\u0319\3\2\2\2\u031bU\3\2\2\2\u031c\u031e\5X-\2\u031d\u031c\3\2"+ - "\2\2\u031e\u0321\3\2\2\2\u031f\u031d\3\2\2\2\u031f\u0320\3\2\2\2\u0320"+ - "\u0322\3\2\2\2\u0321\u031f\3\2\2\2\u0322\u0323\7\13\2\2\u0323\u0325\7"+ - "h\2\2\u0324\u0326\5Z.\2\u0325\u0324\3\2\2\2\u0325\u0326\3\2\2\2\u0326"+ - "\u0328\3\2\2\2\u0327\u0329\5^\60\2\u0328\u0327\3\2\2\2\u0328\u0329\3\2"+ - "\2\2\u0329\u032b\3\2\2\2\u032a\u032c\5`\61\2\u032b\u032a\3\2\2\2\u032b"+ - "\u032c\3\2\2\2\u032c\u032d\3\2\2\2\u032d\u032e\5d\63\2\u032eW\3\2\2\2"+ - "\u032f\u0338\5\u00e8u\2\u0330\u0338\7%\2\2\u0331\u0338\7$\2\2\u0332\u0338"+ - "\7#\2\2\u0333\u0338\7\3\2\2\u0334\u0338\7(\2\2\u0335\u0338\7\24\2\2\u0336"+ - "\u0338\7)\2\2\u0337\u032f\3\2\2\2\u0337\u0330\3\2\2\2\u0337\u0331\3\2"+ - "\2\2\u0337\u0332\3\2\2\2\u0337\u0333\3\2\2\2\u0337\u0334\3\2\2\2\u0337"+ - "\u0335\3\2\2\2\u0337\u0336\3\2\2\2\u0338Y\3\2\2\2\u0339\u033a\7F\2\2\u033a"+ - "\u033b\5\\/\2\u033b\u033c\7E\2\2\u033c[\3\2\2\2\u033d\u0342\5$\23\2\u033e"+ - "\u033f\7B\2\2\u033f\u0341\5$\23\2\u0340\u033e\3\2\2\2\u0341\u0344\3\2"+ - "\2\2\u0342\u0340\3\2\2\2\u0342\u0343\3\2\2\2\u0343]\3\2\2\2\u0344\u0342"+ - "\3\2\2\2\u0345\u0346\7\23\2\2\u0346\u0347\5\22\n\2\u0347_\3\2\2\2\u0348"+ - "\u0349\7\32\2\2\u0349\u034a\5b\62\2\u034aa\3\2\2\2\u034b\u0350\5\30\r"+ - "\2\u034c\u034d\7B\2\2\u034d\u034f\5\30\r\2\u034e\u034c\3\2\2\2\u034f\u0352"+ - "\3\2\2\2\u0350\u034e\3\2\2\2\u0350\u0351\3\2\2\2\u0351c\3\2\2\2\u0352"+ - "\u0350\3\2\2\2\u0353\u0357\7=\2\2\u0354\u0356\5f\64\2\u0355\u0354\3\2"+ - "\2\2\u0356\u0359\3\2\2\2\u0357\u0355\3\2\2\2\u0357\u0358\3\2\2\2\u0358"+ - "\u035a\3\2\2\2\u0359\u0357\3\2\2\2\u035a\u035b\7>\2\2\u035be\3\2\2\2\u035c"+ - "\u0361\5h\65\2\u035d\u0361\5\u00acW\2\u035e\u0361\5\u00aeX\2\u035f\u0361"+ - "\5\u00b0Y\2\u0360\u035c\3\2\2\2\u0360\u035d\3\2\2\2\u0360\u035e\3\2\2"+ - "\2\u0360\u035f\3\2\2\2\u0361g\3\2\2\2\u0362\u0368\5j\66\2\u0363\u0368"+ - "\5\u008eH\2\u0364\u0368\5T+\2\u0365\u0368\5\u00c8e\2\u0366\u0368\7A\2"+ - "\2\u0367\u0362\3\2\2\2\u0367\u0363\3\2\2\2\u0367\u0364\3\2\2\2\u0367\u0365"+ - "\3\2\2\2\u0367\u0366\3\2\2\2\u0368i\3\2\2\2\u0369\u036b\5l\67\2\u036a"+ - "\u0369\3\2\2\2\u036b\u036e\3\2\2\2\u036c\u036a\3\2\2\2\u036c\u036d\3\2"+ - "\2\2\u036d\u036f\3\2\2\2\u036e\u036c\3\2\2\2\u036f\u0370\5v<\2\u0370\u0371"+ - "\5n8\2\u0371\u0372\7A\2\2\u0372k\3\2\2\2\u0373\u037c\5\u00e8u\2\u0374"+ - "\u037c\7%\2\2\u0375\u037c\7$\2\2\u0376\u037c\7#\2\2\u0377\u037c\7(\2\2"+ - "\u0378\u037c\7\24\2\2\u0379\u037c\7\60\2\2\u037a\u037c\7\63\2\2\u037b"+ - "\u0373\3\2\2\2\u037b\u0374\3\2\2\2\u037b\u0375\3\2\2\2\u037b\u0376\3\2"+ - "\2\2\u037b\u0377\3\2\2\2\u037b\u0378\3\2\2\2\u037b\u0379\3\2\2\2\u037b"+ - "\u037a\3\2\2\2\u037cm\3\2\2\2\u037d\u0382\5p9\2\u037e\u037f\7B\2\2\u037f"+ - "\u0381\5p9\2\u0380\u037e\3\2\2\2\u0381\u0384\3\2\2\2\u0382\u0380\3\2\2"+ - "\2\u0382\u0383\3\2\2\2\u0383o\3\2\2\2\u0384\u0382\3\2\2\2\u0385\u0388"+ - "\5r:\2\u0386\u0387\7D\2\2\u0387\u0389\5t;\2\u0388\u0386\3\2\2\2\u0388"+ - "\u0389\3\2\2\2\u0389q\3\2\2\2\u038a\u038c\7h\2\2\u038b\u038d\5\"\22\2"+ - "\u038c\u038b\3\2\2\2\u038c\u038d\3\2\2\2\u038ds\3\2\2\2\u038e\u0391\5"+ - "\u01a0\u00d1\2\u038f\u0391\5\u00fa~\2\u0390\u038e\3\2\2\2\u0390\u038f"+ - "\3\2\2\2\u0391u\3\2\2\2\u0392\u0395\5x=\2\u0393\u0395\5z>\2\u0394\u0392"+ - "\3\2\2\2\u0394\u0393\3\2\2\2\u0395w\3\2\2\2\u0396\u0399\5\b\5\2\u0397"+ - "\u0399\7\5\2\2\u0398\u0396\3\2\2\2\u0398\u0397\3\2\2\2\u0399y\3\2\2\2"+ - "\u039a\u039e\5|?\2\u039b\u039e\5\u008aF\2\u039c\u039e\5\u008cG\2\u039d"+ - "\u039a\3\2\2\2\u039d\u039b\3\2\2\2\u039d\u039c\3\2\2\2\u039e{\3\2\2\2"+ - "\u039f\u03a2\5\u0082B\2\u03a0\u03a2\5\u0088E\2\u03a1\u039f\3\2\2\2\u03a1"+ - "\u03a0\3\2\2\2\u03a2\u03a7\3\2\2\2\u03a3\u03a6\5\u0080A\2\u03a4\u03a6"+ - "\5\u0086D\2\u03a5\u03a3\3\2\2\2\u03a5\u03a4\3\2\2\2\u03a6\u03a9\3\2\2"+ - "\2\u03a7\u03a5\3\2\2\2\u03a7\u03a8\3\2\2\2\u03a8}\3\2\2\2\u03a9\u03a7"+ - "\3\2\2\2\u03aa\u03ac\7h\2\2\u03ab\u03ad\5,\27\2\u03ac\u03ab\3\2\2\2\u03ac"+ - "\u03ad\3\2\2\2\u03ad\u03bb\3\2\2\2\u03ae\u03af\5|?\2\u03af\u03b3\7C\2"+ - "\2\u03b0\u03b2\5\u00e8u\2\u03b1\u03b0\3\2\2\2\u03b2\u03b5\3\2\2\2\u03b3"+ - "\u03b1\3\2\2\2\u03b3\u03b4\3\2\2\2\u03b4\u03b6\3\2\2\2\u03b5\u03b3\3\2"+ - "\2\2\u03b6\u03b8\7h\2\2\u03b7\u03b9\5,\27\2\u03b8\u03b7\3\2\2\2\u03b8"+ - "\u03b9\3\2\2\2\u03b9\u03bb\3\2\2\2\u03ba\u03aa\3\2\2\2\u03ba\u03ae\3\2"+ - "\2\2\u03bb\177\3\2\2\2\u03bc\u03c0\7C\2\2\u03bd\u03bf\5\u00e8u\2\u03be"+ - "\u03bd\3\2\2\2\u03bf\u03c2\3\2\2\2\u03c0\u03be\3\2\2\2\u03c0\u03c1\3\2"+ - "\2\2\u03c1\u03c3\3\2\2\2\u03c2\u03c0\3\2\2\2\u03c3\u03c5\7h\2\2\u03c4"+ - "\u03c6\5,\27\2\u03c5\u03c4\3\2\2\2\u03c5\u03c6\3\2\2\2\u03c6\u0081\3\2"+ - "\2\2\u03c7\u03c9\7h\2\2\u03c8\u03ca\5,\27\2\u03c9\u03c8\3\2\2\2\u03c9"+ - "\u03ca\3\2\2\2\u03ca\u0083\3\2\2\2\u03cb\u03cc\5~@\2\u03cc\u0085\3\2\2"+ - "\2\u03cd\u03ce\5\u0080A\2\u03ce\u0087\3\2\2\2\u03cf\u03d0\5\u0082B\2\u03d0"+ - "\u0089\3\2\2\2\u03d1\u03d2\7h\2\2\u03d2\u008b\3\2\2\2\u03d3\u03d4\5x="+ - "\2\u03d4\u03d5\5\"\22\2\u03d5\u03dd\3\2\2\2\u03d6\u03d7\5|?\2\u03d7\u03d8"+ - "\5\"\22\2\u03d8\u03dd\3\2\2\2\u03d9\u03da\5\u008aF\2\u03da\u03db\5\"\22"+ - "\2\u03db\u03dd\3\2\2\2\u03dc\u03d3\3\2\2\2\u03dc\u03d6\3\2\2\2\u03dc\u03d9"+ - "\3\2\2\2\u03dd\u008d\3\2\2\2\u03de\u03e0\5\u0090I\2\u03df\u03de\3\2\2"+ - "\2\u03e0\u03e3\3\2\2\2\u03e1\u03df\3\2\2\2\u03e1\u03e2\3\2\2\2\u03e2\u03e4"+ - "\3\2\2\2\u03e3\u03e1\3\2\2\2\u03e4\u03e5\5\u0092J\2\u03e5\u03e6\5\u00aa"+ - "V\2\u03e6\u008f\3\2\2\2\u03e7\u03f2\5\u00e8u\2\u03e8\u03f2\7%\2\2\u03e9"+ - "\u03f2\7$\2\2\u03ea\u03f2\7#\2\2\u03eb\u03f2\7\3\2\2\u03ec\u03f2\7(\2"+ - "\2\u03ed\u03f2\7\24\2\2\u03ee\u03f2\7,\2\2\u03ef\u03f2\7 \2\2\u03f0\u03f2"+ - "\7)\2\2\u03f1\u03e7\3\2\2\2\u03f1\u03e8\3\2\2\2\u03f1\u03e9\3\2\2\2\u03f1"+ - "\u03ea\3\2\2\2\u03f1\u03eb\3\2\2\2\u03f1\u03ec\3\2\2\2\u03f1\u03ed\3\2"+ - "\2\2\u03f1\u03ee\3\2\2\2\u03f1\u03ef\3\2\2\2\u03f1\u03f0\3\2\2\2\u03f2"+ - "\u0091\3\2\2\2\u03f3\u03f4\5\u0094K\2\u03f4\u03f6\5\u0096L\2\u03f5\u03f7"+ - "\5\u00a4S\2\u03f6\u03f5\3\2\2\2\u03f6\u03f7\3\2\2\2\u03f7\u0405\3\2\2"+ - "\2\u03f8\u03fc\5Z.\2\u03f9\u03fb\5\u00e8u\2\u03fa\u03f9\3\2\2\2\u03fb"+ - "\u03fe\3\2\2\2\u03fc\u03fa\3\2\2\2\u03fc\u03fd\3\2\2\2\u03fd\u03ff\3\2"+ - "\2\2\u03fe\u03fc\3\2\2\2\u03ff\u0400\5\u0094K\2\u0400\u0402\5\u0096L\2"+ - "\u0401\u0403\5\u00a4S\2\u0402\u0401\3\2\2\2\u0402\u0403\3\2\2\2\u0403"+ - "\u0405\3\2\2\2\u0404\u03f3\3\2\2\2\u0404\u03f8\3\2\2\2\u0405\u0093\3\2"+ - "\2\2\u0406\u0409\5v<\2\u0407\u0409\7\62\2\2\u0408\u0406\3\2\2\2\u0408"+ - "\u0407\3\2\2\2\u0409\u0095\3\2\2\2\u040a\u040b\7h\2\2\u040b\u040d\7;\2"+ - "\2\u040c\u040e\5\u0098M\2\u040d\u040c\3\2\2\2\u040d\u040e\3\2\2\2\u040e"+ - "\u040f\3\2\2\2\u040f\u0411\7<\2\2\u0410\u0412\5\"\22\2\u0411\u0410\3\2"+ - "\2\2\u0411\u0412\3\2\2\2\u0412\u0097\3\2\2\2\u0413\u0414\5\u009aN\2\u0414"+ - "\u0415\7B\2\2\u0415\u0416\5\u00a0Q\2\u0416\u0419\3\2\2\2\u0417\u0419\5"+ - "\u00a0Q\2\u0418\u0413\3\2\2\2\u0418\u0417\3\2\2\2\u0419\u0099\3\2\2\2"+ - "\u041a\u041f\5\u009cO\2\u041b\u041c\7B\2\2\u041c\u041e\5\u009cO\2\u041d"+ - "\u041b\3\2\2\2\u041e\u0421\3\2\2\2\u041f\u041d\3\2\2\2\u041f\u0420\3\2"+ - "\2\2\u0420\u042b\3\2\2\2\u0421\u041f\3\2\2\2\u0422\u0427\5\u00a2R\2\u0423"+ - "\u0424\7B\2\2\u0424\u0426\5\u009cO\2\u0425\u0423\3\2\2\2\u0426\u0429\3"+ - "\2\2\2\u0427\u0425\3\2\2\2\u0427\u0428\3\2\2\2\u0428\u042b\3\2\2\2\u0429"+ - "\u0427\3\2\2\2\u042a\u041a\3\2\2\2\u042a\u0422\3\2\2\2\u042b\u009b\3\2"+ - "\2\2\u042c\u042e\5\u009eP\2\u042d\u042c\3\2\2\2\u042e\u0431\3\2\2\2\u042f"+ - "\u042d\3\2\2\2\u042f\u0430\3\2\2\2\u0430\u0432\3\2\2\2\u0431\u042f\3\2"+ - "\2\2\u0432\u0433\5v<\2\u0433\u0434\5r:\2\u0434\u009d\3\2\2\2\u0435\u0438"+ - "\5\u00e8u\2\u0436\u0438\7\24\2\2\u0437\u0435\3\2\2\2\u0437\u0436\3\2\2"+ - "\2\u0438\u009f\3\2\2\2\u0439\u043b\5\u009eP\2\u043a\u0439\3\2\2\2\u043b"+ - "\u043e\3\2\2\2\u043c\u043a\3\2\2\2\u043c\u043d\3\2\2\2\u043d\u043f\3\2"+ - "\2\2\u043e\u043c\3\2\2\2\u043f\u0443\5v<\2\u0440\u0442\5\u00e8u\2\u0441"+ - "\u0440\3\2\2\2\u0442\u0445\3\2\2\2\u0443\u0441\3\2\2\2\u0443\u0444\3\2"+ - "\2\2\u0444\u0446\3\2\2\2\u0445\u0443\3\2\2\2\u0446\u0447\7j\2\2\u0447"+ - "\u0448\5r:\2\u0448\u044b\3\2\2\2\u0449\u044b\5\u009cO\2\u044a\u043c\3"+ - "\2\2\2\u044a\u0449\3\2\2\2\u044b\u00a1\3\2\2\2\u044c\u044e\5\u00e8u\2"+ - "\u044d\u044c\3\2\2\2\u044e\u0451\3\2\2\2\u044f\u044d\3\2\2\2\u044f\u0450"+ - "\3\2\2\2\u0450\u0452\3\2\2\2\u0451\u044f\3\2\2\2\u0452\u0455\5v<\2\u0453"+ - "\u0454\7h\2\2\u0454\u0456\7C\2\2\u0455\u0453\3\2\2\2\u0455\u0456\3\2\2"+ - "\2\u0456\u0457\3\2\2\2\u0457\u0458\7-\2\2\u0458\u00a3\3\2\2\2\u0459\u045a"+ - "\7/\2\2\u045a\u045b\5\u00a6T\2\u045b\u00a5\3\2\2\2\u045c\u0461\5\u00a8"+ - "U\2\u045d\u045e\7B\2\2\u045e\u0460\5\u00a8U\2\u045f\u045d\3\2\2\2\u0460"+ - "\u0463\3\2\2\2\u0461\u045f\3\2\2\2\u0461\u0462\3\2\2\2\u0462\u00a7\3\2"+ - "\2\2\u0463\u0461\3\2\2\2\u0464\u0467\5\22\n\2\u0465\u0467\5\36\20\2\u0466"+ - "\u0464\3\2\2\2\u0466\u0465\3\2\2\2\u0467\u00a9\3\2\2\2\u0468\u046b\5\u00fe"+ - "\u0080\2\u0469\u046b\7A\2\2\u046a\u0468\3\2\2\2\u046a\u0469\3\2\2\2\u046b"+ - "\u00ab\3\2\2\2\u046c\u046d\5\u00fe\u0080\2\u046d\u00ad\3\2\2\2\u046e\u046f"+ - "\7(\2\2\u046f\u0470\5\u00fe\u0080\2\u0470\u00af\3\2\2\2\u0471\u0473\5"+ - "\u00b2Z\2\u0472\u0471\3\2\2\2\u0473\u0476\3\2\2\2\u0474\u0472\3\2\2\2"+ - "\u0474\u0475\3\2\2\2\u0475\u0477\3\2\2\2\u0476\u0474\3\2\2\2\u0477\u0479"+ - "\5\u00b4[\2\u0478\u047a\5\u00a4S\2\u0479\u0478\3\2\2\2\u0479\u047a\3\2"+ - "\2\2\u047a\u047b\3\2\2\2\u047b\u047c\5\u00b8]\2\u047c\u00b1\3\2\2\2\u047d"+ - "\u0482\5\u00e8u\2\u047e\u0482\7%\2\2\u047f\u0482\7$\2\2\u0480\u0482\7"+ - "#\2\2\u0481\u047d\3\2\2\2\u0481\u047e\3\2\2\2\u0481\u047f\3\2\2\2\u0481"+ - "\u0480\3\2\2\2\u0482\u00b3\3\2\2\2\u0483\u0485\5Z.\2\u0484\u0483\3\2\2"+ - "\2\u0484\u0485\3\2\2\2\u0485\u0486\3\2\2\2\u0486\u0487\5\u00b6\\\2\u0487"+ - "\u0489\7;\2\2\u0488\u048a\5\u0098M\2\u0489\u0488\3\2\2\2\u0489\u048a\3"+ - "\2\2\2\u048a\u048b\3\2\2\2\u048b\u048c\7<\2\2\u048c\u00b5\3\2\2\2\u048d"+ - "\u048e\7h\2\2\u048e\u00b7\3\2\2\2\u048f\u0491\7=\2\2\u0490\u0492\5\u00ba"+ - "^\2\u0491\u0490\3\2\2\2\u0491\u0492\3\2\2\2\u0492\u0494\3\2\2\2\u0493"+ - "\u0495\5\u0100\u0081\2\u0494\u0493\3\2\2\2\u0494\u0495\3\2\2\2\u0495\u0496"+ - "\3\2\2\2\u0496\u0497\7>\2\2\u0497\u00b9\3\2\2\2\u0498\u049a\5,\27\2\u0499"+ - "\u0498\3\2\2\2\u0499\u049a\3\2\2\2\u049a\u049b\3\2\2\2\u049b\u049c\7-"+ - "\2\2\u049c\u049e\7;\2\2\u049d\u049f\5\u0190\u00c9\2\u049e\u049d\3\2\2"+ - "\2\u049e\u049f\3\2\2\2\u049f\u04a0\3\2\2\2\u04a0\u04a1\7<\2\2\u04a1\u04c7"+ - "\7A\2\2\u04a2\u04a4\5,\27\2\u04a3\u04a2\3\2\2\2\u04a3\u04a4\3\2\2\2\u04a4"+ - "\u04a5\3\2\2\2\u04a5\u04a6\7*\2\2\u04a6\u04a8\7;\2\2\u04a7\u04a9\5\u0190"+ - "\u00c9\2\u04a8\u04a7\3\2\2\2\u04a8\u04a9\3\2\2\2\u04a9\u04aa\3\2\2\2\u04aa"+ - "\u04ab\7<\2\2\u04ab\u04c7\7A\2\2\u04ac\u04ad\5<\37\2\u04ad\u04af\7C\2"+ - "\2\u04ae\u04b0\5,\27\2\u04af\u04ae\3\2\2\2\u04af\u04b0\3\2\2\2\u04b0\u04b1"+ - "\3\2\2\2\u04b1\u04b2\7*\2\2\u04b2\u04b4\7;\2\2\u04b3\u04b5\5\u0190\u00c9"+ - "\2\u04b4\u04b3\3\2\2\2\u04b4\u04b5\3\2\2\2\u04b5\u04b6\3\2\2\2\u04b6\u04b7"+ - "\7<\2\2\u04b7\u04b8\7A\2\2\u04b8\u04c7\3\2\2\2\u04b9\u04ba\5\u0162\u00b2"+ - "\2\u04ba\u04bc\7C\2\2\u04bb\u04bd\5,\27\2\u04bc\u04bb\3\2\2\2\u04bc\u04bd"+ - "\3\2\2\2\u04bd\u04be\3\2\2\2\u04be\u04bf\7*\2\2\u04bf\u04c1\7;\2\2\u04c0"+ - "\u04c2\5\u0190\u00c9\2\u04c1\u04c0\3\2\2\2\u04c1\u04c2\3\2\2\2\u04c2\u04c3"+ - "\3\2\2\2\u04c3\u04c4\7<\2\2\u04c4\u04c5\7A\2\2\u04c5\u04c7\3\2\2\2\u04c6"+ - "\u0499\3\2\2\2\u04c6\u04a3\3\2\2\2\u04c6\u04ac\3\2\2\2\u04c6\u04b9\3\2"+ - "\2\2\u04c7\u00bb\3\2\2\2\u04c8\u04ca\5X-\2\u04c9\u04c8\3\2\2\2\u04ca\u04cd"+ - "\3\2\2\2\u04cb\u04c9\3\2\2\2\u04cb\u04cc\3\2\2\2\u04cc\u04ce\3\2\2\2\u04cd"+ - "\u04cb\3\2\2\2\u04ce\u04cf\7\22\2\2\u04cf\u04d1\7h\2\2\u04d0\u04d2\5`"+ - "\61\2\u04d1\u04d0\3\2\2\2\u04d1\u04d2\3\2\2\2\u04d2\u04d3\3\2\2\2\u04d3"+ - "\u04d4\5\u00be`\2\u04d4\u00bd\3\2\2\2\u04d5\u04d7\7=\2\2\u04d6\u04d8\5"+ - "\u00c0a\2\u04d7\u04d6\3\2\2\2\u04d7\u04d8\3\2\2\2\u04d8\u04da\3\2\2\2"+ - "\u04d9\u04db\7B\2\2\u04da\u04d9\3\2\2\2\u04da\u04db\3\2\2\2\u04db\u04dd"+ - "\3\2\2\2\u04dc\u04de\5\u00c6d\2\u04dd\u04dc\3\2\2\2\u04dd\u04de\3\2\2"+ - "\2\u04de\u04df\3\2\2\2\u04df\u04e0\7>\2\2\u04e0\u00bf\3\2\2\2\u04e1\u04e6"+ - "\5\u00c2b\2\u04e2\u04e3\7B\2\2\u04e3\u04e5\5\u00c2b\2\u04e4\u04e2\3\2"+ - "\2\2\u04e5\u04e8\3\2\2\2\u04e6\u04e4\3\2\2\2\u04e6\u04e7\3\2\2\2\u04e7"+ - "\u00c1\3\2\2\2\u04e8\u04e6\3\2\2\2\u04e9\u04eb\5\u00c4c\2\u04ea\u04e9"+ - "\3\2\2\2\u04eb\u04ee\3\2\2\2\u04ec\u04ea\3\2\2\2\u04ec\u04ed\3\2\2\2\u04ed"+ - "\u04ef\3\2\2\2\u04ee\u04ec\3\2\2\2\u04ef\u04f5\7h\2\2\u04f0\u04f2\7;\2"+ - "\2\u04f1\u04f3\5\u0190\u00c9\2\u04f2\u04f1\3\2\2\2\u04f2\u04f3\3\2\2\2"+ - "\u04f3\u04f4\3\2\2\2\u04f4\u04f6\7<\2\2\u04f5\u04f0\3\2\2\2\u04f5\u04f6"+ - "\3\2\2\2\u04f6\u04f8\3\2\2\2\u04f7\u04f9\5d\63\2\u04f8\u04f7\3\2\2\2\u04f8"+ - "\u04f9\3\2\2\2\u04f9\u00c3\3\2\2\2\u04fa\u04fb\5\u00e8u\2\u04fb\u00c5"+ - "\3\2\2\2\u04fc\u0500\7A\2\2\u04fd\u04ff\5f\64\2\u04fe\u04fd\3\2\2\2\u04ff"+ - "\u0502\3\2\2\2\u0500\u04fe\3\2\2\2\u0500\u0501\3\2\2\2\u0501\u00c7\3\2"+ - "\2\2\u0502\u0500\3\2\2\2\u0503\u0506\5\u00caf\2\u0504\u0506\5\u00dco\2"+ - "\u0505\u0503\3\2\2\2\u0505\u0504\3\2\2\2\u0506\u00c9\3\2\2\2\u0507\u0509"+ - "\5\u00ccg\2\u0508\u0507\3\2\2\2\u0509\u050c\3\2\2\2\u050a\u0508\3\2\2"+ - "\2\u050a\u050b\3\2\2\2\u050b\u050d\3\2\2\2\u050c\u050a\3\2\2\2\u050d\u050e"+ - "\7\36\2\2\u050e\u0510\7h\2\2\u050f\u0511\5Z.\2\u0510\u050f\3\2\2\2\u0510"+ - "\u0511\3\2\2\2\u0511\u0513\3\2\2\2\u0512\u0514\5\u00ceh\2\u0513\u0512"+ - "\3\2\2\2\u0513\u0514\3\2\2\2\u0514\u0515\3\2\2\2\u0515\u0516\5\u00d0i"+ - "\2\u0516\u00cb\3\2\2\2\u0517\u051f\5\u00e8u\2\u0518\u051f\7%\2\2\u0519"+ - "\u051f\7$\2\2\u051a\u051f\7#\2\2\u051b\u051f\7\3\2\2\u051c\u051f\7(\2"+ - "\2\u051d\u051f\7)\2\2\u051e\u0517\3\2\2\2\u051e\u0518\3\2\2\2\u051e\u0519"+ - "\3\2\2\2\u051e\u051a\3\2\2\2\u051e\u051b\3\2\2\2\u051e\u051c\3\2\2\2\u051e"+ - "\u051d\3\2\2\2\u051f\u00cd\3\2\2\2\u0520\u0521\7\23\2\2\u0521\u0522\5"+ - "b\62\2\u0522\u00cf\3\2\2\2\u0523\u0527\7=\2\2\u0524\u0526\5\u00d2j\2\u0525"+ - "\u0524\3\2\2\2\u0526\u0529\3\2\2\2\u0527\u0525\3\2\2\2\u0527\u0528\3\2"+ - "\2\2\u0528\u052a\3\2\2\2\u0529\u0527\3\2\2\2\u052a\u052b\7>\2\2\u052b"+ - "\u00d1\3\2\2\2\u052c\u0532\5\u00d4k\2\u052d\u0532\5\u00d8m\2\u052e\u0532"+ - "\5T+\2\u052f\u0532\5\u00c8e\2\u0530\u0532\7A\2\2\u0531\u052c\3\2\2\2\u0531"+ - "\u052d\3\2\2\2\u0531\u052e\3\2\2\2\u0531\u052f\3\2\2\2\u0531\u0530\3\2"+ - "\2\2\u0532\u00d3\3\2\2\2\u0533\u0535\5\u00d6l\2\u0534\u0533\3\2\2\2\u0535"+ - "\u0538\3\2\2\2\u0536\u0534\3\2\2\2\u0536\u0537\3\2\2\2\u0537\u0539\3\2"+ - "\2\2\u0538\u0536\3\2\2\2\u0539\u053a\5v<\2\u053a\u053b\5n8\2\u053b\u053c"+ - "\7A\2\2\u053c\u00d5\3\2\2\2\u053d\u0542\5\u00e8u\2\u053e\u0542\7%\2\2"+ - "\u053f\u0542\7(\2\2\u0540\u0542\7\24\2\2\u0541\u053d\3\2\2\2\u0541\u053e"+ - "\3\2\2\2\u0541\u053f\3\2\2\2\u0541\u0540\3\2\2\2\u0542\u00d7\3\2\2\2\u0543"+ - "\u0545\5\u00dan\2\u0544\u0543\3\2\2\2\u0545\u0548\3\2\2\2\u0546\u0544"+ - "\3\2\2\2\u0546\u0547\3\2\2\2\u0547\u0549\3\2\2\2\u0548\u0546\3\2\2\2\u0549"+ - "\u054a\5\u0092J\2\u054a\u054b\5\u00aaV\2\u054b\u00d9\3\2\2\2\u054c\u0553"+ - "\5\u00e8u\2\u054d\u0553\7%\2\2\u054e\u0553\7\3\2\2\u054f\u0553\7\16\2"+ - "\2\u0550\u0553\7(\2\2\u0551\u0553\7)\2\2\u0552\u054c\3\2\2\2\u0552\u054d"+ - "\3\2\2\2\u0552\u054e\3\2\2\2\u0552\u054f\3\2\2\2\u0552\u0550\3\2\2\2\u0552"+ - "\u0551\3\2\2\2\u0553\u00db\3\2\2\2\u0554\u0556\5\u00ccg\2\u0555\u0554"+ - "\3\2\2\2\u0556\u0559\3\2\2\2\u0557\u0555\3\2\2\2\u0557\u0558\3\2\2\2\u0558"+ - "\u055a\3\2\2\2\u0559\u0557\3\2\2\2\u055a\u055b\7i\2\2\u055b\u055c\7\36"+ - "\2\2\u055c\u055d\7h\2\2\u055d\u055e\5\u00dep\2\u055e\u00dd\3\2\2\2\u055f"+ - "\u0563\7=\2\2\u0560\u0562\5\u00e0q\2\u0561\u0560\3\2\2\2\u0562\u0565\3"+ - "\2\2\2\u0563\u0561\3\2\2\2\u0563\u0564\3\2\2\2\u0564\u0566\3\2\2\2\u0565"+ - "\u0563\3\2\2\2\u0566\u0567\7>\2\2\u0567\u00df\3\2\2\2\u0568\u056e\5\u00e2"+ - "r\2\u0569\u056e\5\u00d4k\2\u056a\u056e\5T+\2\u056b\u056e\5\u00c8e\2\u056c"+ - "\u056e\7A\2\2\u056d\u0568\3\2\2\2\u056d\u0569\3\2\2\2\u056d\u056a\3\2"+ - "\2\2\u056d\u056b\3\2\2\2\u056d\u056c\3\2\2\2\u056e\u00e1\3\2\2\2\u056f"+ - "\u0571\5\u00e4s\2\u0570\u056f\3\2\2\2\u0571\u0574\3\2\2\2\u0572\u0570"+ - "\3\2\2\2\u0572\u0573\3\2\2\2\u0573\u0575\3\2\2\2\u0574\u0572\3\2\2\2\u0575"+ - "\u0576\5v<\2\u0576\u0577\7h\2\2\u0577\u0578\7;\2\2\u0578\u057a\7<\2\2"+ - "\u0579\u057b\5\"\22\2\u057a\u0579\3\2\2\2\u057a\u057b\3\2\2\2\u057b\u057d"+ - "\3\2\2\2\u057c\u057e\5\u00e6t\2\u057d\u057c\3\2\2\2\u057d\u057e\3\2\2"+ - "\2\u057e\u057f\3\2\2\2\u057f\u0580\7A\2\2\u0580\u00e3\3\2\2\2\u0581\u0585"+ - "\5\u00e8u\2\u0582\u0585\7%\2\2\u0583\u0585\7\3\2\2\u0584\u0581\3\2\2\2"+ - "\u0584\u0582\3\2\2\2\u0584\u0583\3\2\2\2\u0585\u00e5\3\2\2\2\u0586\u0587"+ - "\7\16\2\2\u0587\u0588\5\u00f0y\2\u0588\u00e7\3\2\2\2\u0589\u058d\5\u00ea"+ - "v\2\u058a\u058d\5\u00f6|\2\u058b\u058d\5\u00f8}\2\u058c\u0589\3\2\2\2"+ - "\u058c\u058a\3\2\2\2\u058c\u058b\3\2\2\2\u058d\u00e9\3\2\2\2\u058e\u058f"+ - "\7i\2\2\u058f\u0590\58\35\2\u0590\u0592\7;\2\2\u0591\u0593\5\u00ecw\2"+ - "\u0592\u0591\3\2\2\2\u0592\u0593\3\2\2\2\u0593\u0594\3\2\2\2\u0594\u0595"+ - "\7<\2\2\u0595\u00eb\3\2\2\2\u0596\u059b\5\u00eex\2\u0597\u0598\7B\2\2"+ - "\u0598\u059a\5\u00eex\2\u0599\u0597\3\2\2\2\u059a\u059d\3\2\2\2\u059b"+ - "\u0599\3\2\2\2\u059b\u059c\3\2\2\2\u059c\u00ed\3\2\2\2\u059d\u059b\3\2"+ - "\2\2\u059e\u059f\7h\2\2\u059f\u05a0\7D\2\2\u05a0\u05a1\5\u00f0y\2\u05a1"+ - "\u00ef\3\2\2\2\u05a2\u05a6\5\u01b2\u00da\2\u05a3\u05a6\5\u00f2z\2\u05a4"+ - "\u05a6\5\u00e8u\2\u05a5\u05a2\3\2\2\2\u05a5\u05a3\3\2\2\2\u05a5\u05a4"+ - "\3\2\2\2\u05a6\u00f1\3\2\2\2\u05a7\u05a9\7=\2\2\u05a8\u05aa\5\u00f4{\2"+ - "\u05a9\u05a8\3\2\2\2\u05a9\u05aa\3\2\2\2\u05aa\u05ac\3\2\2\2\u05ab\u05ad"+ - "\7B\2\2\u05ac\u05ab\3\2\2\2\u05ac\u05ad\3\2\2\2\u05ad\u05ae\3\2\2\2\u05ae"+ - "\u05af\7>\2\2\u05af\u00f3\3\2\2\2\u05b0\u05b5\5\u00f0y\2\u05b1\u05b2\7"+ - "B\2\2\u05b2\u05b4\5\u00f0y\2\u05b3\u05b1\3\2\2\2\u05b4\u05b7\3\2\2\2\u05b5"+ - "\u05b3\3\2\2\2\u05b5\u05b6\3\2\2\2\u05b6\u00f5\3\2\2\2\u05b7\u05b5\3\2"+ - "\2\2\u05b8\u05b9\7i\2\2\u05b9\u05ba\58\35\2\u05ba\u00f7\3\2\2\2\u05bb"+ - "\u05bc\7i\2\2\u05bc\u05bd\58\35\2\u05bd\u05be\7;\2\2\u05be\u05bf\5\u00f0"+ - "y\2\u05bf\u05c0\7<\2\2\u05c0\u00f9\3\2\2\2\u05c1\u05c3\7=\2\2\u05c2\u05c4"+ - "\5\u00fc\177\2\u05c3\u05c2\3\2\2\2\u05c3\u05c4\3\2\2\2\u05c4\u05c6\3\2"+ - "\2\2\u05c5\u05c7\7B\2\2\u05c6\u05c5\3\2\2\2\u05c6\u05c7\3\2\2\2\u05c7"+ - "\u05c8\3\2\2\2\u05c8\u05c9\7>\2\2\u05c9\u00fb\3\2\2\2\u05ca\u05cf\5t;"+ - "\2\u05cb\u05cc\7B\2\2\u05cc\u05ce\5t;\2\u05cd\u05cb\3\2\2\2\u05ce\u05d1"+ - "\3\2\2\2\u05cf\u05cd\3\2\2\2\u05cf\u05d0\3\2\2\2\u05d0\u00fd\3\2\2\2\u05d1"+ - "\u05cf\3\2\2\2\u05d2\u05d4\7=\2\2\u05d3\u05d5\5\u0100\u0081\2\u05d4\u05d3"+ - "\3\2\2\2\u05d4\u05d5\3\2\2\2\u05d5\u05d6\3\2\2\2\u05d6\u05d7\7>\2\2\u05d7"+ - "\u00ff\3\2\2\2\u05d8\u05dc\5\u0102\u0082\2\u05d9\u05db\5\u0102\u0082\2"+ - "\u05da\u05d9\3\2\2\2\u05db\u05de\3\2\2\2\u05dc\u05da\3\2\2\2\u05dc\u05dd"+ - "\3\2\2\2\u05dd\u0101\3\2\2\2\u05de\u05dc\3\2\2\2\u05df\u05e3\5\u0104\u0083"+ - "\2\u05e0\u05e3\5T+\2\u05e1\u05e3\5\u0108\u0085\2\u05e2\u05df\3\2\2\2\u05e2"+ - "\u05e0\3\2\2\2\u05e2\u05e1\3\2\2\2\u05e3\u0103\3\2\2\2\u05e4\u05e5\5\u0106"+ - "\u0084\2\u05e5\u05e6\7A\2\2\u05e6\u0105\3\2\2\2\u05e7\u05e9\5\u009eP\2"+ - "\u05e8\u05e7\3\2\2\2\u05e9\u05ec\3\2\2\2\u05ea\u05e8\3\2\2\2\u05ea\u05eb"+ - "\3\2\2\2\u05eb\u05ed\3\2\2\2\u05ec\u05ea\3\2\2\2\u05ed\u05ee\5v<\2\u05ee"+ - "\u05ef\5n8\2\u05ef\u0107\3\2\2\2\u05f0\u05f7\5\u010c\u0087\2\u05f1\u05f7"+ - "\5\u0110\u0089\2\u05f2\u05f7\5\u0118\u008d\2\u05f3\u05f7\5\u011a\u008e"+ - "\2\u05f4\u05f7\5\u012c\u0097\2\u05f5\u05f7\5\u0132\u009a\2\u05f6\u05f0"+ - "\3\2\2\2\u05f6\u05f1\3\2\2\2\u05f6\u05f2\3\2\2\2\u05f6\u05f3\3\2\2\2\u05f6"+ - "\u05f4\3\2\2\2\u05f6\u05f5\3\2\2\2\u05f7\u0109\3\2\2\2\u05f8\u05fe\5\u010c"+ - "\u0087\2\u05f9\u05fe\5\u0112\u008a\2\u05fa\u05fe\5\u011c\u008f\2\u05fb"+ - "\u05fe\5\u012e\u0098\2\u05fc\u05fe\5\u0134\u009b\2\u05fd\u05f8\3\2\2\2"+ - "\u05fd\u05f9\3\2\2\2\u05fd\u05fa\3\2\2\2\u05fd\u05fb\3\2\2\2\u05fd\u05fc"+ - "\3\2\2\2\u05fe\u010b\3\2\2\2\u05ff\u060c\5\u00fe\u0080\2\u0600\u060c\5"+ - "\u010e\u0088\2\u0601\u060c\5\u0114\u008b\2\u0602\u060c\5\u011e\u0090\2"+ - "\u0603\u060c\5\u0120\u0091\2\u0604\u060c\5\u0130\u0099\2\u0605\u060c\5"+ - "\u0144\u00a3\2\u0606\u060c\5\u0146\u00a4\2\u0607\u060c\5\u0148\u00a5\2"+ - "\u0608\u060c\5\u014c\u00a7\2\u0609\u060c\5\u014a\u00a6\2\u060a\u060c\5"+ - "\u014e\u00a8\2\u060b\u05ff\3\2\2\2\u060b\u0600\3\2\2\2\u060b\u0601\3\2"+ - "\2\2\u060b\u0602\3\2\2\2\u060b\u0603\3\2\2\2\u060b\u0604\3\2\2\2\u060b"+ - "\u0605\3\2\2\2\u060b\u0606\3\2\2\2\u060b\u0607\3\2\2\2\u060b\u0608\3\2"+ - "\2\2\u060b\u0609\3\2\2\2\u060b\u060a\3\2\2\2\u060c\u010d\3\2\2\2\u060d"+ - "\u060e\7A\2\2\u060e\u010f\3\2\2\2\u060f\u0610\7h\2\2\u0610\u0611\7J\2"+ - "\2\u0611\u0612\5\u0108\u0085\2\u0612\u0111\3\2\2\2\u0613\u0614\7h\2\2"+ - "\u0614\u0615\7J\2\2\u0615\u0616\5\u010a\u0086\2\u0616\u0113\3\2\2\2\u0617"+ - "\u0618\5\u0116\u008c\2\u0618\u0619\7A\2\2\u0619\u0115\3\2\2\2\u061a\u0622"+ - "\5\u01ac\u00d7\2\u061b\u0622\5\u01ca\u00e6\2\u061c\u0622\5\u01cc\u00e7"+ - "\2\u061d\u0622\5\u01d2\u00ea\2\u061e\u0622\5\u01d6\u00ec\2\u061f\u0622"+ - "\5\u018a\u00c6\2\u0620\u0622\5\u0176\u00bc\2\u0621\u061a\3\2\2\2\u0621"+ - "\u061b\3\2\2\2\u0621\u061c\3\2\2\2\u0621\u061d\3\2\2\2\u0621\u061e\3\2"+ - "\2\2\u0621\u061f\3\2\2\2\u0621\u0620\3\2\2\2\u0622\u0117\3\2\2\2\u0623"+ - "\u0624\7\30\2\2\u0624\u0625\7;\2\2\u0625\u0626\5\u01a0\u00d1\2\u0626\u0627"+ - "\7<\2\2\u0627\u0628\5\u0108\u0085\2\u0628\u0119\3\2\2\2\u0629\u062a\7"+ - "\30\2\2\u062a\u062b\7;\2\2\u062b\u062c\5\u01a0\u00d1\2\u062c\u062d\7<"+ - "\2\2\u062d\u062e\5\u010a\u0086\2\u062e\u062f\7\21\2\2\u062f\u0630\5\u0108"+ - "\u0085\2\u0630\u011b\3\2\2\2\u0631\u0632\7\30\2\2\u0632\u0633\7;\2\2\u0633"+ - "\u0634\5\u01a0\u00d1\2\u0634\u0635\7<\2\2\u0635\u0636\5\u010a\u0086\2"+ - "\u0636\u0637\7\21\2\2\u0637\u0638\5\u010a\u0086\2\u0638\u011d\3\2\2\2"+ - "\u0639\u063a\7\4\2\2\u063a\u063b\5\u01a0\u00d1\2\u063b\u063c\7A\2\2\u063c"+ - "\u0644\3\2\2\2\u063d\u063e\7\4\2\2\u063e\u063f\5\u01a0\u00d1\2\u063f\u0640"+ - "\7J\2\2\u0640\u0641\5\u01a0\u00d1\2\u0641\u0642\7A\2\2\u0642\u0644\3\2"+ - "\2\2\u0643\u0639\3\2\2\2\u0643\u063d\3\2\2\2\u0644\u011f\3\2\2\2\u0645"+ - "\u0646\7+\2\2\u0646\u0647\7;\2\2\u0647\u0648\5\u01a0\u00d1\2\u0648\u0649"+ - "\7<\2\2\u0649\u064a\5\u0122\u0092\2\u064a\u0121\3\2\2\2\u064b\u064f\7"+ - "=\2\2\u064c\u064e\5\u0124\u0093\2\u064d\u064c\3\2\2\2\u064e\u0651\3\2"+ - "\2\2\u064f\u064d\3\2\2\2\u064f\u0650\3\2\2\2\u0650\u0655\3\2\2\2\u0651"+ - "\u064f\3\2\2\2\u0652\u0654\5\u0128\u0095\2\u0653\u0652\3\2\2\2\u0654\u0657"+ - "\3\2\2\2\u0655\u0653\3\2\2\2\u0655\u0656\3\2\2\2\u0656\u0658\3\2\2\2\u0657"+ - "\u0655\3\2\2\2\u0658\u0659\7>\2\2\u0659\u0123\3\2\2\2\u065a\u065b\5\u0126"+ - "\u0094\2\u065b\u065c\5\u0100\u0081\2\u065c\u0125\3\2\2\2\u065d\u0661\5"+ - "\u0128\u0095\2\u065e\u0660\5\u0128\u0095\2\u065f\u065e\3\2\2\2\u0660\u0663"+ - "\3\2\2\2\u0661\u065f\3\2\2\2\u0661\u0662\3\2\2\2\u0662\u0127\3\2\2\2\u0663"+ - "\u0661\3\2\2\2\u0664\u0665\7\b\2\2\u0665\u0666\5\u019e\u00d0\2\u0666\u0667"+ - "\7J\2\2\u0667\u066f\3\2\2\2\u0668\u0669\7\b\2\2\u0669\u066a\5\u012a\u0096"+ - "\2\u066a\u066b\7J\2\2\u066b\u066f\3\2\2\2\u066c\u066d\7\16\2\2\u066d\u066f"+ - "\7J\2\2\u066e\u0664\3\2\2\2\u066e\u0668\3\2\2\2\u066e\u066c\3\2\2\2\u066f"+ - "\u0129\3\2\2\2\u0670\u0671\7h\2\2\u0671\u012b\3\2\2\2\u0672\u0673\7\64"+ - "\2\2\u0673\u0674\7;\2\2\u0674\u0675\5\u01a0\u00d1\2\u0675\u0676\7<\2\2"+ - "\u0676\u0677\5\u0108\u0085\2\u0677\u012d\3\2\2\2\u0678\u0679\7\64\2\2"+ - "\u0679\u067a\7;\2\2\u067a\u067b\5\u01a0\u00d1\2\u067b\u067c\7<\2\2\u067c"+ - "\u067d\5\u010a\u0086\2\u067d\u012f\3\2\2\2\u067e\u067f\7\17\2\2\u067f"+ - "\u0680\5\u0108\u0085\2\u0680\u0681\7\64\2\2\u0681\u0682\7;\2\2\u0682\u0683"+ - "\5\u01a0\u00d1\2\u0683\u0684\7<\2\2\u0684\u0685\7A\2\2\u0685\u0131\3\2"+ - "\2\2\u0686\u0689\5\u0136\u009c\2\u0687\u0689\5\u0140\u00a1\2\u0688\u0686"+ - "\3\2\2\2\u0688\u0687\3\2\2\2\u0689\u0133\3\2\2\2\u068a\u068d\5\u0138\u009d"+ - "\2\u068b\u068d\5\u0142\u00a2\2\u068c\u068a\3\2\2\2\u068c\u068b\3\2\2\2"+ - "\u068d\u0135\3\2\2\2\u068e\u068f\7\27\2\2\u068f\u0691\7;\2\2\u0690\u0692"+ - "\5\u013a\u009e\2\u0691\u0690\3\2\2\2\u0691\u0692\3\2\2\2\u0692\u0693\3"+ - "\2\2\2\u0693\u0695\7A\2\2\u0694\u0696\5\u01a0\u00d1\2\u0695\u0694\3\2"+ - "\2\2\u0695\u0696\3\2\2\2\u0696\u0697\3\2\2\2\u0697\u0699\7A\2\2\u0698"+ - "\u069a\5\u013c\u009f\2\u0699\u0698\3\2\2\2\u0699\u069a\3\2\2\2\u069a\u069b"+ - "\3\2\2\2\u069b\u069c\7<\2\2\u069c\u069d\5\u0108\u0085\2\u069d\u0137\3"+ - "\2\2\2\u069e\u069f\7\27\2\2\u069f\u06a1\7;\2\2\u06a0\u06a2\5\u013a\u009e"+ - "\2\u06a1\u06a0\3\2\2\2\u06a1\u06a2\3\2\2\2\u06a2\u06a3\3\2\2\2\u06a3\u06a5"+ - "\7A\2\2\u06a4\u06a6\5\u01a0\u00d1\2\u06a5\u06a4\3\2\2\2\u06a5\u06a6\3"+ - "\2\2\2\u06a6\u06a7\3\2\2\2\u06a7\u06a9\7A\2\2\u06a8\u06aa\5\u013c\u009f"+ - "\2\u06a9\u06a8\3\2\2\2\u06a9\u06aa\3\2\2\2\u06aa\u06ab\3\2\2\2\u06ab\u06ac"+ - "\7<\2\2\u06ac\u06ad\5\u010a\u0086\2\u06ad\u0139\3\2\2\2\u06ae\u06b1\5"+ - "\u013e\u00a0\2\u06af\u06b1\5\u0106\u0084\2\u06b0\u06ae\3\2\2\2\u06b0\u06af"+ - "\3\2\2\2\u06b1\u013b\3\2\2\2\u06b2\u06b3\5\u013e\u00a0\2\u06b3\u013d\3"+ - "\2\2\2\u06b4\u06b9\5\u0116\u008c\2\u06b5\u06b6\7B\2\2\u06b6\u06b8\5\u0116"+ - "\u008c\2\u06b7\u06b5\3\2\2\2\u06b8\u06bb\3\2\2\2\u06b9\u06b7\3\2\2\2\u06b9"+ - "\u06ba\3\2\2\2\u06ba\u013f\3\2\2\2\u06bb\u06b9\3\2\2\2\u06bc\u06bd\7\27"+ - "\2\2\u06bd\u06c1\7;\2\2\u06be\u06c0\5\u009eP\2\u06bf\u06be\3\2\2\2\u06c0"+ - "\u06c3\3\2\2\2\u06c1\u06bf\3\2\2\2\u06c1\u06c2\3\2\2\2\u06c2\u06c4\3\2"+ - "\2\2\u06c3\u06c1\3\2\2\2\u06c4\u06c5\5v<\2\u06c5\u06c6\5r:\2\u06c6\u06c7"+ - "\7J\2\2\u06c7\u06c8\5\u01a0\u00d1\2\u06c8\u06c9\7<\2\2\u06c9\u06ca\5\u0108"+ - "\u0085\2\u06ca\u0141\3\2\2\2\u06cb\u06cc\7\27\2\2\u06cc\u06d0\7;\2\2\u06cd"+ - "\u06cf\5\u009eP\2\u06ce\u06cd\3\2\2\2\u06cf\u06d2\3\2\2\2\u06d0\u06ce"+ - "\3\2\2\2\u06d0\u06d1\3\2\2\2\u06d1\u06d3\3\2\2\2\u06d2\u06d0\3\2\2\2\u06d3"+ - "\u06d4\5v<\2\u06d4\u06d5\5r:\2\u06d5\u06d6\7J\2\2\u06d6\u06d7\5\u01a0"+ - "\u00d1\2\u06d7\u06d8\7<\2\2\u06d8\u06d9\5\u010a\u0086\2\u06d9\u0143\3"+ - "\2\2\2\u06da\u06dc\7\6\2\2\u06db\u06dd\7h\2\2\u06dc\u06db\3\2\2\2\u06dc"+ - "\u06dd\3\2\2\2\u06dd\u06de\3\2\2\2\u06de\u06df\7A\2\2\u06df\u0145\3\2"+ - "\2\2\u06e0\u06e2\7\r\2\2\u06e1\u06e3\7h\2\2\u06e2\u06e1\3\2\2\2\u06e2"+ - "\u06e3\3\2\2\2\u06e3\u06e4\3\2\2\2\u06e4\u06e5\7A\2\2\u06e5\u0147\3\2"+ - "\2\2\u06e6\u06e8\7&\2\2\u06e7\u06e9\5\u01a0\u00d1\2\u06e8\u06e7\3\2\2"+ - "\2\u06e8\u06e9\3\2\2\2\u06e9\u06ea\3\2\2\2\u06ea\u06eb\7A\2\2\u06eb\u0149"+ - "\3\2\2\2\u06ec\u06ed\7.\2\2\u06ed\u06ee\5\u01a0\u00d1\2\u06ee\u06ef\7"+ - "A\2\2\u06ef\u014b\3\2\2\2\u06f0\u06f1\7,\2\2\u06f1\u06f2\7;\2\2\u06f2"+ - "\u06f3\5\u01a0\u00d1\2\u06f3\u06f4\7<\2\2\u06f4\u06f5\5\u00fe\u0080\2"+ - "\u06f5\u014d\3\2\2\2\u06f6\u06f7\7\61\2\2\u06f7\u06f8\5\u00fe\u0080\2"+ - "\u06f8\u06f9\5\u0150\u00a9\2\u06f9\u0703\3\2\2\2\u06fa\u06fb\7\61\2\2"+ - "\u06fb\u06fd\5\u00fe\u0080\2\u06fc\u06fe\5\u0150\u00a9\2\u06fd\u06fc\3"+ - "\2\2\2\u06fd\u06fe\3\2\2\2\u06fe\u06ff\3\2\2\2\u06ff\u0700\5\u0158\u00ad"+ - "\2\u0700\u0703\3\2\2\2\u0701\u0703\5\u015a\u00ae\2\u0702\u06f6\3\2\2\2"+ - "\u0702\u06fa\3\2\2\2\u0702\u0701\3\2\2\2\u0703\u014f\3\2\2\2\u0704\u0708"+ - "\5\u0152\u00aa\2\u0705\u0707\5\u0152\u00aa\2\u0706\u0705\3\2\2\2\u0707"+ - "\u070a\3\2\2\2\u0708\u0706\3\2\2\2\u0708\u0709\3\2\2\2\u0709\u0151\3\2"+ - "\2\2\u070a\u0708\3\2\2\2\u070b\u070c\7\t\2\2\u070c\u070d\7;\2\2\u070d"+ - "\u070e\5\u0154\u00ab\2\u070e\u070f\7<\2\2\u070f\u0710\5\u00fe\u0080\2"+ - "\u0710\u0153\3\2\2\2\u0711\u0713\5\u009eP\2\u0712\u0711\3\2\2\2\u0713"+ - "\u0716\3\2\2\2\u0714\u0712\3\2\2\2\u0714\u0715\3\2\2\2\u0715\u0717\3\2"+ - "\2\2\u0716\u0714\3\2\2\2\u0717\u0718\5\u0156\u00ac\2\u0718\u0719\5r:\2"+ - "\u0719\u0155\3\2\2\2\u071a\u071f\5~@\2\u071b\u071c\7X\2\2\u071c\u071e"+ - "\5\22\n\2\u071d\u071b\3\2\2\2\u071e\u0721\3\2\2\2\u071f\u071d\3\2\2\2"+ - "\u071f\u0720\3\2\2\2\u0720\u0157\3\2\2\2\u0721\u071f\3\2\2\2\u0722\u0723"+ - "\7\25\2\2\u0723\u0724\5\u00fe\u0080\2\u0724\u0159\3\2\2\2\u0725\u0726"+ - "\7\61\2\2\u0726\u0727\5\u015c\u00af\2\u0727\u0729\5\u00fe\u0080\2\u0728"+ - "\u072a\5\u0150\u00a9\2\u0729\u0728\3\2\2\2\u0729\u072a\3\2\2\2\u072a\u072c"+ - "\3\2\2\2\u072b\u072d\5\u0158\u00ad\2\u072c\u072b\3\2\2\2\u072c\u072d\3"+ - "\2\2\2\u072d\u015b\3\2\2\2\u072e\u072f\7;\2\2\u072f\u0731\5\u015e\u00b0"+ - "\2\u0730\u0732\7A\2\2\u0731\u0730\3\2\2\2\u0731\u0732\3\2\2\2\u0732\u0733"+ - "\3\2\2\2\u0733\u0734\7<\2\2\u0734\u015d\3\2\2\2\u0735\u073a\5\u0160\u00b1"+ - "\2\u0736\u0737\7A\2\2\u0737\u0739\5\u0160\u00b1\2\u0738\u0736\3\2\2\2"+ - "\u0739\u073c\3\2\2\2\u073a\u0738\3\2\2\2\u073a\u073b\3\2\2\2\u073b\u015f"+ - "\3\2\2\2\u073c\u073a\3\2\2\2\u073d\u073f\5\u009eP\2\u073e\u073d\3\2\2"+ - "\2\u073f\u0742\3\2\2\2\u0740\u073e\3\2\2\2\u0740\u0741\3\2\2\2\u0741\u0743"+ - "\3\2\2\2\u0742\u0740\3\2\2\2\u0743\u0744\5v<\2\u0744\u0745\5r:\2\u0745"+ - "\u0746\7D\2\2\u0746\u0747\5\u01a0\u00d1\2\u0747\u0161\3\2\2\2\u0748\u074b"+ - "\5\u0170\u00b9\2\u0749\u074b\5\u0198\u00cd\2\u074a\u0748\3\2\2\2\u074a"+ - "\u0749\3\2\2\2\u074b\u074f\3\2\2\2\u074c\u074e\5\u016a\u00b6\2\u074d\u074c"+ - "\3\2\2\2\u074e\u0751\3\2\2\2\u074f\u074d\3\2\2\2\u074f\u0750\3\2\2\2\u0750"+ - "\u0163\3\2\2\2\u0751\u074f\3\2\2\2\u0752\u0770\5\2\2\2\u0753\u0758\58"+ - "\35\2\u0754\u0755\7?\2\2\u0755\u0757\7@\2\2\u0756\u0754\3\2\2\2\u0757"+ - "\u075a\3\2\2\2\u0758\u0756\3\2\2\2\u0758\u0759\3\2\2\2\u0759\u075b\3\2"+ - "\2\2\u075a\u0758\3\2\2\2\u075b\u075c\7C\2\2\u075c\u075d\7\13\2\2\u075d"+ - "\u0770\3\2\2\2\u075e\u075f\7\62\2\2\u075f\u0760\7C\2\2\u0760\u0770\7\13"+ - "\2\2\u0761\u0770\7-\2\2\u0762\u0763\58\35\2\u0763\u0764\7C\2\2\u0764\u0765"+ - "\7-\2\2\u0765\u0770\3\2\2\2\u0766\u0767\7;\2\2\u0767\u0768\5\u01a0\u00d1"+ - "\2\u0768\u0769\7<\2\2\u0769\u0770\3\2\2\2\u076a\u0770\5\u0176\u00bc\2"+ - "\u076b\u0770\5\u017e\u00c0\2\u076c\u0770\5\u0184\u00c3\2\u076d\u0770\5"+ - "\u018a\u00c6\2\u076e\u0770\5\u0192\u00ca\2\u076f\u0752\3\2\2\2\u076f\u0753"+ - "\3\2\2\2\u076f\u075e\3\2\2\2\u076f\u0761\3\2\2\2\u076f\u0762\3\2\2\2\u076f"+ - "\u0766\3\2\2\2\u076f\u076a\3\2\2\2\u076f\u076b\3\2\2\2\u076f\u076c\3\2"+ - "\2\2\u076f\u076d\3\2\2\2\u076f\u076e\3\2\2\2\u0770\u0165\3\2\2\2\u0771"+ - "\u0772\3\2\2\2\u0772\u0167\3\2\2\2\u0773\u0790\5\2\2\2\u0774\u0779\58"+ - "\35\2\u0775\u0776\7?\2\2\u0776\u0778\7@\2\2\u0777\u0775\3\2\2\2\u0778"+ - "\u077b\3\2\2\2\u0779\u0777\3\2\2\2\u0779\u077a\3\2\2\2\u077a\u077c\3\2"+ - "\2\2\u077b\u0779\3\2\2\2\u077c\u077d\7C\2\2\u077d\u077e\7\13\2\2\u077e"+ - "\u0790\3\2\2\2\u077f\u0780\7\62\2\2\u0780\u0781\7C\2\2\u0781\u0790\7\13"+ - "\2\2\u0782\u0790\7-\2\2\u0783\u0784\58\35\2\u0784\u0785\7C\2\2\u0785\u0786"+ - "\7-\2\2\u0786\u0790\3\2\2\2\u0787\u0788\7;\2\2\u0788\u0789\5\u01a0\u00d1"+ - "\2\u0789\u078a\7<\2\2\u078a\u0790\3\2\2\2\u078b\u0790\5\u0176\u00bc\2"+ - "\u078c\u0790\5\u017e\u00c0\2\u078d\u0790\5\u018a\u00c6\2\u078e\u0790\5"+ - "\u0192\u00ca\2\u078f\u0773\3\2\2\2\u078f\u0774\3\2\2\2\u078f\u077f\3\2"+ - "\2\2\u078f\u0782\3\2\2\2\u078f\u0783\3\2\2\2\u078f\u0787\3\2\2\2\u078f"+ - "\u078b\3\2\2\2\u078f\u078c\3\2\2\2\u078f\u078d\3\2\2\2\u078f\u078e\3\2"+ - "\2\2\u0790\u0169\3\2\2\2\u0791\u0797\5\u0178\u00bd\2\u0792\u0797\5\u0180"+ - "\u00c1\2\u0793\u0797\5\u0186\u00c4\2\u0794\u0797\5\u018c\u00c7\2\u0795"+ - "\u0797\5\u0194\u00cb\2\u0796\u0791\3\2\2\2\u0796\u0792\3\2\2\2\u0796\u0793"+ - "\3\2\2\2\u0796\u0794\3\2\2\2\u0796\u0795\3\2\2\2\u0797\u016b\3\2\2\2\u0798"+ - "\u0799\3\2\2\2\u0799\u016d\3\2\2\2\u079a\u079f\5\u0178\u00bd\2\u079b\u079f"+ - "\5\u0180\u00c1\2\u079c\u079f\5\u018c\u00c7\2\u079d\u079f\5\u0194\u00cb"+ - "\2\u079e\u079a\3\2\2\2\u079e\u079b\3\2\2\2\u079e\u079c\3\2\2\2\u079e\u079d"+ - "\3\2\2\2\u079f\u016f\3\2\2\2\u07a0\u07c9\5\2\2\2\u07a1\u07a6\58\35\2\u07a2"+ - "\u07a3\7?\2\2\u07a3\u07a5\7@\2\2\u07a4\u07a2\3\2\2\2\u07a5\u07a8\3\2\2"+ - "\2\u07a6\u07a4\3\2\2\2\u07a6\u07a7\3\2\2\2\u07a7\u07a9\3\2\2\2\u07a8\u07a6"+ - "\3\2\2\2\u07a9\u07aa\7C\2\2\u07aa\u07ab\7\13\2\2\u07ab\u07c9\3\2\2\2\u07ac"+ - "\u07b1\5x=\2\u07ad\u07ae\7?\2\2\u07ae\u07b0\7@\2\2\u07af\u07ad\3\2\2\2"+ - "\u07b0\u07b3\3\2\2\2\u07b1\u07af\3\2\2\2\u07b1\u07b2\3\2\2\2\u07b2\u07b4"+ - "\3\2\2\2\u07b3\u07b1\3\2\2\2\u07b4\u07b5\7C\2\2\u07b5\u07b6\7\13\2\2\u07b6"+ - "\u07c9\3\2\2\2\u07b7\u07b8\7\62\2\2\u07b8\u07b9\7C\2\2\u07b9\u07c9\7\13"+ - "\2\2\u07ba\u07c9\7-\2\2\u07bb\u07bc\58\35\2\u07bc\u07bd\7C\2\2\u07bd\u07be"+ - "\7-\2\2\u07be\u07c9\3\2\2\2\u07bf\u07c0\7;\2\2\u07c0\u07c1\5\u01a0\u00d1"+ - "\2\u07c1\u07c2\7<\2\2\u07c2\u07c9\3\2\2\2\u07c3\u07c9\5\u017a\u00be\2"+ - "\u07c4\u07c9\5\u0182\u00c2\2\u07c5\u07c9\5\u0188\u00c5\2\u07c6\u07c9\5"+ - "\u018e\u00c8\2\u07c7\u07c9\5\u0196\u00cc\2\u07c8\u07a0\3\2\2\2\u07c8\u07a1"+ - "\3\2\2\2\u07c8\u07ac\3\2\2\2\u07c8\u07b7\3\2\2\2\u07c8\u07ba\3\2\2\2\u07c8"+ - "\u07bb\3\2\2\2\u07c8\u07bf\3\2\2\2\u07c8\u07c3\3\2\2\2\u07c8\u07c4\3\2"+ - "\2\2\u07c8\u07c5\3\2\2\2\u07c8\u07c6\3\2\2\2\u07c8\u07c7\3\2\2\2\u07c9"+ - "\u0171\3\2\2\2\u07ca\u07cb\3\2\2\2\u07cb\u0173\3\2\2\2\u07cc\u07f4\5\2"+ - "\2\2\u07cd\u07d2\58\35\2\u07ce\u07cf\7?\2\2\u07cf\u07d1\7@\2\2\u07d0\u07ce"+ - "\3\2\2\2\u07d1\u07d4\3\2\2\2\u07d2\u07d0\3\2\2\2\u07d2\u07d3\3\2\2\2\u07d3"+ - "\u07d5\3\2\2\2\u07d4\u07d2\3\2\2\2\u07d5\u07d6\7C\2\2\u07d6\u07d7\7\13"+ - "\2\2\u07d7\u07f4\3\2\2\2\u07d8\u07dd\5x=\2\u07d9\u07da\7?\2\2\u07da\u07dc"+ - "\7@\2\2\u07db\u07d9\3\2\2\2\u07dc\u07df\3\2\2\2\u07dd\u07db\3\2\2\2\u07dd"+ - "\u07de\3\2\2\2\u07de\u07e0\3\2\2\2\u07df\u07dd\3\2\2\2\u07e0\u07e1\7C"+ - "\2\2\u07e1\u07e2\7\13\2\2\u07e2\u07f4\3\2\2\2\u07e3\u07e4\7\62\2\2\u07e4"+ - "\u07e5\7C\2\2\u07e5\u07f4\7\13\2\2\u07e6\u07f4\7-\2\2\u07e7\u07e8\58\35"+ - "\2\u07e8\u07e9\7C\2\2\u07e9\u07ea\7-\2\2\u07ea\u07f4\3\2\2\2\u07eb\u07ec"+ - "\7;\2\2\u07ec\u07ed\5\u01a0\u00d1\2\u07ed\u07ee\7<\2\2\u07ee\u07f4\3\2"+ - "\2\2\u07ef\u07f4\5\u017a\u00be\2\u07f0\u07f4\5\u0182\u00c2\2\u07f1\u07f4"+ - "\5\u018e\u00c8\2\u07f2\u07f4\5\u0196\u00cc\2\u07f3\u07cc\3\2\2\2\u07f3"+ - "\u07cd\3\2\2\2\u07f3\u07d8\3\2\2\2\u07f3\u07e3\3\2\2\2\u07f3\u07e6\3\2"+ - "\2\2\u07f3\u07e7\3\2\2\2\u07f3\u07eb\3\2\2\2\u07f3\u07ef\3\2\2\2\u07f3"+ - "\u07f0\3\2\2\2\u07f3\u07f1\3\2\2\2\u07f3\u07f2\3\2\2\2\u07f4\u0175\3\2"+ - "\2\2\u07f5\u07f7\7!\2\2\u07f6\u07f8\5,\27\2\u07f7\u07f6\3\2\2\2\u07f7"+ - "\u07f8\3\2\2\2\u07f8\u07fc\3\2\2\2\u07f9\u07fb\5\u00e8u\2\u07fa\u07f9"+ - "\3\2\2\2\u07fb\u07fe\3\2\2\2\u07fc\u07fa\3\2\2\2\u07fc\u07fd\3\2\2\2\u07fd"+ - "\u07ff\3\2\2\2\u07fe\u07fc\3\2\2\2\u07ff\u080a\7h\2\2\u0800\u0804\7C\2"+ - "\2\u0801\u0803\5\u00e8u\2\u0802\u0801\3\2\2\2\u0803\u0806\3\2\2\2\u0804"+ - "\u0802\3\2\2\2\u0804\u0805\3\2\2\2\u0805\u0807\3\2\2\2\u0806\u0804\3\2"+ - "\2\2\u0807\u0809\7h\2\2\u0808\u0800\3\2\2\2\u0809\u080c\3\2\2\2\u080a"+ - "\u0808\3\2\2\2\u080a\u080b\3\2\2\2\u080b\u080e\3\2\2\2\u080c\u080a\3\2"+ - "\2\2\u080d\u080f\5\u017c\u00bf\2\u080e\u080d\3\2\2\2\u080e\u080f\3\2\2"+ - "\2\u080f\u0810\3\2\2\2\u0810\u0812\7;\2\2\u0811\u0813\5\u0190\u00c9\2"+ - "\u0812\u0811\3\2\2\2\u0812\u0813\3\2\2\2\u0813\u0814\3\2\2\2\u0814\u0816"+ - "\7<\2\2\u0815\u0817\5d\63\2\u0816\u0815\3\2\2\2\u0816\u0817\3\2\2\2\u0817"+ - "\u0849\3\2\2\2\u0818\u0819\5<\37\2\u0819\u081a\7C\2\2\u081a\u081c\7!\2"+ - "\2\u081b\u081d\5,\27\2\u081c\u081b\3\2\2\2\u081c\u081d\3\2\2\2\u081d\u0821"+ - "\3\2\2\2\u081e\u0820\5\u00e8u\2\u081f\u081e\3\2\2\2\u0820\u0823\3\2\2"+ - "\2\u0821\u081f\3\2\2\2\u0821\u0822\3\2\2\2\u0822\u0824\3\2\2\2\u0823\u0821"+ - "\3\2\2\2\u0824\u0826\7h\2\2\u0825\u0827\5\u017c\u00bf\2\u0826\u0825\3"+ - "\2\2\2\u0826\u0827\3\2\2\2\u0827\u0828\3\2\2\2\u0828\u082a\7;\2\2\u0829"+ - "\u082b\5\u0190\u00c9\2\u082a\u0829\3\2\2\2\u082a\u082b\3\2\2\2\u082b\u082c"+ - "\3\2\2\2\u082c\u082e\7<\2\2\u082d\u082f\5d\63\2\u082e\u082d\3\2\2\2\u082e"+ - "\u082f\3\2\2\2\u082f\u0849\3\2\2\2\u0830\u0831\5\u0162\u00b2\2\u0831\u0832"+ - "\7C\2\2\u0832\u0834\7!\2\2\u0833\u0835\5,\27\2\u0834\u0833\3\2\2\2\u0834"+ - "\u0835\3\2\2\2\u0835\u0839\3\2\2\2\u0836\u0838\5\u00e8u\2\u0837\u0836"+ - "\3\2\2\2\u0838\u083b\3\2\2\2\u0839\u0837\3\2\2\2\u0839\u083a\3\2\2\2\u083a"+ - "\u083c\3\2\2\2\u083b\u0839\3\2\2\2\u083c\u083e\7h\2\2\u083d\u083f\5\u017c"+ - "\u00bf\2\u083e\u083d\3\2\2\2\u083e\u083f\3\2\2\2\u083f\u0840\3\2\2\2\u0840"+ - "\u0842\7;\2\2\u0841\u0843\5\u0190\u00c9\2\u0842\u0841\3\2\2\2\u0842\u0843"+ - "\3\2\2\2\u0843\u0844\3\2\2\2\u0844\u0846\7<\2\2\u0845\u0847\5d\63\2\u0846"+ - "\u0845\3\2\2\2\u0846\u0847\3\2\2\2\u0847\u0849\3\2\2\2\u0848\u07f5\3\2"+ - "\2\2\u0848\u0818\3\2\2\2\u0848\u0830\3\2\2\2\u0849\u0177\3\2\2\2\u084a"+ - "\u084b\7C\2\2\u084b\u084d\7!\2\2\u084c\u084e\5,\27\2\u084d\u084c\3\2\2"+ - "\2\u084d\u084e\3\2\2\2\u084e\u0852\3\2\2\2\u084f\u0851\5\u00e8u\2\u0850"+ - "\u084f\3\2\2\2\u0851\u0854\3\2\2\2\u0852\u0850\3\2\2\2\u0852\u0853\3\2"+ - "\2\2\u0853\u0855\3\2\2\2\u0854\u0852\3\2\2\2\u0855\u0857\7h\2\2\u0856"+ - "\u0858\5\u017c\u00bf\2\u0857\u0856\3\2\2\2\u0857\u0858\3\2\2\2\u0858\u0859"+ - "\3\2\2\2\u0859\u085b\7;\2\2\u085a\u085c\5\u0190\u00c9\2\u085b\u085a\3"+ - "\2\2\2\u085b\u085c\3\2\2\2\u085c\u085d\3\2\2\2\u085d\u085f\7<\2\2\u085e"+ - "\u0860\5d\63\2\u085f\u085e\3\2\2\2\u085f\u0860\3\2\2\2\u0860\u0179\3\2"+ - "\2\2\u0861\u0863\7!\2\2\u0862\u0864\5,\27\2\u0863\u0862\3\2\2\2\u0863"+ - "\u0864\3\2\2\2\u0864\u0868\3\2\2\2\u0865\u0867\5\u00e8u\2\u0866\u0865"+ - "\3\2\2\2\u0867\u086a\3\2\2\2\u0868\u0866\3\2\2\2\u0868\u0869\3\2\2\2\u0869"+ - "\u086b\3\2\2\2\u086a\u0868\3\2\2\2\u086b\u0876\7h\2\2\u086c\u0870\7C\2"+ - "\2\u086d\u086f\5\u00e8u\2\u086e\u086d\3\2\2\2\u086f\u0872\3\2\2\2\u0870"+ - "\u086e\3\2\2\2\u0870\u0871\3\2\2\2\u0871\u0873\3\2\2\2\u0872\u0870\3\2"+ - "\2\2\u0873\u0875\7h\2\2\u0874\u086c\3\2\2\2\u0875\u0878\3\2\2\2\u0876"+ - "\u0874\3\2\2\2\u0876\u0877\3\2\2\2\u0877\u087a\3\2\2\2\u0878\u0876\3\2"+ - "\2\2\u0879\u087b\5\u017c\u00bf\2\u087a\u0879\3\2\2\2\u087a\u087b\3\2\2"+ - "\2\u087b\u087c\3\2\2\2\u087c\u087e\7;\2\2\u087d\u087f\5\u0190\u00c9\2"+ - "\u087e\u087d\3\2\2\2\u087e\u087f\3\2\2\2\u087f\u0880\3\2\2\2\u0880\u0882"+ - "\7<\2\2\u0881\u0883\5d\63\2\u0882\u0881\3\2\2\2\u0882\u0883\3\2\2\2\u0883"+ - "\u089d\3\2\2\2\u0884\u0885\5<\37\2\u0885\u0886\7C\2\2\u0886\u0888\7!\2"+ - "\2\u0887\u0889\5,\27\2\u0888\u0887\3\2\2\2\u0888\u0889\3\2\2\2\u0889\u088d"+ - "\3\2\2\2\u088a\u088c\5\u00e8u\2\u088b\u088a\3\2\2\2\u088c\u088f\3\2\2"+ - "\2\u088d\u088b\3\2\2\2\u088d\u088e\3\2\2\2\u088e\u0890\3\2\2\2\u088f\u088d"+ - "\3\2\2\2\u0890\u0892\7h\2\2\u0891\u0893\5\u017c\u00bf\2\u0892\u0891\3"+ - "\2\2\2\u0892\u0893\3\2\2\2\u0893\u0894\3\2\2\2\u0894\u0896\7;\2\2\u0895"+ - "\u0897\5\u0190\u00c9\2\u0896\u0895\3\2\2\2\u0896\u0897\3\2\2\2\u0897\u0898"+ - "\3\2\2\2\u0898\u089a\7<\2\2\u0899\u089b\5d\63\2\u089a\u0899\3\2\2\2\u089a"+ - "\u089b\3\2\2\2\u089b\u089d\3\2\2\2\u089c\u0861\3\2\2\2\u089c\u0884\3\2"+ - "\2\2\u089d\u017b\3\2\2\2\u089e\u08a2\5,\27\2\u089f\u08a0\7F\2\2\u08a0"+ - "\u08a2\7E\2\2\u08a1\u089e\3\2\2\2\u08a1\u089f\3\2\2\2\u08a2\u017d\3\2"+ - "\2\2\u08a3\u08a4\5\u0162\u00b2\2\u08a4\u08a5\7C\2\2\u08a5\u08a6\7h\2\2"+ - "\u08a6\u08b1\3\2\2\2\u08a7\u08a8\7*\2\2\u08a8\u08a9\7C\2\2\u08a9\u08b1"+ - "\7h\2\2\u08aa\u08ab\58\35\2\u08ab\u08ac\7C\2\2\u08ac\u08ad\7*\2\2\u08ad"+ - "\u08ae\7C\2\2\u08ae\u08af\7h\2\2\u08af\u08b1\3\2\2\2\u08b0\u08a3\3\2\2"+ - "\2\u08b0\u08a7\3\2\2\2\u08b0\u08aa\3\2\2\2\u08b1\u017f\3\2\2\2\u08b2\u08b3"+ - "\7C\2\2\u08b3\u08b4\7h\2\2\u08b4\u0181\3\2\2\2\u08b5\u08b6\7*\2\2\u08b6"+ - "\u08b7\7C\2\2\u08b7\u08bf\7h\2\2\u08b8\u08b9\58\35\2\u08b9\u08ba\7C\2"+ - "\2\u08ba\u08bb\7*\2\2\u08bb\u08bc\7C\2\2\u08bc\u08bd\7h\2\2\u08bd\u08bf"+ - "\3\2\2\2\u08be\u08b5\3\2\2\2\u08be\u08b8\3\2\2\2\u08bf\u0183\3\2\2\2\u08c0"+ - "\u08c1\5<\37\2\u08c1\u08c2\7?\2\2\u08c2\u08c3\5\u01a0\u00d1\2\u08c3\u08c4"+ - "\7@\2\2\u08c4\u08cb\3\2\2\2\u08c5\u08c6\5\u0168\u00b5\2\u08c6\u08c7\7"+ - "?\2\2\u08c7\u08c8\5\u01a0\u00d1\2\u08c8\u08c9\7@\2\2\u08c9\u08cb\3\2\2"+ - "\2\u08ca\u08c0\3\2\2\2\u08ca\u08c5\3\2\2\2\u08cb\u08d3\3\2\2\2\u08cc\u08cd"+ - "\5\u0166\u00b4\2\u08cd\u08ce\7?\2\2\u08ce\u08cf\5\u01a0\u00d1\2\u08cf"+ - "\u08d0\7@\2\2\u08d0\u08d2\3\2\2\2\u08d1\u08cc\3\2\2\2\u08d2\u08d5\3\2"+ - "\2\2\u08d3\u08d1\3\2\2\2\u08d3\u08d4\3\2\2\2\u08d4\u0185\3\2\2\2\u08d5"+ - "\u08d3\3\2\2\2\u08d6\u08d7\5\u016e\u00b8\2\u08d7\u08d8\7?\2\2\u08d8\u08d9"+ - "\5\u01a0\u00d1\2\u08d9\u08da\7@\2\2\u08da\u08e2\3\2\2\2\u08db\u08dc\5"+ - "\u016c\u00b7\2\u08dc\u08dd\7?\2\2\u08dd\u08de\5\u01a0\u00d1\2\u08de\u08df"+ - "\7@\2\2\u08df\u08e1\3\2\2\2\u08e0\u08db\3\2\2\2\u08e1\u08e4\3\2\2\2\u08e2"+ - "\u08e0\3\2\2\2\u08e2\u08e3\3\2\2\2\u08e3\u0187\3\2\2\2\u08e4\u08e2\3\2"+ - "\2\2\u08e5\u08e6\5<\37\2\u08e6\u08e7\7?\2\2\u08e7\u08e8\5\u01a0\u00d1"+ - "\2\u08e8\u08e9\7@\2\2\u08e9\u08f0\3\2\2\2\u08ea\u08eb\5\u0174\u00bb\2"+ - "\u08eb\u08ec\7?\2\2\u08ec\u08ed\5\u01a0\u00d1\2\u08ed\u08ee\7@\2\2\u08ee"+ - "\u08f0\3\2\2\2\u08ef\u08e5\3\2\2\2\u08ef\u08ea\3\2\2\2\u08f0\u08f8\3\2"+ - "\2\2\u08f1\u08f2\5\u0172\u00ba\2\u08f2\u08f3\7?\2\2\u08f3\u08f4\5\u01a0"+ - "\u00d1\2\u08f4\u08f5\7@\2\2\u08f5\u08f7\3\2\2\2\u08f6\u08f1\3\2\2\2\u08f7"+ - "\u08fa\3\2\2\2\u08f8\u08f6\3\2\2\2\u08f8\u08f9\3\2\2\2\u08f9\u0189\3\2"+ - "\2\2\u08fa\u08f8\3\2\2\2\u08fb\u08fc\5> \2\u08fc\u08fe\7;\2\2\u08fd\u08ff"+ - "\5\u0190\u00c9\2\u08fe\u08fd\3\2\2\2\u08fe\u08ff\3\2\2\2\u08ff\u0900\3"+ - "\2\2\2\u0900\u0901\7<\2\2\u0901\u0940\3\2\2\2\u0902\u0903\58\35\2\u0903"+ - "\u0905\7C\2\2\u0904\u0906\5,\27\2\u0905\u0904\3\2\2\2\u0905\u0906\3\2"+ - "\2\2\u0906\u0907\3\2\2\2\u0907\u0908\7h\2\2\u0908\u090a\7;\2\2\u0909\u090b"+ - "\5\u0190\u00c9\2\u090a\u0909\3\2\2\2\u090a\u090b\3\2\2\2\u090b\u090c\3"+ - "\2\2\2\u090c\u090d\7<\2\2\u090d\u0940\3\2\2\2\u090e\u090f\5<\37\2\u090f"+ - "\u0911\7C\2\2\u0910\u0912\5,\27\2\u0911\u0910\3\2\2\2\u0911\u0912\3\2"+ - "\2\2\u0912\u0913\3\2\2\2\u0913\u0914\7h\2\2\u0914\u0916\7;\2\2\u0915\u0917"+ - "\5\u0190\u00c9\2\u0916\u0915\3\2\2\2\u0916\u0917\3\2\2\2\u0917\u0918\3"+ - "\2\2\2\u0918\u0919\7<\2\2\u0919\u0940\3\2\2\2\u091a\u091b\5\u0162\u00b2"+ - "\2\u091b\u091d\7C\2\2\u091c\u091e\5,\27\2\u091d\u091c\3\2\2\2\u091d\u091e"+ - "\3\2\2\2\u091e\u091f\3\2\2\2\u091f\u0920\7h\2\2\u0920\u0922\7;\2\2\u0921"+ - "\u0923\5\u0190\u00c9\2\u0922\u0921\3\2\2\2\u0922\u0923\3\2\2\2\u0923\u0924"+ - "\3\2\2\2\u0924\u0925\7<\2\2\u0925\u0940\3\2\2\2\u0926\u0927\7*\2\2\u0927"+ - "\u0929\7C\2\2\u0928\u092a\5,\27\2\u0929\u0928\3\2\2\2\u0929\u092a\3\2"+ - "\2\2\u092a\u092b\3\2\2\2\u092b\u092c\7h\2\2\u092c\u092e\7;\2\2\u092d\u092f"+ - "\5\u0190\u00c9\2\u092e\u092d\3\2\2\2\u092e\u092f\3\2\2\2\u092f\u0930\3"+ - "\2\2\2\u0930\u0940\7<\2\2\u0931\u0932\58\35\2\u0932\u0933\7C\2\2\u0933"+ - "\u0934\7*\2\2\u0934\u0936\7C\2\2\u0935\u0937\5,\27\2\u0936\u0935\3\2\2"+ - "\2\u0936\u0937\3\2\2\2\u0937\u0938\3\2\2\2\u0938\u0939\7h\2\2\u0939\u093b"+ - "\7;\2\2\u093a\u093c\5\u0190\u00c9\2\u093b\u093a\3\2\2\2\u093b\u093c\3"+ - "\2\2\2\u093c\u093d\3\2\2\2\u093d\u093e\7<\2\2\u093e\u0940\3\2\2\2\u093f"+ - "\u08fb\3\2\2\2\u093f\u0902\3\2\2\2\u093f\u090e\3\2\2\2\u093f\u091a\3\2"+ - "\2\2\u093f\u0926\3\2\2\2\u093f\u0931\3\2\2\2\u0940\u018b\3\2\2\2\u0941"+ - "\u0943\7C\2\2\u0942\u0944\5,\27\2\u0943\u0942\3\2\2\2\u0943\u0944\3\2"+ - "\2\2\u0944\u0945\3\2\2\2\u0945\u0946\7h\2\2\u0946\u0948\7;\2\2\u0947\u0949"+ - "\5\u0190\u00c9\2\u0948\u0947\3\2\2\2\u0948\u0949\3\2\2\2\u0949\u094a\3"+ - "\2\2\2\u094a\u094b\7<\2\2\u094b\u018d\3\2\2\2\u094c\u094d\5> \2\u094d"+ - "\u094f\7;\2\2\u094e\u0950\5\u0190\u00c9\2\u094f\u094e\3\2\2\2\u094f\u0950"+ - "\3\2\2\2\u0950\u0951\3\2\2\2\u0951\u0952\7<\2\2\u0952\u0985\3\2\2\2\u0953"+ - "\u0954\58\35\2\u0954\u0956\7C\2\2\u0955\u0957\5,\27\2\u0956\u0955\3\2"+ - "\2\2\u0956\u0957\3\2\2\2\u0957\u0958\3\2\2\2\u0958\u0959\7h\2\2\u0959"+ - "\u095b\7;\2\2\u095a\u095c\5\u0190\u00c9\2\u095b\u095a\3\2\2\2\u095b\u095c"+ - "\3\2\2\2\u095c\u095d\3\2\2\2\u095d\u095e\7<\2\2\u095e\u0985\3\2\2\2\u095f"+ - "\u0960\5<\37\2\u0960\u0962\7C\2\2\u0961\u0963\5,\27\2\u0962\u0961\3\2"+ - "\2\2\u0962\u0963\3\2\2\2\u0963\u0964\3\2\2\2\u0964\u0965\7h\2\2\u0965"+ - "\u0967\7;\2\2\u0966\u0968\5\u0190\u00c9\2\u0967\u0966\3\2\2\2\u0967\u0968"+ - "\3\2\2\2\u0968\u0969\3\2\2\2\u0969\u096a\7<\2\2\u096a\u0985\3\2\2\2\u096b"+ - "\u096c\7*"; - private static final String _serializedATNSegment1 = - "\2\2\u096c\u096e\7C\2\2\u096d\u096f\5,\27\2\u096e\u096d\3\2\2\2\u096e"+ - "\u096f\3\2\2\2\u096f\u0970\3\2\2\2\u0970\u0971\7h\2\2\u0971\u0973\7;\2"+ - "\2\u0972\u0974\5\u0190\u00c9\2\u0973\u0972\3\2\2\2\u0973\u0974\3\2\2\2"+ - "\u0974\u0975\3\2\2\2\u0975\u0985\7<\2\2\u0976\u0977\58\35\2\u0977\u0978"+ - "\7C\2\2\u0978\u0979\7*\2\2\u0979\u097b\7C\2\2\u097a\u097c\5,\27\2\u097b"+ - "\u097a\3\2\2\2\u097b\u097c\3\2\2\2\u097c\u097d\3\2\2\2\u097d\u097e\7h"+ - "\2\2\u097e\u0980\7;\2\2\u097f\u0981\5\u0190\u00c9\2\u0980\u097f\3\2\2"+ - "\2\u0980\u0981\3\2\2\2\u0981\u0982\3\2\2\2\u0982\u0983\7<\2\2\u0983\u0985"+ - "\3\2\2\2\u0984\u094c\3\2\2\2\u0984\u0953\3\2\2\2\u0984\u095f\3\2\2\2\u0984"+ - "\u096b\3\2\2\2\u0984\u0976\3\2\2\2\u0985\u018f\3\2\2\2\u0986\u098b\5\u01a0"+ - "\u00d1\2\u0987\u0988\7B\2\2\u0988\u098a\5\u01a0\u00d1\2\u0989\u0987\3"+ - "\2\2\2\u098a\u098d\3\2\2\2\u098b\u0989\3\2\2\2\u098b\u098c\3\2\2\2\u098c"+ - "\u0191\3\2\2\2\u098d\u098b\3\2\2\2\u098e\u098f\5<\37\2\u098f\u0991\7\\"+ - "\2\2\u0990\u0992\5,\27\2\u0991\u0990\3\2\2\2\u0991\u0992\3\2\2\2\u0992"+ - "\u0993\3\2\2\2\u0993\u0994\7h\2\2\u0994\u09be\3\2\2\2\u0995\u0996\5\16"+ - "\b\2\u0996\u0998\7\\\2\2\u0997\u0999\5,\27\2\u0998\u0997\3\2\2\2\u0998"+ - "\u0999\3\2\2\2\u0999\u099a\3\2\2\2\u099a\u099b\7h\2\2\u099b\u09be\3\2"+ - "\2\2\u099c\u099d\5\u0162\u00b2\2\u099d\u099f\7\\\2\2\u099e\u09a0\5,\27"+ - "\2\u099f\u099e\3\2\2\2\u099f\u09a0\3\2\2\2\u09a0\u09a1\3\2\2\2\u09a1\u09a2"+ - "\7h\2\2\u09a2\u09be\3\2\2\2\u09a3\u09a4\7*\2\2\u09a4\u09a6\7\\\2\2\u09a5"+ - "\u09a7\5,\27\2\u09a6\u09a5\3\2\2\2\u09a6\u09a7\3\2\2\2\u09a7\u09a8\3\2"+ - "\2\2\u09a8\u09be\7h\2\2\u09a9\u09aa\58\35\2\u09aa\u09ab\7C\2\2\u09ab\u09ac"+ - "\7*\2\2\u09ac\u09ae\7\\\2\2\u09ad\u09af\5,\27\2\u09ae\u09ad\3\2\2\2\u09ae"+ - "\u09af\3\2\2\2\u09af\u09b0\3\2\2\2\u09b0\u09b1\7h\2\2\u09b1\u09be\3\2"+ - "\2\2\u09b2\u09b3\5\22\n\2\u09b3\u09b5\7\\\2\2\u09b4\u09b6\5,\27\2\u09b5"+ - "\u09b4\3\2\2\2\u09b5\u09b6\3\2\2\2\u09b6\u09b7\3\2\2\2\u09b7\u09b8\7!"+ - "\2\2\u09b8\u09be\3\2\2\2\u09b9\u09ba\5 \21\2\u09ba\u09bb\7\\\2\2\u09bb"+ - "\u09bc\7!\2\2\u09bc\u09be\3\2\2\2\u09bd\u098e\3\2\2\2\u09bd\u0995\3\2"+ - "\2\2\u09bd\u099c\3\2\2\2\u09bd\u09a3\3\2\2\2\u09bd\u09a9\3\2\2\2\u09bd"+ - "\u09b2\3\2\2\2\u09bd\u09b9\3\2\2\2\u09be\u0193\3\2\2\2\u09bf\u09c1\7\\"+ - "\2\2\u09c0\u09c2\5,\27\2\u09c1\u09c0\3\2\2\2\u09c1\u09c2\3\2\2\2\u09c2"+ - "\u09c3\3\2\2\2\u09c3\u09c4\7h\2\2\u09c4\u0195\3\2\2\2\u09c5\u09c6\5<\37"+ - "\2\u09c6\u09c8\7\\\2\2\u09c7\u09c9\5,\27\2\u09c8\u09c7\3\2\2\2\u09c8\u09c9"+ - "\3\2\2\2\u09c9\u09ca\3\2\2\2\u09ca\u09cb\7h\2\2\u09cb\u09ee\3\2\2\2\u09cc"+ - "\u09cd\5\16\b\2\u09cd\u09cf\7\\\2\2\u09ce\u09d0\5,\27\2\u09cf\u09ce\3"+ - "\2\2\2\u09cf\u09d0\3\2\2\2\u09d0\u09d1\3\2\2\2\u09d1\u09d2\7h\2\2\u09d2"+ - "\u09ee\3\2\2\2\u09d3\u09d4\7*\2\2\u09d4\u09d6\7\\\2\2\u09d5\u09d7\5,\27"+ - "\2\u09d6\u09d5\3\2\2\2\u09d6\u09d7\3\2\2\2\u09d7\u09d8\3\2\2\2\u09d8\u09ee"+ - "\7h\2\2\u09d9\u09da\58\35\2\u09da\u09db\7C\2\2\u09db\u09dc\7*\2\2\u09dc"+ - "\u09de\7\\\2\2\u09dd\u09df\5,\27\2\u09de\u09dd\3\2\2\2\u09de\u09df\3\2"+ - "\2\2\u09df\u09e0\3\2\2\2\u09e0\u09e1\7h\2\2\u09e1\u09ee\3\2\2\2\u09e2"+ - "\u09e3\5\22\n\2\u09e3\u09e5\7\\\2\2\u09e4\u09e6\5,\27\2\u09e5\u09e4\3"+ - "\2\2\2\u09e5\u09e6\3\2\2\2\u09e6\u09e7\3\2\2\2\u09e7\u09e8\7!\2\2\u09e8"+ - "\u09ee\3\2\2\2\u09e9\u09ea\5 \21\2\u09ea\u09eb\7\\\2\2\u09eb\u09ec\7!"+ - "\2\2\u09ec\u09ee\3\2\2\2\u09ed\u09c5\3\2\2\2\u09ed\u09cc\3\2\2\2\u09ed"+ - "\u09d3\3\2\2\2\u09ed\u09d9\3\2\2\2\u09ed\u09e2\3\2\2\2\u09ed\u09e9\3\2"+ - "\2\2\u09ee\u0197\3\2\2\2\u09ef\u09f0\7!\2\2\u09f0\u09f1\5\6\4\2\u09f1"+ - "\u09f3\5\u019a\u00ce\2\u09f2\u09f4\5\"\22\2\u09f3\u09f2\3\2\2\2\u09f3"+ - "\u09f4\3\2\2\2\u09f4\u0a06\3\2\2\2\u09f5\u09f6\7!\2\2\u09f6\u09f7\5\20"+ - "\t\2\u09f7\u09f9\5\u019a\u00ce\2\u09f8\u09fa\5\"\22\2\u09f9\u09f8\3\2"+ - "\2\2\u09f9\u09fa\3\2\2\2\u09fa\u0a06\3\2\2\2\u09fb\u09fc\7!\2\2\u09fc"+ - "\u09fd\5\6\4\2\u09fd\u09fe\5\"\22\2\u09fe\u09ff\5\u00fa~\2\u09ff\u0a06"+ - "\3\2\2\2\u0a00\u0a01\7!\2\2\u0a01\u0a02\5\20\t\2\u0a02\u0a03\5\"\22\2"+ - "\u0a03\u0a04\5\u00fa~\2\u0a04\u0a06\3\2\2\2\u0a05\u09ef\3\2\2\2\u0a05"+ - "\u09f5\3\2\2\2\u0a05\u09fb\3\2\2\2\u0a05\u0a00\3\2\2\2\u0a06\u0199\3\2"+ - "\2\2\u0a07\u0a0b\5\u019c\u00cf\2\u0a08\u0a0a\5\u019c\u00cf\2\u0a09\u0a08"+ - "\3\2\2\2\u0a0a\u0a0d\3\2\2\2\u0a0b\u0a09\3\2\2\2\u0a0b\u0a0c\3\2\2\2\u0a0c"+ - "\u019b\3\2\2\2\u0a0d\u0a0b\3\2\2\2\u0a0e\u0a10\5\u00e8u\2\u0a0f\u0a0e"+ - "\3\2\2\2\u0a10\u0a13\3\2\2\2\u0a11\u0a0f\3\2\2\2\u0a11\u0a12\3\2\2\2\u0a12"+ - "\u0a14\3\2\2\2\u0a13\u0a11\3\2\2\2\u0a14\u0a15\7?\2\2\u0a15\u0a16\5\u01a0"+ - "\u00d1\2\u0a16\u0a17\7@\2\2\u0a17\u019d\3\2\2\2\u0a18\u0a19\5\u01a0\u00d1"+ - "\2\u0a19\u019f\3\2\2\2\u0a1a\u0a1d\5\u01a2\u00d2\2\u0a1b\u0a1d\5\u01aa"+ - "\u00d6\2\u0a1c\u0a1a\3\2\2\2\u0a1c\u0a1b\3\2\2\2\u0a1d\u01a1\3\2\2\2\u0a1e"+ - "\u0a1f\5\u01a4\u00d3\2\u0a1f\u0a20\7[\2\2\u0a20\u0a21\5\u01a8\u00d5\2"+ - "\u0a21\u01a3\3\2\2\2\u0a22\u0a2d\7h\2\2\u0a23\u0a25\7;\2\2\u0a24\u0a26"+ - "\5\u0098M\2\u0a25\u0a24\3\2\2\2\u0a25\u0a26\3\2\2\2\u0a26\u0a27\3\2\2"+ - "\2\u0a27\u0a2d\7<\2\2\u0a28\u0a29\7;\2\2\u0a29\u0a2a\5\u01a6\u00d4\2\u0a2a"+ - "\u0a2b\7<\2\2\u0a2b\u0a2d\3\2\2\2\u0a2c\u0a22\3\2\2\2\u0a2c\u0a23\3\2"+ - "\2\2\u0a2c\u0a28\3\2\2\2\u0a2d\u01a5\3\2\2\2\u0a2e\u0a33\7h\2\2\u0a2f"+ - "\u0a30\7B\2\2\u0a30\u0a32\7h\2\2\u0a31\u0a2f\3\2\2\2\u0a32\u0a35\3\2\2"+ - "\2\u0a33\u0a31\3\2\2\2\u0a33\u0a34\3\2\2\2\u0a34\u01a7\3\2\2\2\u0a35\u0a33"+ - "\3\2\2\2\u0a36\u0a39\5\u01a0\u00d1\2\u0a37\u0a39\5\u00fe\u0080\2\u0a38"+ - "\u0a36\3\2\2\2\u0a38\u0a37\3\2\2\2\u0a39\u01a9\3\2\2\2\u0a3a\u0a3d\5\u01b2"+ - "\u00da\2\u0a3b\u0a3d\5\u01ac\u00d7\2\u0a3c\u0a3a\3\2\2\2\u0a3c\u0a3b\3"+ - "\2\2\2\u0a3d\u01ab\3\2\2\2\u0a3e\u0a3f\5\u01ae\u00d8\2\u0a3f\u0a40\5\u01b0"+ - "\u00d9\2\u0a40\u0a41\5\u01a0\u00d1\2\u0a41\u01ad\3\2\2\2\u0a42\u0a46\5"+ - "<\37\2\u0a43\u0a46\5\u017e\u00c0\2\u0a44\u0a46\5\u0184\u00c3\2\u0a45\u0a42"+ - "\3\2\2\2\u0a45\u0a43\3\2\2\2\u0a45\u0a44\3\2\2\2\u0a46\u01af\3\2\2\2\u0a47"+ - "\u0a48\t\5\2\2\u0a48\u01b1\3\2\2\2\u0a49\u0a51\5\u01b4\u00db\2\u0a4a\u0a4b"+ - "\5\u01b4\u00db\2\u0a4b\u0a4c\7I\2\2\u0a4c\u0a4d\5\u01a0\u00d1\2\u0a4d"+ - "\u0a4e\7J\2\2\u0a4e\u0a4f\5\u01b2\u00da\2\u0a4f\u0a51\3\2\2\2\u0a50\u0a49"+ - "\3\2\2\2\u0a50\u0a4a\3\2\2\2\u0a51\u01b3\3\2\2\2\u0a52\u0a53\b\u00db\1"+ - "\2\u0a53\u0a54\5\u01b6\u00dc\2\u0a54\u0a5a\3\2\2\2\u0a55\u0a56\f\3\2\2"+ - "\u0a56\u0a57\7P\2\2\u0a57\u0a59\5\u01b6\u00dc\2\u0a58\u0a55\3\2\2\2\u0a59"+ - "\u0a5c\3\2\2\2\u0a5a\u0a58\3\2\2\2\u0a5a\u0a5b\3\2\2\2\u0a5b\u01b5\3\2"+ - "\2\2\u0a5c\u0a5a\3\2\2\2\u0a5d\u0a5e\b\u00dc\1\2\u0a5e\u0a5f\5\u01b8\u00dd"+ - "\2\u0a5f\u0a65\3\2\2\2\u0a60\u0a61\f\3\2\2\u0a61\u0a62\7O\2\2\u0a62\u0a64"+ - "\5\u01b8\u00dd\2\u0a63\u0a60\3\2\2\2\u0a64\u0a67\3\2\2\2\u0a65\u0a63\3"+ - "\2\2\2\u0a65\u0a66\3\2\2\2\u0a66\u01b7\3\2\2\2\u0a67\u0a65\3\2\2\2\u0a68"+ - "\u0a69\b\u00dd\1\2\u0a69\u0a6a\5\u01ba\u00de\2\u0a6a\u0a70\3\2\2\2\u0a6b"+ - "\u0a6c\f\3\2\2\u0a6c\u0a6d\7X\2\2\u0a6d\u0a6f\5\u01ba\u00de\2\u0a6e\u0a6b"+ - "\3\2\2\2\u0a6f\u0a72\3\2\2\2\u0a70\u0a6e\3\2\2\2\u0a70\u0a71\3\2\2\2\u0a71"+ - "\u01b9\3\2\2\2\u0a72\u0a70\3\2\2\2\u0a73\u0a74\b\u00de\1\2\u0a74\u0a75"+ - "\5\u01bc\u00df\2\u0a75\u0a7b\3\2\2\2\u0a76\u0a77\f\3\2\2\u0a77\u0a78\7"+ - "Y\2\2\u0a78\u0a7a\5\u01bc\u00df\2\u0a79\u0a76\3\2\2\2\u0a7a\u0a7d\3\2"+ - "\2\2\u0a7b\u0a79\3\2\2\2\u0a7b\u0a7c\3\2\2\2\u0a7c\u01bb\3\2\2\2\u0a7d"+ - "\u0a7b\3\2\2\2\u0a7e\u0a7f\b\u00df\1\2\u0a7f\u0a80\5\u01be\u00e0\2\u0a80"+ - "\u0a86\3\2\2\2\u0a81\u0a82\f\3\2\2\u0a82\u0a83\7W\2\2\u0a83\u0a85\5\u01be"+ - "\u00e0\2\u0a84\u0a81\3\2\2\2\u0a85\u0a88\3\2\2\2\u0a86\u0a84\3\2\2\2\u0a86"+ - "\u0a87\3\2\2\2\u0a87\u01bd\3\2\2\2\u0a88\u0a86\3\2\2\2\u0a89\u0a8a\b\u00e0"+ - "\1\2\u0a8a\u0a8b\5\u01c0\u00e1\2\u0a8b\u0a94\3\2\2\2\u0a8c\u0a8d\f\4\2"+ - "\2\u0a8d\u0a8e\7K\2\2\u0a8e\u0a93\5\u01c0\u00e1\2\u0a8f\u0a90\f\3\2\2"+ - "\u0a90\u0a91\7N\2\2\u0a91\u0a93\5\u01c0\u00e1\2\u0a92\u0a8c\3\2\2\2\u0a92"+ - "\u0a8f\3\2\2\2\u0a93\u0a96\3\2\2\2\u0a94\u0a92\3\2\2\2\u0a94\u0a95\3\2"+ - "\2\2\u0a95\u01bf\3\2\2\2\u0a96\u0a94\3\2\2\2\u0a97\u0a98\b\u00e1\1\2\u0a98"+ - "\u0a99\5\u01c2\u00e2\2\u0a99\u0aab\3\2\2\2\u0a9a\u0a9b\f\7\2\2\u0a9b\u0a9c"+ - "\7F\2\2\u0a9c\u0aaa\5\u01c2\u00e2\2\u0a9d\u0a9e\f\6\2\2\u0a9e\u0a9f\7"+ - "E\2\2\u0a9f\u0aaa\5\u01c2\u00e2\2\u0aa0\u0aa1\f\5\2\2\u0aa1\u0aa2\7L\2"+ - "\2\u0aa2\u0aaa\5\u01c2\u00e2\2\u0aa3\u0aa4\f\4\2\2\u0aa4\u0aa5\7M\2\2"+ - "\u0aa5\u0aaa\5\u01c2\u00e2\2\u0aa6\u0aa7\f\3\2\2\u0aa7\u0aa8\7\34\2\2"+ - "\u0aa8\u0aaa\5\16\b\2\u0aa9\u0a9a\3\2\2\2\u0aa9\u0a9d\3\2\2\2\u0aa9\u0aa0"+ - "\3\2\2\2\u0aa9\u0aa3\3\2\2\2\u0aa9\u0aa6\3\2\2\2\u0aaa\u0aad\3\2\2\2\u0aab"+ - "\u0aa9\3\2\2\2\u0aab\u0aac\3\2\2\2\u0aac\u01c1\3\2\2\2\u0aad\u0aab\3\2"+ - "\2\2\u0aae\u0aaf\b\u00e2\1\2\u0aaf\u0ab0\5\u01c4\u00e3\2\u0ab0\u0ac0\3"+ - "\2\2\2\u0ab1\u0ab2\f\5\2\2\u0ab2\u0ab3\7F\2\2\u0ab3\u0ab4\7F\2\2\u0ab4"+ - "\u0abf\5\u01c4\u00e3\2\u0ab5\u0ab6\f\4\2\2\u0ab6\u0ab7\7E\2\2\u0ab7\u0ab8"+ - "\7E\2\2\u0ab8\u0abf\5\u01c4\u00e3\2\u0ab9\u0aba\f\3\2\2\u0aba\u0abb\7"+ - "E\2\2\u0abb\u0abc\7E\2\2\u0abc\u0abd\7E\2\2\u0abd\u0abf\5\u01c4\u00e3"+ - "\2\u0abe\u0ab1\3\2\2\2\u0abe\u0ab5\3\2\2\2\u0abe\u0ab9\3\2\2\2\u0abf\u0ac2"+ - "\3\2\2\2\u0ac0\u0abe\3\2\2\2\u0ac0\u0ac1\3\2\2\2\u0ac1\u01c3\3\2\2\2\u0ac2"+ - "\u0ac0\3\2\2\2\u0ac3\u0ac4\b\u00e3\1\2\u0ac4\u0ac5\5\u01c6\u00e4\2\u0ac5"+ - "\u0ace\3\2\2\2\u0ac6\u0ac7\f\4\2\2\u0ac7\u0ac8\7S\2\2\u0ac8\u0acd\5\u01c6"+ - "\u00e4\2\u0ac9\u0aca\f\3\2\2\u0aca\u0acb\7T\2\2\u0acb\u0acd\5\u01c6\u00e4"+ - "\2\u0acc\u0ac6\3\2\2\2\u0acc\u0ac9\3\2\2\2\u0acd\u0ad0\3\2\2\2\u0ace\u0acc"+ - "\3\2\2\2\u0ace\u0acf\3\2\2\2\u0acf\u01c5\3\2\2\2\u0ad0\u0ace\3\2\2\2\u0ad1"+ - "\u0ad2\b\u00e4\1\2\u0ad2\u0ad3\5\u01c8\u00e5\2\u0ad3\u0adf\3\2\2\2\u0ad4"+ - "\u0ad5\f\5\2\2\u0ad5\u0ad6\7U\2\2\u0ad6\u0ade\5\u01c8\u00e5\2\u0ad7\u0ad8"+ - "\f\4\2\2\u0ad8\u0ad9\7V\2\2\u0ad9\u0ade\5\u01c8\u00e5\2\u0ada\u0adb\f"+ - "\3\2\2\u0adb\u0adc\7Z\2\2\u0adc\u0ade\5\u01c8\u00e5\2\u0add\u0ad4\3\2"+ - "\2\2\u0add\u0ad7\3\2\2\2\u0add\u0ada\3\2\2\2\u0ade\u0ae1\3\2\2\2\u0adf"+ - "\u0add\3\2\2\2\u0adf\u0ae0\3\2\2\2\u0ae0\u01c7\3\2\2\2\u0ae1\u0adf\3\2"+ - "\2\2\u0ae2\u0aea\5\u01ca\u00e6\2\u0ae3\u0aea\5\u01cc\u00e7\2\u0ae4\u0ae5"+ - "\7S\2\2\u0ae5\u0aea\5\u01c8\u00e5\2\u0ae6\u0ae7\7T\2\2\u0ae7\u0aea\5\u01c8"+ - "\u00e5\2\u0ae8\u0aea\5\u01ce\u00e8\2\u0ae9\u0ae2\3\2\2\2\u0ae9\u0ae3\3"+ - "\2\2\2\u0ae9\u0ae4\3\2\2\2\u0ae9\u0ae6\3\2\2\2\u0ae9\u0ae8\3\2\2\2\u0aea"+ - "\u01c9\3\2\2\2\u0aeb\u0aec\7Q\2\2\u0aec\u0aed\5\u01c8\u00e5\2\u0aed\u01cb"+ - "\3\2\2\2\u0aee\u0aef\7R\2\2\u0aef\u0af0\5\u01c8\u00e5\2\u0af0\u01cd\3"+ - "\2\2\2\u0af1\u0af8\5\u01d0\u00e9\2\u0af2\u0af3\7H\2\2\u0af3\u0af8\5\u01c8"+ - "\u00e5\2\u0af4\u0af5\7G\2\2\u0af5\u0af8\5\u01c8\u00e5\2\u0af6\u0af8\5"+ - "\u01da\u00ee\2\u0af7\u0af1\3\2\2\2\u0af7\u0af2\3\2\2\2\u0af7\u0af4\3\2"+ - "\2\2\u0af7\u0af6\3\2\2\2\u0af8\u01cf\3\2\2\2\u0af9\u0afc\5\u0162\u00b2"+ - "\2\u0afa\u0afc\5<\37\2\u0afb\u0af9\3\2\2\2\u0afb\u0afa\3\2\2\2\u0afc\u0b01"+ - "\3\2\2\2\u0afd\u0b00\5\u01d4\u00eb\2\u0afe\u0b00\5\u01d8\u00ed\2\u0aff"+ - "\u0afd\3\2\2\2\u0aff\u0afe\3\2\2\2\u0b00\u0b03\3\2\2\2\u0b01\u0aff\3\2"+ - "\2\2\u0b01\u0b02\3\2\2\2\u0b02\u01d1\3\2\2\2\u0b03\u0b01\3\2\2\2\u0b04"+ - "\u0b05\5\u01d0\u00e9\2\u0b05\u0b06\7Q\2\2\u0b06\u01d3\3\2\2\2\u0b07\u0b08"+ - "\7Q\2\2\u0b08\u01d5\3\2\2\2\u0b09\u0b0a\5\u01d0\u00e9\2\u0b0a\u0b0b\7"+ - "R\2\2\u0b0b\u01d7\3\2\2\2\u0b0c\u0b0d\7R\2\2\u0b0d\u01d9\3\2\2\2\u0b0e"+ - "\u0b0f\7;\2\2\u0b0f\u0b10\5\6\4\2\u0b10\u0b11\7<\2\2\u0b11\u0b12\5\u01c8"+ - "\u00e5\2\u0b12\u0b2a\3\2\2\2\u0b13\u0b14\7;\2\2\u0b14\u0b18\5\16\b\2\u0b15"+ - "\u0b17\5*\26\2\u0b16\u0b15\3\2\2\2\u0b17\u0b1a\3\2\2\2\u0b18\u0b16\3\2"+ - "\2\2\u0b18\u0b19\3\2\2\2\u0b19\u0b1b\3\2\2\2\u0b1a\u0b18\3\2\2\2\u0b1b"+ - "\u0b1c\7<\2\2\u0b1c\u0b1d\5\u01ce\u00e8\2\u0b1d\u0b2a\3\2\2\2\u0b1e\u0b1f"+ - "\7;\2\2\u0b1f\u0b23\5\16\b\2\u0b20\u0b22\5*\26\2\u0b21\u0b20\3\2\2\2\u0b22"+ - "\u0b25\3\2\2\2\u0b23\u0b21\3\2\2\2\u0b23\u0b24\3\2\2\2\u0b24\u0b26\3\2"+ - "\2\2\u0b25\u0b23\3\2\2\2\u0b26\u0b27\7<\2\2\u0b27\u0b28\5\u01a2\u00d2"+ - "\2\u0b28\u0b2a\3\2\2\2\u0b29\u0b0e\3\2\2\2\u0b29\u0b13\3\2\2\2\u0b29\u0b1e"+ - "\3\2\2\2\u0b2a\u01db\3\2\2\2\u0146\u01e0\u01e5\u01ec\u01f0\u01f4\u01fd"+ - "\u0201\u0205\u0207\u020d\u0212\u0219\u021e\u0220\u0226\u022b\u0230\u0235"+ - "\u0240\u024e\u0253\u025b\u0262\u0268\u026d\u0278\u027b\u0289\u028e\u0293"+ - "\u0298\u029e\u02a8\u02b0\u02ba\u02c2\u02ce\u02d2\u02d7\u02dd\u02e5\u02ee"+ - "\u02f9\u0316\u031a\u031f\u0325\u0328\u032b\u0337\u0342\u0350\u0357\u0360"+ - "\u0367\u036c\u037b\u0382\u0388\u038c\u0390\u0394\u0398\u039d\u03a1\u03a5"+ - "\u03a7\u03ac\u03b3\u03b8\u03ba\u03c0\u03c5\u03c9\u03dc\u03e1\u03f1\u03f6"+ - "\u03fc\u0402\u0404\u0408\u040d\u0411\u0418\u041f\u0427\u042a\u042f\u0437"+ - "\u043c\u0443\u044a\u044f\u0455\u0461\u0466\u046a\u0474\u0479\u0481\u0484"+ - "\u0489\u0491\u0494\u0499\u049e\u04a3\u04a8\u04af\u04b4\u04bc\u04c1\u04c6"+ - "\u04cb\u04d1\u04d7\u04da\u04dd\u04e6\u04ec\u04f2\u04f5\u04f8\u0500\u0505"+ - "\u050a\u0510\u0513\u051e\u0527\u0531\u0536\u0541\u0546\u0552\u0557\u0563"+ - "\u056d\u0572\u057a\u057d\u0584\u058c\u0592\u059b\u05a5\u05a9\u05ac\u05b5"+ - "\u05c3\u05c6\u05cf\u05d4\u05dc\u05e2\u05ea\u05f6\u05fd\u060b\u0621\u0643"+ - "\u064f\u0655\u0661\u066e\u0688\u068c\u0691\u0695\u0699\u06a1\u06a5\u06a9"+ - "\u06b0\u06b9\u06c1\u06d0\u06dc\u06e2\u06e8\u06fd\u0702\u0708\u0714\u071f"+ - "\u0729\u072c\u0731\u073a\u0740\u074a\u074f\u0758\u076f\u0779\u078f\u0796"+ - "\u079e\u07a6\u07b1\u07c8\u07d2\u07dd\u07f3\u07f7\u07fc\u0804\u080a\u080e"+ - "\u0812\u0816\u081c\u0821\u0826\u082a\u082e\u0834\u0839\u083e\u0842\u0846"+ - "\u0848\u084d\u0852\u0857\u085b\u085f\u0863\u0868\u0870\u0876\u087a\u087e"+ - "\u0882\u0888\u088d\u0892\u0896\u089a\u089c\u08a1\u08b0\u08be\u08ca\u08d3"+ - "\u08e2\u08ef\u08f8\u08fe\u0905\u090a\u0911\u0916\u091d\u0922\u0929\u092e"+ - "\u0936\u093b\u093f\u0943\u0948\u094f\u0956\u095b\u0962\u0967\u096e\u0973"+ - "\u097b\u0980\u0984\u098b\u0991\u0998\u099f\u09a6\u09ae\u09b5\u09bd\u09c1"+ - "\u09c8\u09cf\u09d6\u09de\u09e5\u09ed\u09f3\u09f9\u0a05\u0a0b\u0a11\u0a1c"+ - "\u0a25\u0a2c\u0a33\u0a38\u0a3c\u0a45\u0a50\u0a5a\u0a65\u0a70\u0a7b\u0a86"+ - "\u0a92\u0a94\u0aa9\u0aab\u0abe\u0ac0\u0acc\u0ace\u0add\u0adf\u0ae9\u0af7"+ - "\u0afb\u0aff\u0b01\u0b18\u0b23\u0b29"; - public static final String _serializedATN = Utils.join( - new String[] { - _serializedATNSegment0, - _serializedATNSegment1 - }, - "" - ); - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file From c5ea9a3464980e331910fed23fead9d1ca07665f Mon Sep 17 00:00:00 2001 From: Jakob Herrmann Date: Tue, 29 Nov 2016 18:34:33 +0100 Subject: [PATCH 3/5] Grammar now supports untyped field declarations. --- src/de/dhbwstuttgart/parser/Java8.tokens | 205 + .../parser/Java8BaseListener.java | 2883 +++ src/de/dhbwstuttgart/parser/Java8Lexer.java | 584 + src/de/dhbwstuttgart/parser/Java8Lexer.tokens | 205 + .../dhbwstuttgart/parser/Java8Listener.java | 2380 ++ src/de/dhbwstuttgart/parser/Java8Parser.java | 18566 ++++++++++++++++ 6 files changed, 24823 insertions(+) create mode 100644 src/de/dhbwstuttgart/parser/Java8.tokens create mode 100644 src/de/dhbwstuttgart/parser/Java8BaseListener.java create mode 100644 src/de/dhbwstuttgart/parser/Java8Lexer.java create mode 100644 src/de/dhbwstuttgart/parser/Java8Lexer.tokens create mode 100644 src/de/dhbwstuttgart/parser/Java8Listener.java create mode 100644 src/de/dhbwstuttgart/parser/Java8Parser.java diff --git a/src/de/dhbwstuttgart/parser/Java8.tokens b/src/de/dhbwstuttgart/parser/Java8.tokens new file mode 100644 index 00000000..52ef1eee --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8.tokens @@ -0,0 +1,205 @@ +ABSTRACT=1 +ASSERT=2 +BOOLEAN=3 +BREAK=4 +BYTE=5 +CASE=6 +CATCH=7 +CHAR=8 +CLASS=9 +CONST=10 +CONTINUE=11 +DEFAULT=12 +DO=13 +DOUBLE=14 +ELSE=15 +ENUM=16 +EXTENDS=17 +FINAL=18 +FINALLY=19 +FLOAT=20 +FOR=21 +IF=22 +GOTO=23 +IMPLEMENTS=24 +IMPORT=25 +INSTANCEOF=26 +INT=27 +INTERFACE=28 +LONG=29 +NATIVE=30 +NEW=31 +PACKAGE=32 +PRIVATE=33 +PROTECTED=34 +PUBLIC=35 +RETURN=36 +SHORT=37 +STATIC=38 +STRICTFP=39 +SUPER=40 +SWITCH=41 +SYNCHRONIZED=42 +THIS=43 +THROW=44 +THROWS=45 +TRANSIENT=46 +TRY=47 +VOID=48 +VOLATILE=49 +WHILE=50 +IntegerLiteral=51 +FloatingPointLiteral=52 +BooleanLiteral=53 +CharacterLiteral=54 +StringLiteral=55 +NullLiteral=56 +LPAREN=57 +RPAREN=58 +LBRACE=59 +RBRACE=60 +LBRACK=61 +RBRACK=62 +SEMI=63 +COMMA=64 +DOT=65 +ASSIGN=66 +GT=67 +LT=68 +BANG=69 +TILDE=70 +QUESTION=71 +COLON=72 +EQUAL=73 +LE=74 +GE=75 +NOTEQUAL=76 +AND=77 +OR=78 +INC=79 +DEC=80 +ADD=81 +SUB=82 +MUL=83 +DIV=84 +BITAND=85 +BITOR=86 +CARET=87 +MOD=88 +ARROW=89 +COLONCOLON=90 +ADD_ASSIGN=91 +SUB_ASSIGN=92 +MUL_ASSIGN=93 +DIV_ASSIGN=94 +AND_ASSIGN=95 +OR_ASSIGN=96 +XOR_ASSIGN=97 +MOD_ASSIGN=98 +LSHIFT_ASSIGN=99 +RSHIFT_ASSIGN=100 +URSHIFT_ASSIGN=101 +Identifier=102 +AT=103 +ELLIPSIS=104 +WS=105 +COMMENT=106 +LINE_COMMENT=107 +'abstract'=1 +'assert'=2 +'boolean'=3 +'break'=4 +'byte'=5 +'case'=6 +'catch'=7 +'char'=8 +'class'=9 +'const'=10 +'continue'=11 +'default'=12 +'do'=13 +'double'=14 +'else'=15 +'enum'=16 +'extends'=17 +'final'=18 +'finally'=19 +'float'=20 +'for'=21 +'if'=22 +'goto'=23 +'implements'=24 +'import'=25 +'instanceof'=26 +'int'=27 +'interface'=28 +'long'=29 +'native'=30 +'new'=31 +'package'=32 +'private'=33 +'protected'=34 +'public'=35 +'return'=36 +'short'=37 +'static'=38 +'strictfp'=39 +'super'=40 +'switch'=41 +'synchronized'=42 +'this'=43 +'throw'=44 +'throws'=45 +'transient'=46 +'try'=47 +'void'=48 +'volatile'=49 +'while'=50 +'null'=56 +'('=57 +')'=58 +'{'=59 +'}'=60 +'['=61 +']'=62 +';'=63 +','=64 +'.'=65 +'='=66 +'>'=67 +'<'=68 +'!'=69 +'~'=70 +'?'=71 +':'=72 +'=='=73 +'<='=74 +'>='=75 +'!='=76 +'&&'=77 +'||'=78 +'++'=79 +'--'=80 +'+'=81 +'-'=82 +'*'=83 +'/'=84 +'&'=85 +'|'=86 +'^'=87 +'%'=88 +'->'=89 +'::'=90 +'+='=91 +'-='=92 +'*='=93 +'/='=94 +'&='=95 +'|='=96 +'^='=97 +'%='=98 +'<<='=99 +'>>='=100 +'>>>='=101 +'@'=103 +'...'=104 diff --git a/src/de/dhbwstuttgart/parser/Java8BaseListener.java b/src/de/dhbwstuttgart/parser/Java8BaseListener.java new file mode 100644 index 00000000..0d26fe00 --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8BaseListener.java @@ -0,0 +1,2883 @@ +// Generated from Java8.g4 by ANTLR 4.5.3 +package de.dhbwstuttgart.parser; + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.tree.ErrorNode; +import org.antlr.v4.runtime.tree.TerminalNode; + +/** + * This class provides an empty implementation of {@link Java8Listener}, + * which can be extended to create a listener which only needs to handle a subset + * of the available methods. + */ +public class Java8BaseListener implements Java8Listener { + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLiteral(Java8Parser.LiteralContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLiteral(Java8Parser.LiteralContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterType(Java8Parser.TypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitType(Java8Parser.TypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimitiveType(Java8Parser.PrimitiveTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimitiveType(Java8Parser.PrimitiveTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNumericType(Java8Parser.NumericTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNumericType(Java8Parser.NumericTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIntegralType(Java8Parser.IntegralTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIntegralType(Java8Parser.IntegralTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFloatingPointType(Java8Parser.FloatingPointTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFloatingPointType(Java8Parser.FloatingPointTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterReferenceType(Java8Parser.ReferenceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitReferenceType(Java8Parser.ReferenceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassType(Java8Parser.ClassTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassType(Java8Parser.ClassTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceType(Java8Parser.InterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceType(Java8Parser.InterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeVariable(Java8Parser.TypeVariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeVariable(Java8Parser.TypeVariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayType(Java8Parser.ArrayTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayType(Java8Parser.ArrayTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDims(Java8Parser.DimsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDims(Java8Parser.DimsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeParameter(Java8Parser.TypeParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeParameter(Java8Parser.TypeParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeBound(Java8Parser.TypeBoundContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeBound(Java8Parser.TypeBoundContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAdditionalBound(Java8Parser.AdditionalBoundContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAdditionalBound(Java8Parser.AdditionalBoundContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeArguments(Java8Parser.TypeArgumentsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeArguments(Java8Parser.TypeArgumentsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeArgumentList(Java8Parser.TypeArgumentListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeArgumentList(Java8Parser.TypeArgumentListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeArgument(Java8Parser.TypeArgumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeArgument(Java8Parser.TypeArgumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterWildcard(Java8Parser.WildcardContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitWildcard(Java8Parser.WildcardContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterWildcardBounds(Java8Parser.WildcardBoundsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitWildcardBounds(Java8Parser.WildcardBoundsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPackageName(Java8Parser.PackageNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPackageName(Java8Parser.PackageNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeName(Java8Parser.TypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeName(Java8Parser.TypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpressionName(Java8Parser.ExpressionNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpressionName(Java8Parser.ExpressionNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodName(Java8Parser.MethodNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodName(Java8Parser.MethodNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAmbiguousName(Java8Parser.AmbiguousNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAmbiguousName(Java8Parser.AmbiguousNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCompilationUnit(Java8Parser.CompilationUnitContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCompilationUnit(Java8Parser.CompilationUnitContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPackageDeclaration(Java8Parser.PackageDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPackageDeclaration(Java8Parser.PackageDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPackageModifier(Java8Parser.PackageModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPackageModifier(Java8Parser.PackageModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterImportDeclaration(Java8Parser.ImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitImportDeclaration(Java8Parser.ImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeDeclaration(Java8Parser.TypeDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeDeclaration(Java8Parser.TypeDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassDeclaration(Java8Parser.ClassDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassDeclaration(Java8Parser.ClassDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassModifier(Java8Parser.ClassModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassModifier(Java8Parser.ClassModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeParameters(Java8Parser.TypeParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeParameters(Java8Parser.TypeParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeParameterList(Java8Parser.TypeParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeParameterList(Java8Parser.TypeParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSuperclass(Java8Parser.SuperclassContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSuperclass(Java8Parser.SuperclassContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSuperinterfaces(Java8Parser.SuperinterfacesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSuperinterfaces(Java8Parser.SuperinterfacesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassBody(Java8Parser.ClassBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassBody(Java8Parser.ClassBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldDeclaration(Java8Parser.FieldDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldDeclaration(Java8Parser.FieldDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldModifier(Java8Parser.FieldModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldModifier(Java8Parser.FieldModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableInitializer(Java8Parser.VariableInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableInitializer(Java8Parser.VariableInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannType(Java8Parser.UnannTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannType(Java8Parser.UnannTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannClassType(Java8Parser.UnannClassTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannClassType(Java8Parser.UnannClassTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannArrayType(Java8Parser.UnannArrayTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannArrayType(Java8Parser.UnannArrayTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodDeclaration(Java8Parser.MethodDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodDeclaration(Java8Parser.MethodDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodModifier(Java8Parser.MethodModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodModifier(Java8Parser.MethodModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodHeader(Java8Parser.MethodHeaderContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodHeader(Java8Parser.MethodHeaderContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterResult(Java8Parser.ResultContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitResult(Java8Parser.ResultContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFormalParameterList(Java8Parser.FormalParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFormalParameterList(Java8Parser.FormalParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFormalParameters(Java8Parser.FormalParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFormalParameters(Java8Parser.FormalParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFormalParameter(Java8Parser.FormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFormalParameter(Java8Parser.FormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableModifier(Java8Parser.VariableModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableModifier(Java8Parser.VariableModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLastFormalParameter(Java8Parser.LastFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLastFormalParameter(Java8Parser.LastFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterReceiverParameter(Java8Parser.ReceiverParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitReceiverParameter(Java8Parser.ReceiverParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterThrows_(Java8Parser.Throws_Context ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitThrows_(Java8Parser.Throws_Context ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExceptionType(Java8Parser.ExceptionTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExceptionType(Java8Parser.ExceptionTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodBody(Java8Parser.MethodBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodBody(Java8Parser.MethodBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInstanceInitializer(Java8Parser.InstanceInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInstanceInitializer(Java8Parser.InstanceInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStaticInitializer(Java8Parser.StaticInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStaticInitializer(Java8Parser.StaticInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstructorModifier(Java8Parser.ConstructorModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstructorModifier(Java8Parser.ConstructorModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstructorBody(Java8Parser.ConstructorBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstructorBody(Java8Parser.ConstructorBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumDeclaration(Java8Parser.EnumDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumDeclaration(Java8Parser.EnumDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumBody(Java8Parser.EnumBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumBody(Java8Parser.EnumBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumConstantList(Java8Parser.EnumConstantListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumConstantList(Java8Parser.EnumConstantListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumConstant(Java8Parser.EnumConstantContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumConstant(Java8Parser.EnumConstantContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceModifier(Java8Parser.InterfaceModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceModifier(Java8Parser.InterfaceModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceBody(Java8Parser.InterfaceBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceBody(Java8Parser.InterfaceBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstantModifier(Java8Parser.ConstantModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstantModifier(Java8Parser.ConstantModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDefaultValue(Java8Parser.DefaultValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDefaultValue(Java8Parser.DefaultValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotation(Java8Parser.AnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotation(Java8Parser.AnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNormalAnnotation(Java8Parser.NormalAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNormalAnnotation(Java8Parser.NormalAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValuePairList(Java8Parser.ElementValuePairListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValuePairList(Java8Parser.ElementValuePairListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValuePair(Java8Parser.ElementValuePairContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValuePair(Java8Parser.ElementValuePairContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValue(Java8Parser.ElementValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValue(Java8Parser.ElementValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValueList(Java8Parser.ElementValueListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValueList(Java8Parser.ElementValueListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayInitializer(Java8Parser.ArrayInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayInitializer(Java8Parser.ArrayInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableInitializerList(Java8Parser.VariableInitializerListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableInitializerList(Java8Parser.VariableInitializerListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBlock(Java8Parser.BlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBlock(Java8Parser.BlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBlockStatements(Java8Parser.BlockStatementsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBlockStatements(Java8Parser.BlockStatementsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBlockStatement(Java8Parser.BlockStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBlockStatement(Java8Parser.BlockStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatement(Java8Parser.StatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatement(Java8Parser.StatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEmptyStatement(Java8Parser.EmptyStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEmptyStatement(Java8Parser.EmptyStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLabeledStatement(Java8Parser.LabeledStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLabeledStatement(Java8Parser.LabeledStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpressionStatement(Java8Parser.ExpressionStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpressionStatement(Java8Parser.ExpressionStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatementExpression(Java8Parser.StatementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatementExpression(Java8Parser.StatementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIfThenStatement(Java8Parser.IfThenStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIfThenStatement(Java8Parser.IfThenStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssertStatement(Java8Parser.AssertStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssertStatement(Java8Parser.AssertStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchStatement(Java8Parser.SwitchStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchStatement(Java8Parser.SwitchStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchBlock(Java8Parser.SwitchBlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchBlock(Java8Parser.SwitchBlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchLabels(Java8Parser.SwitchLabelsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchLabels(Java8Parser.SwitchLabelsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchLabel(Java8Parser.SwitchLabelContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchLabel(Java8Parser.SwitchLabelContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumConstantName(Java8Parser.EnumConstantNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumConstantName(Java8Parser.EnumConstantNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterWhileStatement(Java8Parser.WhileStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitWhileStatement(Java8Parser.WhileStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDoStatement(Java8Parser.DoStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDoStatement(Java8Parser.DoStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForStatement(Java8Parser.ForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForStatement(Java8Parser.ForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBasicForStatement(Java8Parser.BasicForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBasicForStatement(Java8Parser.BasicForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForInit(Java8Parser.ForInitContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForInit(Java8Parser.ForInitContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForUpdate(Java8Parser.ForUpdateContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForUpdate(Java8Parser.ForUpdateContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatementExpressionList(Java8Parser.StatementExpressionListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatementExpressionList(Java8Parser.StatementExpressionListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBreakStatement(Java8Parser.BreakStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBreakStatement(Java8Parser.BreakStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterContinueStatement(Java8Parser.ContinueStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitContinueStatement(Java8Parser.ContinueStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterReturnStatement(Java8Parser.ReturnStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitReturnStatement(Java8Parser.ReturnStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterThrowStatement(Java8Parser.ThrowStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitThrowStatement(Java8Parser.ThrowStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTryStatement(Java8Parser.TryStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTryStatement(Java8Parser.TryStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCatches(Java8Parser.CatchesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCatches(Java8Parser.CatchesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCatchClause(Java8Parser.CatchClauseContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCatchClause(Java8Parser.CatchClauseContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCatchType(Java8Parser.CatchTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCatchType(Java8Parser.CatchTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFinally_(Java8Parser.Finally_Context ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFinally_(Java8Parser.Finally_Context ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterResourceSpecification(Java8Parser.ResourceSpecificationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitResourceSpecification(Java8Parser.ResourceSpecificationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterResourceList(Java8Parser.ResourceListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitResourceList(Java8Parser.ResourceListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterResource(Java8Parser.ResourceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitResource(Java8Parser.ResourceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimary(Java8Parser.PrimaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimary(Java8Parser.PrimaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldAccess(Java8Parser.FieldAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldAccess(Java8Parser.FieldAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayAccess(Java8Parser.ArrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayAccess(Java8Parser.ArrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodInvocation(Java8Parser.MethodInvocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodInvocation(Java8Parser.MethodInvocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArgumentList(Java8Parser.ArgumentListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArgumentList(Java8Parser.ArgumentListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodReference(Java8Parser.MethodReferenceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodReference(Java8Parser.MethodReferenceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDimExprs(Java8Parser.DimExprsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDimExprs(Java8Parser.DimExprsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDimExpr(Java8Parser.DimExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDimExpr(Java8Parser.DimExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstantExpression(Java8Parser.ConstantExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstantExpression(Java8Parser.ConstantExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpression(Java8Parser.ExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpression(Java8Parser.ExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLambdaExpression(Java8Parser.LambdaExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLambdaExpression(Java8Parser.LambdaExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLambdaParameters(Java8Parser.LambdaParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLambdaParameters(Java8Parser.LambdaParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLambdaBody(Java8Parser.LambdaBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLambdaBody(Java8Parser.LambdaBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssignment(Java8Parser.AssignmentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssignment(Java8Parser.AssignmentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLeftHandSide(Java8Parser.LeftHandSideContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLeftHandSide(Java8Parser.LeftHandSideContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConditionalExpression(Java8Parser.ConditionalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConditionalExpression(Java8Parser.ConditionalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAndExpression(Java8Parser.AndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAndExpression(Java8Parser.AndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEqualityExpression(Java8Parser.EqualityExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEqualityExpression(Java8Parser.EqualityExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterRelationalExpression(Java8Parser.RelationalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitRelationalExpression(Java8Parser.RelationalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterShiftExpression(Java8Parser.ShiftExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitShiftExpression(Java8Parser.ShiftExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnaryExpression(Java8Parser.UnaryExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnaryExpression(Java8Parser.UnaryExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostfixExpression(Java8Parser.PostfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostfixExpression(Java8Parser.PostfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCastExpression(Java8Parser.CastExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCastExpression(Java8Parser.CastExpressionContext ctx) { } + + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitTerminal(TerminalNode node) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitErrorNode(ErrorNode node) { } +} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Lexer.java b/src/de/dhbwstuttgart/parser/Java8Lexer.java new file mode 100644 index 00000000..25cab56a --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8Lexer.java @@ -0,0 +1,584 @@ +// Generated from Java8.g4 by ANTLR 4.5.3 +package de.dhbwstuttgart.parser; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Java8Lexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + ABSTRACT=1, ASSERT=2, BOOLEAN=3, BREAK=4, BYTE=5, CASE=6, CATCH=7, CHAR=8, + CLASS=9, CONST=10, CONTINUE=11, DEFAULT=12, DO=13, DOUBLE=14, ELSE=15, + ENUM=16, EXTENDS=17, FINAL=18, FINALLY=19, FLOAT=20, FOR=21, IF=22, GOTO=23, + IMPLEMENTS=24, IMPORT=25, INSTANCEOF=26, INT=27, INTERFACE=28, LONG=29, + NATIVE=30, NEW=31, PACKAGE=32, PRIVATE=33, PROTECTED=34, PUBLIC=35, RETURN=36, + SHORT=37, STATIC=38, STRICTFP=39, SUPER=40, SWITCH=41, SYNCHRONIZED=42, + THIS=43, THROW=44, THROWS=45, TRANSIENT=46, TRY=47, VOID=48, VOLATILE=49, + WHILE=50, IntegerLiteral=51, FloatingPointLiteral=52, BooleanLiteral=53, + CharacterLiteral=54, StringLiteral=55, NullLiteral=56, LPAREN=57, RPAREN=58, + LBRACE=59, RBRACE=60, LBRACK=61, RBRACK=62, SEMI=63, COMMA=64, DOT=65, + ASSIGN=66, GT=67, LT=68, BANG=69, TILDE=70, QUESTION=71, COLON=72, EQUAL=73, + LE=74, GE=75, NOTEQUAL=76, AND=77, OR=78, INC=79, DEC=80, ADD=81, SUB=82, + MUL=83, DIV=84, BITAND=85, BITOR=86, CARET=87, MOD=88, ARROW=89, COLONCOLON=90, + ADD_ASSIGN=91, SUB_ASSIGN=92, MUL_ASSIGN=93, DIV_ASSIGN=94, AND_ASSIGN=95, + OR_ASSIGN=96, XOR_ASSIGN=97, MOD_ASSIGN=98, LSHIFT_ASSIGN=99, RSHIFT_ASSIGN=100, + URSHIFT_ASSIGN=101, Identifier=102, AT=103, ELLIPSIS=104, WS=105, COMMENT=106, + LINE_COMMENT=107; + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + public static final String[] ruleNames = { + "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", "CHAR", + "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", "ENUM", + "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", + "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", + "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", + "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", + "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "DecimalIntegerLiteral", + "HexIntegerLiteral", "OctalIntegerLiteral", "BinaryIntegerLiteral", "IntegerTypeSuffix", + "DecimalNumeral", "Digits", "Digit", "NonZeroDigit", "DigitsAndUnderscores", + "DigitOrUnderscore", "Underscores", "HexNumeral", "HexDigits", "HexDigit", + "HexDigitsAndUnderscores", "HexDigitOrUnderscore", "OctalNumeral", "OctalDigits", + "OctalDigit", "OctalDigitsAndUnderscores", "OctalDigitOrUnderscore", "BinaryNumeral", + "BinaryDigits", "BinaryDigit", "BinaryDigitsAndUnderscores", "BinaryDigitOrUnderscore", + "FloatingPointLiteral", "DecimalFloatingPointLiteral", "ExponentPart", + "ExponentIndicator", "SignedInteger", "Sign", "FloatTypeSuffix", "HexadecimalFloatingPointLiteral", + "HexSignificand", "BinaryExponent", "BinaryExponentIndicator", "BooleanLiteral", + "CharacterLiteral", "SingleCharacter", "StringLiteral", "StringCharacters", + "StringCharacter", "EscapeSequence", "OctalEscape", "ZeroToThree", "UnicodeEscape", + "NullLiteral", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", + "SEMI", "COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", + "COLON", "EQUAL", "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", + "SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", + "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", + "OR_ASSIGN", "XOR_ASSIGN", "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", + "URSHIFT_ASSIGN", "Identifier", "JavaLetter", "JavaLetterOrDigit", "AT", + "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" + }; + + private static final String[] _LITERAL_NAMES = { + null, "'abstract'", "'assert'", "'boolean'", "'break'", "'byte'", "'case'", + "'catch'", "'char'", "'class'", "'const'", "'continue'", "'default'", + "'do'", "'double'", "'else'", "'enum'", "'extends'", "'final'", "'finally'", + "'float'", "'for'", "'if'", "'goto'", "'implements'", "'import'", "'instanceof'", + "'int'", "'interface'", "'long'", "'native'", "'new'", "'package'", "'private'", + "'protected'", "'public'", "'return'", "'short'", "'static'", "'strictfp'", + "'super'", "'switch'", "'synchronized'", "'this'", "'throw'", "'throws'", + "'transient'", "'try'", "'void'", "'volatile'", "'while'", null, null, + null, null, null, "'null'", "'('", "')'", "'{'", "'}'", "'['", "']'", + "';'", "','", "'.'", "'='", "'>'", "'<'", "'!'", "'~'", "'?'", "':'", + "'=='", "'<='", "'>='", "'!='", "'&&'", "'||'", "'++'", "'--'", "'+'", + "'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'%'", "'->'", "'::'", "'+='", + "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'<<='", "'>>='", + "'>>>='", null, "'@'", "'...'" + }; + private static final String[] _SYMBOLIC_NAMES = { + null, "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", + "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", + "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", + "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", + "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", + "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", + "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "FloatingPointLiteral", + "BooleanLiteral", "CharacterLiteral", "StringLiteral", "NullLiteral", + "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", "SEMI", "COMMA", + "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", "COLON", "EQUAL", + "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", "SUB", "MUL", + "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", "ADD_ASSIGN", + "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN", + "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN", "Identifier", + "AT", "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" + }; + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Java8Lexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Java8.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + @Override + public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { + switch (ruleIndex) { + case 146: + return JavaLetter_sempred((RuleContext)_localctx, predIndex); + case 147: + return JavaLetterOrDigit_sempred((RuleContext)_localctx, predIndex); + } + return true; + } + private boolean JavaLetter_sempred(RuleContext _localctx, int predIndex) { + switch (predIndex) { + case 0: + return Character.isJavaIdentifierStart(_input.LA(-1)); + case 1: + return Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1))); + } + return true; + } + private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex) { + switch (predIndex) { + case 2: + return Character.isJavaIdentifierPart(_input.LA(-1)); + case 3: + return Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1))); + } + return true; + } + + public static final String _serializedATN = + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2m\u0448\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+ + "w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+ + "\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+ + "\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+ + "\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+ + "\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+ + "\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095\4\u0096\t\u0096\4\u0097"+ + "\t\u0097\4\u0098\t\u0098\4\u0099\t\u0099\4\u009a\t\u009a\3\2\3\2\3\2\3"+ + "\2\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4"+ + "\3\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3"+ + "\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n"+ + "\3\n\3\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f"+ + "\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3"+ + "\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\22\3"+ + "\22\3\22\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3"+ + "\24\3\24\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3"+ + "\26\3\26\3\26\3\27\3\27\3\27\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3"+ + "\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3"+ + "\32\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3"+ + "\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\36\3\36\3"+ + "\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3!\3!\3!"+ + "\3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3"+ + "#\3#\3#\3$\3$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3&\3&\3&\3&\3&\3&\3"+ + "\'\3\'\3\'\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3"+ + ")\3*\3*\3*\3*\3*\3*\3*\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3,\3,\3"+ + ",\3,\3,\3-\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3"+ + "/\3/\3/\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3"+ + "\62\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3"+ + "\64\3\64\5\64\u028d\n\64\3\65\3\65\5\65\u0291\n\65\3\66\3\66\5\66\u0295"+ + "\n\66\3\67\3\67\5\67\u0299\n\67\38\38\58\u029d\n8\39\39\3:\3:\3:\5:\u02a4"+ + "\n:\3:\3:\3:\5:\u02a9\n:\5:\u02ab\n:\3;\3;\5;\u02af\n;\3;\5;\u02b2\n;"+ + "\3<\3<\5<\u02b6\n<\3=\3=\3>\6>\u02bb\n>\r>\16>\u02bc\3?\3?\5?\u02c1\n"+ + "?\3@\6@\u02c4\n@\r@\16@\u02c5\3A\3A\3A\3A\3B\3B\5B\u02ce\nB\3B\5B\u02d1"+ + "\nB\3C\3C\3D\6D\u02d6\nD\rD\16D\u02d7\3E\3E\5E\u02dc\nE\3F\3F\5F\u02e0"+ + "\nF\3F\3F\3G\3G\5G\u02e6\nG\3G\5G\u02e9\nG\3H\3H\3I\6I\u02ee\nI\rI\16"+ + "I\u02ef\3J\3J\5J\u02f4\nJ\3K\3K\3K\3K\3L\3L\5L\u02fc\nL\3L\5L\u02ff\n"+ + "L\3M\3M\3N\6N\u0304\nN\rN\16N\u0305\3O\3O\5O\u030a\nO\3P\3P\5P\u030e\n"+ + "P\3Q\3Q\3Q\5Q\u0313\nQ\3Q\5Q\u0316\nQ\3Q\5Q\u0319\nQ\3Q\3Q\3Q\5Q\u031e"+ + "\nQ\3Q\5Q\u0321\nQ\3Q\3Q\3Q\5Q\u0326\nQ\3Q\3Q\3Q\5Q\u032b\nQ\3R\3R\3R"+ + "\3S\3S\3T\5T\u0333\nT\3T\3T\3U\3U\3V\3V\3W\3W\3W\5W\u033e\nW\3X\3X\5X"+ + "\u0342\nX\3X\3X\3X\5X\u0347\nX\3X\3X\5X\u034b\nX\3Y\3Y\3Y\3Z\3Z\3[\3["+ + "\3[\3[\3[\3[\3[\3[\3[\5[\u035b\n[\3\\\3\\\3\\\3\\\3\\\3\\\3\\\3\\\5\\"+ + "\u0365\n\\\3]\3]\3^\3^\5^\u036b\n^\3^\3^\3_\6_\u0370\n_\r_\16_\u0371\3"+ + "`\3`\5`\u0376\n`\3a\3a\3a\3a\5a\u037c\na\3b\3b\3b\3b\3b\3b\3b\3b\3b\3"+ + "b\3b\5b\u0389\nb\3c\3c\3d\3d\3d\3d\3d\3d\3d\3e\3e\3e\3e\3e\3f\3f\3g\3"+ + "g\3h\3h\3i\3i\3j\3j\3k\3k\3l\3l\3m\3m\3n\3n\3o\3o\3p\3p\3q\3q\3r\3r\3"+ + "s\3s\3t\3t\3u\3u\3v\3v\3v\3w\3w\3w\3x\3x\3x\3y\3y\3y\3z\3z\3z\3{\3{\3"+ + "{\3|\3|\3|\3}\3}\3}\3~\3~\3\177\3\177\3\u0080\3\u0080\3\u0081\3\u0081"+ + "\3\u0082\3\u0082\3\u0083\3\u0083\3\u0084\3\u0084\3\u0085\3\u0085\3\u0086"+ + "\3\u0086\3\u0086\3\u0087\3\u0087\3\u0087\3\u0088\3\u0088\3\u0088\3\u0089"+ + "\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008c"+ + "\3\u008c\3\u008c\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e\3\u008e\3\u008f"+ + "\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090\3\u0090\3\u0091\3\u0091\3\u0091"+ + "\3\u0091\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0093\3\u0093\7\u0093"+ + "\u040e\n\u0093\f\u0093\16\u0093\u0411\13\u0093\3\u0094\3\u0094\3\u0094"+ + "\3\u0094\3\u0094\3\u0094\5\u0094\u0419\n\u0094\3\u0095\3\u0095\3\u0095"+ + "\3\u0095\3\u0095\3\u0095\5\u0095\u0421\n\u0095\3\u0096\3\u0096\3\u0097"+ + "\3\u0097\3\u0097\3\u0097\3\u0098\6\u0098\u042a\n\u0098\r\u0098\16\u0098"+ + "\u042b\3\u0098\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099\7\u0099\u0434\n"+ + "\u0099\f\u0099\16\u0099\u0437\13\u0099\3\u0099\3\u0099\3\u0099\3\u0099"+ + "\3\u0099\3\u009a\3\u009a\3\u009a\3\u009a\7\u009a\u0442\n\u009a\f\u009a"+ + "\16\u009a\u0445\13\u009a\3\u009a\3\u009a\3\u0435\2\u009b\3\3\5\4\7\5\t"+ + "\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23"+ + "%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G"+ + "%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\2k\2m\2o\2q\2s\2u\2w\2"+ + "y\2{\2}\2\177\2\u0081\2\u0083\2\u0085\2\u0087\2\u0089\2\u008b\2\u008d"+ + "\2\u008f\2\u0091\2\u0093\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f"+ + "\66\u00a1\2\u00a3\2\u00a5\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1"+ + "\2\u00b3\2\u00b5\67\u00b78\u00b9\2\u00bb9\u00bd\2\u00bf\2\u00c1\2\u00c3"+ + "\2\u00c5\2\u00c7\2\u00c9:\u00cb;\u00cd<\u00cf=\u00d1>\u00d3?\u00d5@\u00d7"+ + "A\u00d9B\u00dbC\u00ddD\u00dfE\u00e1F\u00e3G\u00e5H\u00e7I\u00e9J\u00eb"+ + "K\u00edL\u00efM\u00f1N\u00f3O\u00f5P\u00f7Q\u00f9R\u00fbS\u00fdT\u00ff"+ + "U\u0101V\u0103W\u0105X\u0107Y\u0109Z\u010b[\u010d\\\u010f]\u0111^\u0113"+ + "_\u0115`\u0117a\u0119b\u011bc\u011dd\u011fe\u0121f\u0123g\u0125h\u0127"+ + "\2\u0129\2\u012bi\u012dj\u012fk\u0131l\u0133m\3\2\30\4\2NNnn\3\2\63;\4"+ + "\2ZZzz\5\2\62;CHch\3\2\629\4\2DDdd\3\2\62\63\4\2GGgg\4\2--//\6\2FFHHf"+ + "fhh\4\2RRrr\4\2))^^\4\2$$^^\n\2$$))^^ddhhppttvv\3\2\62\65\6\2&&C\\aac"+ + "|\4\2\2\u0081\ud802\udc01\3\2\ud802\udc01\3\2\udc02\ue001\7\2&&\62;C\\"+ + "aac|\5\2\13\f\16\17\"\"\4\2\f\f\17\17\u0456\2\3\3\2\2\2\2\5\3\2\2\2\2"+ + "\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2"+ + "\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2"+ + "\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2"+ + "\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2"+ + "\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2"+ + "\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2"+ + "M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3"+ + "\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2"+ + "\2\2g\3\2\2\2\2\u009f\3\2\2\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00bb"+ + "\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2"+ + "\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2\2\2\u00d7\3\2\2\2\2\u00d9"+ + "\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2"+ + "\2\2\u00e3\3\2\2\2\2\u00e5\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb"+ + "\3\2\2\2\2\u00ed\3\2\2\2\2\u00ef\3\2\2\2\2\u00f1\3\2\2\2\2\u00f3\3\2\2"+ + "\2\2\u00f5\3\2\2\2\2\u00f7\3\2\2\2\2\u00f9\3\2\2\2\2\u00fb\3\2\2\2\2\u00fd"+ + "\3\2\2\2\2\u00ff\3\2\2\2\2\u0101\3\2\2\2\2\u0103\3\2\2\2\2\u0105\3\2\2"+ + "\2\2\u0107\3\2\2\2\2\u0109\3\2\2\2\2\u010b\3\2\2\2\2\u010d\3\2\2\2\2\u010f"+ + "\3\2\2\2\2\u0111\3\2\2\2\2\u0113\3\2\2\2\2\u0115\3\2\2\2\2\u0117\3\2\2"+ + "\2\2\u0119\3\2\2\2\2\u011b\3\2\2\2\2\u011d\3\2\2\2\2\u011f\3\2\2\2\2\u0121"+ + "\3\2\2\2\2\u0123\3\2\2\2\2\u0125\3\2\2\2\2\u012b\3\2\2\2\2\u012d\3\2\2"+ + "\2\2\u012f\3\2\2\2\2\u0131\3\2\2\2\2\u0133\3\2\2\2\3\u0135\3\2\2\2\5\u013e"+ + "\3\2\2\2\7\u0145\3\2\2\2\t\u014d\3\2\2\2\13\u0153\3\2\2\2\r\u0158\3\2"+ + "\2\2\17\u015d\3\2\2\2\21\u0163\3\2\2\2\23\u0168\3\2\2\2\25\u016e\3\2\2"+ + "\2\27\u0174\3\2\2\2\31\u017d\3\2\2\2\33\u0185\3\2\2\2\35\u0188\3\2\2\2"+ + "\37\u018f\3\2\2\2!\u0194\3\2\2\2#\u0199\3\2\2\2%\u01a1\3\2\2\2\'\u01a7"+ + "\3\2\2\2)\u01af\3\2\2\2+\u01b5\3\2\2\2-\u01b9\3\2\2\2/\u01bc\3\2\2\2\61"+ + "\u01c1\3\2\2\2\63\u01cc\3\2\2\2\65\u01d3\3\2\2\2\67\u01de\3\2\2\29\u01e2"+ + "\3\2\2\2;\u01ec\3\2\2\2=\u01f1\3\2\2\2?\u01f8\3\2\2\2A\u01fc\3\2\2\2C"+ + "\u0204\3\2\2\2E\u020c\3\2\2\2G\u0216\3\2\2\2I\u021d\3\2\2\2K\u0224\3\2"+ + "\2\2M\u022a\3\2\2\2O\u0231\3\2\2\2Q\u023a\3\2\2\2S\u0240\3\2\2\2U\u0247"+ + "\3\2\2\2W\u0254\3\2\2\2Y\u0259\3\2\2\2[\u025f\3\2\2\2]\u0266\3\2\2\2_"+ + "\u0270\3\2\2\2a\u0274\3\2\2\2c\u0279\3\2\2\2e\u0282\3\2\2\2g\u028c\3\2"+ + "\2\2i\u028e\3\2\2\2k\u0292\3\2\2\2m\u0296\3\2\2\2o\u029a\3\2\2\2q\u029e"+ + "\3\2\2\2s\u02aa\3\2\2\2u\u02ac\3\2\2\2w\u02b5\3\2\2\2y\u02b7\3\2\2\2{"+ + "\u02ba\3\2\2\2}\u02c0\3\2\2\2\177\u02c3\3\2\2\2\u0081\u02c7\3\2\2\2\u0083"+ + "\u02cb\3\2\2\2\u0085\u02d2\3\2\2\2\u0087\u02d5\3\2\2\2\u0089\u02db\3\2"+ + "\2\2\u008b\u02dd\3\2\2\2\u008d\u02e3\3\2\2\2\u008f\u02ea\3\2\2\2\u0091"+ + "\u02ed\3\2\2\2\u0093\u02f3\3\2\2\2\u0095\u02f5\3\2\2\2\u0097\u02f9\3\2"+ + "\2\2\u0099\u0300\3\2\2\2\u009b\u0303\3\2\2\2\u009d\u0309\3\2\2\2\u009f"+ + "\u030d\3\2\2\2\u00a1\u032a\3\2\2\2\u00a3\u032c\3\2\2\2\u00a5\u032f\3\2"+ + "\2\2\u00a7\u0332\3\2\2\2\u00a9\u0336\3\2\2\2\u00ab\u0338\3\2\2\2\u00ad"+ + "\u033a\3\2\2\2\u00af\u034a\3\2\2\2\u00b1\u034c\3\2\2\2\u00b3\u034f\3\2"+ + "\2\2\u00b5\u035a\3\2\2\2\u00b7\u0364\3\2\2\2\u00b9\u0366\3\2\2\2\u00bb"+ + "\u0368\3\2\2\2\u00bd\u036f\3\2\2\2\u00bf\u0375\3\2\2\2\u00c1\u037b\3\2"+ + "\2\2\u00c3\u0388\3\2\2\2\u00c5\u038a\3\2\2\2\u00c7\u038c\3\2\2\2\u00c9"+ + "\u0393\3\2\2\2\u00cb\u0398\3\2\2\2\u00cd\u039a\3\2\2\2\u00cf\u039c\3\2"+ + "\2\2\u00d1\u039e\3\2\2\2\u00d3\u03a0\3\2\2\2\u00d5\u03a2\3\2\2\2\u00d7"+ + "\u03a4\3\2\2\2\u00d9\u03a6\3\2\2\2\u00db\u03a8\3\2\2\2\u00dd\u03aa\3\2"+ + "\2\2\u00df\u03ac\3\2\2\2\u00e1\u03ae\3\2\2\2\u00e3\u03b0\3\2\2\2\u00e5"+ + "\u03b2\3\2\2\2\u00e7\u03b4\3\2\2\2\u00e9\u03b6\3\2\2\2\u00eb\u03b8\3\2"+ + "\2\2\u00ed\u03bb\3\2\2\2\u00ef\u03be\3\2\2\2\u00f1\u03c1\3\2\2\2\u00f3"+ + "\u03c4\3\2\2\2\u00f5\u03c7\3\2\2\2\u00f7\u03ca\3\2\2\2\u00f9\u03cd\3\2"+ + "\2\2\u00fb\u03d0\3\2\2\2\u00fd\u03d2\3\2\2\2\u00ff\u03d4\3\2\2\2\u0101"+ + "\u03d6\3\2\2\2\u0103\u03d8\3\2\2\2\u0105\u03da\3\2\2\2\u0107\u03dc\3\2"+ + "\2\2\u0109\u03de\3\2\2\2\u010b\u03e0\3\2\2\2\u010d\u03e3\3\2\2\2\u010f"+ + "\u03e6\3\2\2\2\u0111\u03e9\3\2\2\2\u0113\u03ec\3\2\2\2\u0115\u03ef\3\2"+ + "\2\2\u0117\u03f2\3\2\2\2\u0119\u03f5\3\2\2\2\u011b\u03f8\3\2\2\2\u011d"+ + "\u03fb\3\2\2\2\u011f\u03fe\3\2\2\2\u0121\u0402\3\2\2\2\u0123\u0406\3\2"+ + "\2\2\u0125\u040b\3\2\2\2\u0127\u0418\3\2\2\2\u0129\u0420\3\2\2\2\u012b"+ + "\u0422\3\2\2\2\u012d\u0424\3\2\2\2\u012f\u0429\3\2\2\2\u0131\u042f\3\2"+ + "\2\2\u0133\u043d\3\2\2\2\u0135\u0136\7c\2\2\u0136\u0137\7d\2\2\u0137\u0138"+ + "\7u\2\2\u0138\u0139\7v\2\2\u0139\u013a\7t\2\2\u013a\u013b\7c\2\2\u013b"+ + "\u013c\7e\2\2\u013c\u013d\7v\2\2\u013d\4\3\2\2\2\u013e\u013f\7c\2\2\u013f"+ + "\u0140\7u\2\2\u0140\u0141\7u\2\2\u0141\u0142\7g\2\2\u0142\u0143\7t\2\2"+ + "\u0143\u0144\7v\2\2\u0144\6\3\2\2\2\u0145\u0146\7d\2\2\u0146\u0147\7q"+ + "\2\2\u0147\u0148\7q\2\2\u0148\u0149\7n\2\2\u0149\u014a\7g\2\2\u014a\u014b"+ + "\7c\2\2\u014b\u014c\7p\2\2\u014c\b\3\2\2\2\u014d\u014e\7d\2\2\u014e\u014f"+ + "\7t\2\2\u014f\u0150\7g\2\2\u0150\u0151\7c\2\2\u0151\u0152\7m\2\2\u0152"+ + "\n\3\2\2\2\u0153\u0154\7d\2\2\u0154\u0155\7{\2\2\u0155\u0156\7v\2\2\u0156"+ + "\u0157\7g\2\2\u0157\f\3\2\2\2\u0158\u0159\7e\2\2\u0159\u015a\7c\2\2\u015a"+ + "\u015b\7u\2\2\u015b\u015c\7g\2\2\u015c\16\3\2\2\2\u015d\u015e\7e\2\2\u015e"+ + "\u015f\7c\2\2\u015f\u0160\7v\2\2\u0160\u0161\7e\2\2\u0161\u0162\7j\2\2"+ + "\u0162\20\3\2\2\2\u0163\u0164\7e\2\2\u0164\u0165\7j\2\2\u0165\u0166\7"+ + "c\2\2\u0166\u0167\7t\2\2\u0167\22\3\2\2\2\u0168\u0169\7e\2\2\u0169\u016a"+ + "\7n\2\2\u016a\u016b\7c\2\2\u016b\u016c\7u\2\2\u016c\u016d\7u\2\2\u016d"+ + "\24\3\2\2\2\u016e\u016f\7e\2\2\u016f\u0170\7q\2\2\u0170\u0171\7p\2\2\u0171"+ + "\u0172\7u\2\2\u0172\u0173\7v\2\2\u0173\26\3\2\2\2\u0174\u0175\7e\2\2\u0175"+ + "\u0176\7q\2\2\u0176\u0177\7p\2\2\u0177\u0178\7v\2\2\u0178\u0179\7k\2\2"+ + "\u0179\u017a\7p\2\2\u017a\u017b\7w\2\2\u017b\u017c\7g\2\2\u017c\30\3\2"+ + "\2\2\u017d\u017e\7f\2\2\u017e\u017f\7g\2\2\u017f\u0180\7h\2\2\u0180\u0181"+ + "\7c\2\2\u0181\u0182\7w\2\2\u0182\u0183\7n\2\2\u0183\u0184\7v\2\2\u0184"+ + "\32\3\2\2\2\u0185\u0186\7f\2\2\u0186\u0187\7q\2\2\u0187\34\3\2\2\2\u0188"+ + "\u0189\7f\2\2\u0189\u018a\7q\2\2\u018a\u018b\7w\2\2\u018b\u018c\7d\2\2"+ + "\u018c\u018d\7n\2\2\u018d\u018e\7g\2\2\u018e\36\3\2\2\2\u018f\u0190\7"+ + "g\2\2\u0190\u0191\7n\2\2\u0191\u0192\7u\2\2\u0192\u0193\7g\2\2\u0193 "+ + "\3\2\2\2\u0194\u0195\7g\2\2\u0195\u0196\7p\2\2\u0196\u0197\7w\2\2\u0197"+ + "\u0198\7o\2\2\u0198\"\3\2\2\2\u0199\u019a\7g\2\2\u019a\u019b\7z\2\2\u019b"+ + "\u019c\7v\2\2\u019c\u019d\7g\2\2\u019d\u019e\7p\2\2\u019e\u019f\7f\2\2"+ + "\u019f\u01a0\7u\2\2\u01a0$\3\2\2\2\u01a1\u01a2\7h\2\2\u01a2\u01a3\7k\2"+ + "\2\u01a3\u01a4\7p\2\2\u01a4\u01a5\7c\2\2\u01a5\u01a6\7n\2\2\u01a6&\3\2"+ + "\2\2\u01a7\u01a8\7h\2\2\u01a8\u01a9\7k\2\2\u01a9\u01aa\7p\2\2\u01aa\u01ab"+ + "\7c\2\2\u01ab\u01ac\7n\2\2\u01ac\u01ad\7n\2\2\u01ad\u01ae\7{\2\2\u01ae"+ + "(\3\2\2\2\u01af\u01b0\7h\2\2\u01b0\u01b1\7n\2\2\u01b1\u01b2\7q\2\2\u01b2"+ + "\u01b3\7c\2\2\u01b3\u01b4\7v\2\2\u01b4*\3\2\2\2\u01b5\u01b6\7h\2\2\u01b6"+ + "\u01b7\7q\2\2\u01b7\u01b8\7t\2\2\u01b8,\3\2\2\2\u01b9\u01ba\7k\2\2\u01ba"+ + "\u01bb\7h\2\2\u01bb.\3\2\2\2\u01bc\u01bd\7i\2\2\u01bd\u01be\7q\2\2\u01be"+ + "\u01bf\7v\2\2\u01bf\u01c0\7q\2\2\u01c0\60\3\2\2\2\u01c1\u01c2\7k\2\2\u01c2"+ + "\u01c3\7o\2\2\u01c3\u01c4\7r\2\2\u01c4\u01c5\7n\2\2\u01c5\u01c6\7g\2\2"+ + "\u01c6\u01c7\7o\2\2\u01c7\u01c8\7g\2\2\u01c8\u01c9\7p\2\2\u01c9\u01ca"+ + "\7v\2\2\u01ca\u01cb\7u\2\2\u01cb\62\3\2\2\2\u01cc\u01cd\7k\2\2\u01cd\u01ce"+ + "\7o\2\2\u01ce\u01cf\7r\2\2\u01cf\u01d0\7q\2\2\u01d0\u01d1\7t\2\2\u01d1"+ + "\u01d2\7v\2\2\u01d2\64\3\2\2\2\u01d3\u01d4\7k\2\2\u01d4\u01d5\7p\2\2\u01d5"+ + "\u01d6\7u\2\2\u01d6\u01d7\7v\2\2\u01d7\u01d8\7c\2\2\u01d8\u01d9\7p\2\2"+ + "\u01d9\u01da\7e\2\2\u01da\u01db\7g\2\2\u01db\u01dc\7q\2\2\u01dc\u01dd"+ + "\7h\2\2\u01dd\66\3\2\2\2\u01de\u01df\7k\2\2\u01df\u01e0\7p\2\2\u01e0\u01e1"+ + "\7v\2\2\u01e18\3\2\2\2\u01e2\u01e3\7k\2\2\u01e3\u01e4\7p\2\2\u01e4\u01e5"+ + "\7v\2\2\u01e5\u01e6\7g\2\2\u01e6\u01e7\7t\2\2\u01e7\u01e8\7h\2\2\u01e8"+ + "\u01e9\7c\2\2\u01e9\u01ea\7e\2\2\u01ea\u01eb\7g\2\2\u01eb:\3\2\2\2\u01ec"+ + "\u01ed\7n\2\2\u01ed\u01ee\7q\2\2\u01ee\u01ef\7p\2\2\u01ef\u01f0\7i\2\2"+ + "\u01f0<\3\2\2\2\u01f1\u01f2\7p\2\2\u01f2\u01f3\7c\2\2\u01f3\u01f4\7v\2"+ + "\2\u01f4\u01f5\7k\2\2\u01f5\u01f6\7x\2\2\u01f6\u01f7\7g\2\2\u01f7>\3\2"+ + "\2\2\u01f8\u01f9\7p\2\2\u01f9\u01fa\7g\2\2\u01fa\u01fb\7y\2\2\u01fb@\3"+ + "\2\2\2\u01fc\u01fd\7r\2\2\u01fd\u01fe\7c\2\2\u01fe\u01ff\7e\2\2\u01ff"+ + "\u0200\7m\2\2\u0200\u0201\7c\2\2\u0201\u0202\7i\2\2\u0202\u0203\7g\2\2"+ + "\u0203B\3\2\2\2\u0204\u0205\7r\2\2\u0205\u0206\7t\2\2\u0206\u0207\7k\2"+ + "\2\u0207\u0208\7x\2\2\u0208\u0209\7c\2\2\u0209\u020a\7v\2\2\u020a\u020b"+ + "\7g\2\2\u020bD\3\2\2\2\u020c\u020d\7r\2\2\u020d\u020e\7t\2\2\u020e\u020f"+ + "\7q\2\2\u020f\u0210\7v\2\2\u0210\u0211\7g\2\2\u0211\u0212\7e\2\2\u0212"+ + "\u0213\7v\2\2\u0213\u0214\7g\2\2\u0214\u0215\7f\2\2\u0215F\3\2\2\2\u0216"+ + "\u0217\7r\2\2\u0217\u0218\7w\2\2\u0218\u0219\7d\2\2\u0219\u021a\7n\2\2"+ + "\u021a\u021b\7k\2\2\u021b\u021c\7e\2\2\u021cH\3\2\2\2\u021d\u021e\7t\2"+ + "\2\u021e\u021f\7g\2\2\u021f\u0220\7v\2\2\u0220\u0221\7w\2\2\u0221\u0222"+ + "\7t\2\2\u0222\u0223\7p\2\2\u0223J\3\2\2\2\u0224\u0225\7u\2\2\u0225\u0226"+ + "\7j\2\2\u0226\u0227\7q\2\2\u0227\u0228\7t\2\2\u0228\u0229\7v\2\2\u0229"+ + "L\3\2\2\2\u022a\u022b\7u\2\2\u022b\u022c\7v\2\2\u022c\u022d\7c\2\2\u022d"+ + "\u022e\7v\2\2\u022e\u022f\7k\2\2\u022f\u0230\7e\2\2\u0230N\3\2\2\2\u0231"+ + "\u0232\7u\2\2\u0232\u0233\7v\2\2\u0233\u0234\7t\2\2\u0234\u0235\7k\2\2"+ + "\u0235\u0236\7e\2\2\u0236\u0237\7v\2\2\u0237\u0238\7h\2\2\u0238\u0239"+ + "\7r\2\2\u0239P\3\2\2\2\u023a\u023b\7u\2\2\u023b\u023c\7w\2\2\u023c\u023d"+ + "\7r\2\2\u023d\u023e\7g\2\2\u023e\u023f\7t\2\2\u023fR\3\2\2\2\u0240\u0241"+ + "\7u\2\2\u0241\u0242\7y\2\2\u0242\u0243\7k\2\2\u0243\u0244\7v\2\2\u0244"+ + "\u0245\7e\2\2\u0245\u0246\7j\2\2\u0246T\3\2\2\2\u0247\u0248\7u\2\2\u0248"+ + "\u0249\7{\2\2\u0249\u024a\7p\2\2\u024a\u024b\7e\2\2\u024b\u024c\7j\2\2"+ + "\u024c\u024d\7t\2\2\u024d\u024e\7q\2\2\u024e\u024f\7p\2\2\u024f\u0250"+ + "\7k\2\2\u0250\u0251\7|\2\2\u0251\u0252\7g\2\2\u0252\u0253\7f\2\2\u0253"+ + "V\3\2\2\2\u0254\u0255\7v\2\2\u0255\u0256\7j\2\2\u0256\u0257\7k\2\2\u0257"+ + "\u0258\7u\2\2\u0258X\3\2\2\2\u0259\u025a\7v\2\2\u025a\u025b\7j\2\2\u025b"+ + "\u025c\7t\2\2\u025c\u025d\7q\2\2\u025d\u025e\7y\2\2\u025eZ\3\2\2\2\u025f"+ + "\u0260\7v\2\2\u0260\u0261\7j\2\2\u0261\u0262\7t\2\2\u0262\u0263\7q\2\2"+ + "\u0263\u0264\7y\2\2\u0264\u0265\7u\2\2\u0265\\\3\2\2\2\u0266\u0267\7v"+ + "\2\2\u0267\u0268\7t\2\2\u0268\u0269\7c\2\2\u0269\u026a\7p\2\2\u026a\u026b"+ + "\7u\2\2\u026b\u026c\7k\2\2\u026c\u026d\7g\2\2\u026d\u026e\7p\2\2\u026e"+ + "\u026f\7v\2\2\u026f^\3\2\2\2\u0270\u0271\7v\2\2\u0271\u0272\7t\2\2\u0272"+ + "\u0273\7{\2\2\u0273`\3\2\2\2\u0274\u0275\7x\2\2\u0275\u0276\7q\2\2\u0276"+ + "\u0277\7k\2\2\u0277\u0278\7f\2\2\u0278b\3\2\2\2\u0279\u027a\7x\2\2\u027a"+ + "\u027b\7q\2\2\u027b\u027c\7n\2\2\u027c\u027d\7c\2\2\u027d\u027e\7v\2\2"+ + "\u027e\u027f\7k\2\2\u027f\u0280\7n\2\2\u0280\u0281\7g\2\2\u0281d\3\2\2"+ + "\2\u0282\u0283\7y\2\2\u0283\u0284\7j\2\2\u0284\u0285\7k\2\2\u0285\u0286"+ + "\7n\2\2\u0286\u0287\7g\2\2\u0287f\3\2\2\2\u0288\u028d\5i\65\2\u0289\u028d"+ + "\5k\66\2\u028a\u028d\5m\67\2\u028b\u028d\5o8\2\u028c\u0288\3\2\2\2\u028c"+ + "\u0289\3\2\2\2\u028c\u028a\3\2\2\2\u028c\u028b\3\2\2\2\u028dh\3\2\2\2"+ + "\u028e\u0290\5s:\2\u028f\u0291\5q9\2\u0290\u028f\3\2\2\2\u0290\u0291\3"+ + "\2\2\2\u0291j\3\2\2\2\u0292\u0294\5\u0081A\2\u0293\u0295\5q9\2\u0294\u0293"+ + "\3\2\2\2\u0294\u0295\3\2\2\2\u0295l\3\2\2\2\u0296\u0298\5\u008bF\2\u0297"+ + "\u0299\5q9\2\u0298\u0297\3\2\2\2\u0298\u0299\3\2\2\2\u0299n\3\2\2\2\u029a"+ + "\u029c\5\u0095K\2\u029b\u029d\5q9\2\u029c\u029b\3\2\2\2\u029c\u029d\3"+ + "\2\2\2\u029dp\3\2\2\2\u029e\u029f\t\2\2\2\u029fr\3\2\2\2\u02a0\u02ab\7"+ + "\62\2\2\u02a1\u02a8\5y=\2\u02a2\u02a4\5u;\2\u02a3\u02a2\3\2\2\2\u02a3"+ + "\u02a4\3\2\2\2\u02a4\u02a9\3\2\2\2\u02a5\u02a6\5\177@\2\u02a6\u02a7\5"+ + "u;\2\u02a7\u02a9\3\2\2\2\u02a8\u02a3\3\2\2\2\u02a8\u02a5\3\2\2\2\u02a9"+ + "\u02ab\3\2\2\2\u02aa\u02a0\3\2\2\2\u02aa\u02a1\3\2\2\2\u02abt\3\2\2\2"+ + "\u02ac\u02b1\5w<\2\u02ad\u02af\5{>\2\u02ae\u02ad\3\2\2\2\u02ae\u02af\3"+ + "\2\2\2\u02af\u02b0\3\2\2\2\u02b0\u02b2\5w<\2\u02b1\u02ae\3\2\2\2\u02b1"+ + "\u02b2\3\2\2\2\u02b2v\3\2\2\2\u02b3\u02b6\7\62\2\2\u02b4\u02b6\5y=\2\u02b5"+ + "\u02b3\3\2\2\2\u02b5\u02b4\3\2\2\2\u02b6x\3\2\2\2\u02b7\u02b8\t\3\2\2"+ + "\u02b8z\3\2\2\2\u02b9\u02bb\5}?\2\u02ba\u02b9\3\2\2\2\u02bb\u02bc\3\2"+ + "\2\2\u02bc\u02ba\3\2\2\2\u02bc\u02bd\3\2\2\2\u02bd|\3\2\2\2\u02be\u02c1"+ + "\5w<\2\u02bf\u02c1\7a\2\2\u02c0\u02be\3\2\2\2\u02c0\u02bf\3\2\2\2\u02c1"+ + "~\3\2\2\2\u02c2\u02c4\7a\2\2\u02c3\u02c2\3\2\2\2\u02c4\u02c5\3\2\2\2\u02c5"+ + "\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6\u0080\3\2\2\2\u02c7\u02c8\7\62"+ + "\2\2\u02c8\u02c9\t\4\2\2\u02c9\u02ca\5\u0083B\2\u02ca\u0082\3\2\2\2\u02cb"+ + "\u02d0\5\u0085C\2\u02cc\u02ce\5\u0087D\2\u02cd\u02cc\3\2\2\2\u02cd\u02ce"+ + "\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02d1\5\u0085C\2\u02d0\u02cd\3\2\2"+ + "\2\u02d0\u02d1\3\2\2\2\u02d1\u0084\3\2\2\2\u02d2\u02d3\t\5\2\2\u02d3\u0086"+ + "\3\2\2\2\u02d4\u02d6\5\u0089E\2\u02d5\u02d4\3\2\2\2\u02d6\u02d7\3\2\2"+ + "\2\u02d7\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u0088\3\2\2\2\u02d9\u02dc"+ + "\5\u0085C\2\u02da\u02dc\7a\2\2\u02db\u02d9\3\2\2\2\u02db\u02da\3\2\2\2"+ + "\u02dc\u008a\3\2\2\2\u02dd\u02df\7\62\2\2\u02de\u02e0\5\177@\2\u02df\u02de"+ + "\3\2\2\2\u02df\u02e0\3\2\2\2\u02e0\u02e1\3\2\2\2\u02e1\u02e2\5\u008dG"+ + "\2\u02e2\u008c\3\2\2\2\u02e3\u02e8\5\u008fH\2\u02e4\u02e6\5\u0091I\2\u02e5"+ + "\u02e4\3\2\2\2\u02e5\u02e6\3\2\2\2\u02e6\u02e7\3\2\2\2\u02e7\u02e9\5\u008f"+ + "H\2\u02e8\u02e5\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9\u008e\3\2\2\2\u02ea"+ + "\u02eb\t\6\2\2\u02eb\u0090\3\2\2\2\u02ec\u02ee\5\u0093J\2\u02ed\u02ec"+ + "\3\2\2\2\u02ee\u02ef\3\2\2\2\u02ef\u02ed\3\2\2\2\u02ef\u02f0\3\2\2\2\u02f0"+ + "\u0092\3\2\2\2\u02f1\u02f4\5\u008fH\2\u02f2\u02f4\7a\2\2\u02f3\u02f1\3"+ + "\2\2\2\u02f3\u02f2\3\2\2\2\u02f4\u0094\3\2\2\2\u02f5\u02f6\7\62\2\2\u02f6"+ + "\u02f7\t\7\2\2\u02f7\u02f8\5\u0097L\2\u02f8\u0096\3\2\2\2\u02f9\u02fe"+ + "\5\u0099M\2\u02fa\u02fc\5\u009bN\2\u02fb\u02fa\3\2\2\2\u02fb\u02fc\3\2"+ + "\2\2\u02fc\u02fd\3\2\2\2\u02fd\u02ff\5\u0099M\2\u02fe\u02fb\3\2\2\2\u02fe"+ + "\u02ff\3\2\2\2\u02ff\u0098\3\2\2\2\u0300\u0301\t\b\2\2\u0301\u009a\3\2"+ + "\2\2\u0302\u0304\5\u009dO\2\u0303\u0302\3\2\2\2\u0304\u0305\3\2\2\2\u0305"+ + "\u0303\3\2\2\2\u0305\u0306\3\2\2\2\u0306\u009c\3\2\2\2\u0307\u030a\5\u0099"+ + "M\2\u0308\u030a\7a\2\2\u0309\u0307\3\2\2\2\u0309\u0308\3\2\2\2\u030a\u009e"+ + "\3\2\2\2\u030b\u030e\5\u00a1Q\2\u030c\u030e\5\u00adW\2\u030d\u030b\3\2"+ + "\2\2\u030d\u030c\3\2\2\2\u030e\u00a0\3\2\2\2\u030f\u0310\5u;\2\u0310\u0312"+ + "\7\60\2\2\u0311\u0313\5u;\2\u0312\u0311\3\2\2\2\u0312\u0313\3\2\2\2\u0313"+ + "\u0315\3\2\2\2\u0314\u0316\5\u00a3R\2\u0315\u0314\3\2\2\2\u0315\u0316"+ + "\3\2\2\2\u0316\u0318\3\2\2\2\u0317\u0319\5\u00abV\2\u0318\u0317\3\2\2"+ + "\2\u0318\u0319\3\2\2\2\u0319\u032b\3\2\2\2\u031a\u031b\7\60\2\2\u031b"+ + "\u031d\5u;\2\u031c\u031e\5\u00a3R\2\u031d\u031c\3\2\2\2\u031d\u031e\3"+ + "\2\2\2\u031e\u0320\3\2\2\2\u031f\u0321\5\u00abV\2\u0320\u031f\3\2\2\2"+ + "\u0320\u0321\3\2\2\2\u0321\u032b\3\2\2\2\u0322\u0323\5u;\2\u0323\u0325"+ + "\5\u00a3R\2\u0324\u0326\5\u00abV\2\u0325\u0324\3\2\2\2\u0325\u0326\3\2"+ + "\2\2\u0326\u032b\3\2\2\2\u0327\u0328\5u;\2\u0328\u0329\5\u00abV\2\u0329"+ + "\u032b\3\2\2\2\u032a\u030f\3\2\2\2\u032a\u031a\3\2\2\2\u032a\u0322\3\2"+ + "\2\2\u032a\u0327\3\2\2\2\u032b\u00a2\3\2\2\2\u032c\u032d\5\u00a5S\2\u032d"+ + "\u032e\5\u00a7T\2\u032e\u00a4\3\2\2\2\u032f\u0330\t\t\2\2\u0330\u00a6"+ + "\3\2\2\2\u0331\u0333\5\u00a9U\2\u0332\u0331\3\2\2\2\u0332\u0333\3\2\2"+ + "\2\u0333\u0334\3\2\2\2\u0334\u0335\5u;\2\u0335\u00a8\3\2\2\2\u0336\u0337"+ + "\t\n\2\2\u0337\u00aa\3\2\2\2\u0338\u0339\t\13\2\2\u0339\u00ac\3\2\2\2"+ + "\u033a\u033b\5\u00afX\2\u033b\u033d\5\u00b1Y\2\u033c\u033e\5\u00abV\2"+ + "\u033d\u033c\3\2\2\2\u033d\u033e\3\2\2\2\u033e\u00ae\3\2\2\2\u033f\u0341"+ + "\5\u0081A\2\u0340\u0342\7\60\2\2\u0341\u0340\3\2\2\2\u0341\u0342\3\2\2"+ + "\2\u0342\u034b\3\2\2\2\u0343\u0344\7\62\2\2\u0344\u0346\t\4\2\2\u0345"+ + "\u0347\5\u0083B\2\u0346\u0345\3\2\2\2\u0346\u0347\3\2\2\2\u0347\u0348"+ + "\3\2\2\2\u0348\u0349\7\60\2\2\u0349\u034b\5\u0083B\2\u034a\u033f\3\2\2"+ + "\2\u034a\u0343\3\2\2\2\u034b\u00b0\3\2\2\2\u034c\u034d\5\u00b3Z\2\u034d"+ + "\u034e\5\u00a7T\2\u034e\u00b2\3\2\2\2\u034f\u0350\t\f\2\2\u0350\u00b4"+ + "\3\2\2\2\u0351\u0352\7v\2\2\u0352\u0353\7t\2\2\u0353\u0354\7w\2\2\u0354"+ + "\u035b\7g\2\2\u0355\u0356\7h\2\2\u0356\u0357\7c\2\2\u0357\u0358\7n\2\2"+ + "\u0358\u0359\7u\2\2\u0359\u035b\7g\2\2\u035a\u0351\3\2\2\2\u035a\u0355"+ + "\3\2\2\2\u035b\u00b6\3\2\2\2\u035c\u035d\7)\2\2\u035d\u035e\5\u00b9]\2"+ + "\u035e\u035f\7)\2\2\u035f\u0365\3\2\2\2\u0360\u0361\7)\2\2\u0361\u0362"+ + "\5\u00c1a\2\u0362\u0363\7)\2\2\u0363\u0365\3\2\2\2\u0364\u035c\3\2\2\2"+ + "\u0364\u0360\3\2\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\n\r\2\2\u0367\u00ba"+ + "\3\2\2\2\u0368\u036a\7$\2\2\u0369\u036b\5\u00bd_\2\u036a\u0369\3\2\2\2"+ + "\u036a\u036b\3\2\2\2\u036b\u036c\3\2\2\2\u036c\u036d\7$\2\2\u036d\u00bc"+ + "\3\2\2\2\u036e\u0370\5\u00bf`\2\u036f\u036e\3\2\2\2\u0370\u0371\3\2\2"+ + "\2\u0371\u036f\3\2\2\2\u0371\u0372\3\2\2\2\u0372\u00be\3\2\2\2\u0373\u0376"+ + "\n\16\2\2\u0374\u0376\5\u00c1a\2\u0375\u0373\3\2\2\2\u0375\u0374\3\2\2"+ + "\2\u0376\u00c0\3\2\2\2\u0377\u0378\7^\2\2\u0378\u037c\t\17\2\2\u0379\u037c"+ + "\5\u00c3b\2\u037a\u037c\5\u00c7d\2\u037b\u0377\3\2\2\2\u037b\u0379\3\2"+ + "\2\2\u037b\u037a\3\2\2\2\u037c\u00c2\3\2\2\2\u037d\u037e\7^\2\2\u037e"+ + "\u0389\5\u008fH\2\u037f\u0380\7^\2\2\u0380\u0381\5\u008fH\2\u0381\u0382"+ + "\5\u008fH\2\u0382\u0389\3\2\2\2\u0383\u0384\7^\2\2\u0384\u0385\5\u00c5"+ + "c\2\u0385\u0386\5\u008fH\2\u0386\u0387\5\u008fH\2\u0387\u0389\3\2\2\2"+ + "\u0388\u037d\3\2\2\2\u0388\u037f\3\2\2\2\u0388\u0383\3\2\2\2\u0389\u00c4"+ + "\3\2\2\2\u038a\u038b\t\20\2\2\u038b\u00c6\3\2\2\2\u038c\u038d\7^\2\2\u038d"+ + "\u038e\7w\2\2\u038e\u038f\5\u0085C\2\u038f\u0390\5\u0085C\2\u0390\u0391"+ + "\5\u0085C\2\u0391\u0392\5\u0085C\2\u0392\u00c8\3\2\2\2\u0393\u0394\7p"+ + "\2\2\u0394\u0395\7w\2\2\u0395\u0396\7n\2\2\u0396\u0397\7n\2\2\u0397\u00ca"+ + "\3\2\2\2\u0398\u0399\7*\2\2\u0399\u00cc\3\2\2\2\u039a\u039b\7+\2\2\u039b"+ + "\u00ce\3\2\2\2\u039c\u039d\7}\2\2\u039d\u00d0\3\2\2\2\u039e\u039f\7\177"+ + "\2\2\u039f\u00d2\3\2\2\2\u03a0\u03a1\7]\2\2\u03a1\u00d4\3\2\2\2\u03a2"+ + "\u03a3\7_\2\2\u03a3\u00d6\3\2\2\2\u03a4\u03a5\7=\2\2\u03a5\u00d8\3\2\2"+ + "\2\u03a6\u03a7\7.\2\2\u03a7\u00da\3\2\2\2\u03a8\u03a9\7\60\2\2\u03a9\u00dc"+ + "\3\2\2\2\u03aa\u03ab\7?\2\2\u03ab\u00de\3\2\2\2\u03ac\u03ad\7@\2\2\u03ad"+ + "\u00e0\3\2\2\2\u03ae\u03af\7>\2\2\u03af\u00e2\3\2\2\2\u03b0\u03b1\7#\2"+ + "\2\u03b1\u00e4\3\2\2\2\u03b2\u03b3\7\u0080\2\2\u03b3\u00e6\3\2\2\2\u03b4"+ + "\u03b5\7A\2\2\u03b5\u00e8\3\2\2\2\u03b6\u03b7\7<\2\2\u03b7\u00ea\3\2\2"+ + "\2\u03b8\u03b9\7?\2\2\u03b9\u03ba\7?\2\2\u03ba\u00ec\3\2\2\2\u03bb\u03bc"+ + "\7>\2\2\u03bc\u03bd\7?\2\2\u03bd\u00ee\3\2\2\2\u03be\u03bf\7@\2\2\u03bf"+ + "\u03c0\7?\2\2\u03c0\u00f0\3\2\2\2\u03c1\u03c2\7#\2\2\u03c2\u03c3\7?\2"+ + "\2\u03c3\u00f2\3\2\2\2\u03c4\u03c5\7(\2\2\u03c5\u03c6\7(\2\2\u03c6\u00f4"+ + "\3\2\2\2\u03c7\u03c8\7~\2\2\u03c8\u03c9\7~\2\2\u03c9\u00f6\3\2\2\2\u03ca"+ + "\u03cb\7-\2\2\u03cb\u03cc\7-\2\2\u03cc\u00f8\3\2\2\2\u03cd\u03ce\7/\2"+ + "\2\u03ce\u03cf\7/\2\2\u03cf\u00fa\3\2\2\2\u03d0\u03d1\7-\2\2\u03d1\u00fc"+ + "\3\2\2\2\u03d2\u03d3\7/\2\2\u03d3\u00fe\3\2\2\2\u03d4\u03d5\7,\2\2\u03d5"+ + "\u0100\3\2\2\2\u03d6\u03d7\7\61\2\2\u03d7\u0102\3\2\2\2\u03d8\u03d9\7"+ + "(\2\2\u03d9\u0104\3\2\2\2\u03da\u03db\7~\2\2\u03db\u0106\3\2\2\2\u03dc"+ + "\u03dd\7`\2\2\u03dd\u0108\3\2\2\2\u03de\u03df\7\'\2\2\u03df\u010a\3\2"+ + "\2\2\u03e0\u03e1\7/\2\2\u03e1\u03e2\7@\2\2\u03e2\u010c\3\2\2\2\u03e3\u03e4"+ + "\7<\2\2\u03e4\u03e5\7<\2\2\u03e5\u010e\3\2\2\2\u03e6\u03e7\7-\2\2\u03e7"+ + "\u03e8\7?\2\2\u03e8\u0110\3\2\2\2\u03e9\u03ea\7/\2\2\u03ea\u03eb\7?\2"+ + "\2\u03eb\u0112\3\2\2\2\u03ec\u03ed\7,\2\2\u03ed\u03ee\7?\2\2\u03ee\u0114"+ + "\3\2\2\2\u03ef\u03f0\7\61\2\2\u03f0\u03f1\7?\2\2\u03f1\u0116\3\2\2\2\u03f2"+ + "\u03f3\7(\2\2\u03f3\u03f4\7?\2\2\u03f4\u0118\3\2\2\2\u03f5\u03f6\7~\2"+ + "\2\u03f6\u03f7\7?\2\2\u03f7\u011a\3\2\2\2\u03f8\u03f9\7`\2\2\u03f9\u03fa"+ + "\7?\2\2\u03fa\u011c\3\2\2\2\u03fb\u03fc\7\'\2\2\u03fc\u03fd\7?\2\2\u03fd"+ + "\u011e\3\2\2\2\u03fe\u03ff\7>\2\2\u03ff\u0400\7>\2\2\u0400\u0401\7?\2"+ + "\2\u0401\u0120\3\2\2\2\u0402\u0403\7@\2\2\u0403\u0404\7@\2\2\u0404\u0405"+ + "\7?\2\2\u0405\u0122\3\2\2\2\u0406\u0407\7@\2\2\u0407\u0408\7@\2\2\u0408"+ + "\u0409\7@\2\2\u0409\u040a\7?\2\2\u040a\u0124\3\2\2\2\u040b\u040f\5\u0127"+ + "\u0094\2\u040c\u040e\5\u0129\u0095\2\u040d\u040c\3\2\2\2\u040e\u0411\3"+ + "\2\2\2\u040f\u040d\3\2\2\2\u040f\u0410\3\2\2\2\u0410\u0126\3\2\2\2\u0411"+ + "\u040f\3\2\2\2\u0412\u0419\t\21\2\2\u0413\u0414\n\22\2\2\u0414\u0419\6"+ + "\u0094\2\2\u0415\u0416\t\23\2\2\u0416\u0417\t\24\2\2\u0417\u0419\6\u0094"+ + "\3\2\u0418\u0412\3\2\2\2\u0418\u0413\3\2\2\2\u0418\u0415\3\2\2\2\u0419"+ + "\u0128\3\2\2\2\u041a\u0421\t\25\2\2\u041b\u041c\n\22\2\2\u041c\u0421\6"+ + "\u0095\4\2\u041d\u041e\t\23\2\2\u041e\u041f\t\24\2\2\u041f\u0421\6\u0095"+ + "\5\2\u0420\u041a\3\2\2\2\u0420\u041b\3\2\2\2\u0420\u041d\3\2\2\2\u0421"+ + "\u012a\3\2\2\2\u0422\u0423\7B\2\2\u0423\u012c\3\2\2\2\u0424\u0425\7\60"+ + "\2\2\u0425\u0426\7\60\2\2\u0426\u0427\7\60\2\2\u0427\u012e\3\2\2\2\u0428"+ + "\u042a\t\26\2\2\u0429\u0428\3\2\2\2\u042a\u042b\3\2\2\2\u042b\u0429\3"+ + "\2\2\2\u042b\u042c\3\2\2\2\u042c\u042d\3\2\2\2\u042d\u042e\b\u0098\2\2"+ + "\u042e\u0130\3\2\2\2\u042f\u0430\7\61\2\2\u0430\u0431\7,\2\2\u0431\u0435"+ + "\3\2\2\2\u0432\u0434\13\2\2\2\u0433\u0432\3\2\2\2\u0434\u0437\3\2\2\2"+ + "\u0435\u0436\3\2\2\2\u0435\u0433\3\2\2\2\u0436\u0438\3\2\2\2\u0437\u0435"+ + "\3\2\2\2\u0438\u0439\7,\2\2\u0439\u043a\7\61\2\2\u043a\u043b\3\2\2\2\u043b"+ + "\u043c\b\u0099\2\2\u043c\u0132\3\2\2\2\u043d\u043e\7\61\2\2\u043e\u043f"+ + "\7\61\2\2\u043f\u0443\3\2\2\2\u0440\u0442\n\27\2\2\u0441\u0440\3\2\2\2"+ + "\u0442\u0445\3\2\2\2\u0443\u0441\3\2\2\2\u0443\u0444\3\2\2\2\u0444\u0446"+ + "\3\2\2\2\u0445\u0443\3\2\2\2\u0446\u0447\b\u009a\2\2\u0447\u0134\3\2\2"+ + "\28\2\u028c\u0290\u0294\u0298\u029c\u02a3\u02a8\u02aa\u02ae\u02b1\u02b5"+ + "\u02bc\u02c0\u02c5\u02cd\u02d0\u02d7\u02db\u02df\u02e5\u02e8\u02ef\u02f3"+ + "\u02fb\u02fe\u0305\u0309\u030d\u0312\u0315\u0318\u031d\u0320\u0325\u032a"+ + "\u0332\u033d\u0341\u0346\u034a\u035a\u0364\u036a\u0371\u0375\u037b\u0388"+ + "\u040f\u0418\u0420\u042b\u0435\u0443\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Lexer.tokens b/src/de/dhbwstuttgart/parser/Java8Lexer.tokens new file mode 100644 index 00000000..52ef1eee --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8Lexer.tokens @@ -0,0 +1,205 @@ +ABSTRACT=1 +ASSERT=2 +BOOLEAN=3 +BREAK=4 +BYTE=5 +CASE=6 +CATCH=7 +CHAR=8 +CLASS=9 +CONST=10 +CONTINUE=11 +DEFAULT=12 +DO=13 +DOUBLE=14 +ELSE=15 +ENUM=16 +EXTENDS=17 +FINAL=18 +FINALLY=19 +FLOAT=20 +FOR=21 +IF=22 +GOTO=23 +IMPLEMENTS=24 +IMPORT=25 +INSTANCEOF=26 +INT=27 +INTERFACE=28 +LONG=29 +NATIVE=30 +NEW=31 +PACKAGE=32 +PRIVATE=33 +PROTECTED=34 +PUBLIC=35 +RETURN=36 +SHORT=37 +STATIC=38 +STRICTFP=39 +SUPER=40 +SWITCH=41 +SYNCHRONIZED=42 +THIS=43 +THROW=44 +THROWS=45 +TRANSIENT=46 +TRY=47 +VOID=48 +VOLATILE=49 +WHILE=50 +IntegerLiteral=51 +FloatingPointLiteral=52 +BooleanLiteral=53 +CharacterLiteral=54 +StringLiteral=55 +NullLiteral=56 +LPAREN=57 +RPAREN=58 +LBRACE=59 +RBRACE=60 +LBRACK=61 +RBRACK=62 +SEMI=63 +COMMA=64 +DOT=65 +ASSIGN=66 +GT=67 +LT=68 +BANG=69 +TILDE=70 +QUESTION=71 +COLON=72 +EQUAL=73 +LE=74 +GE=75 +NOTEQUAL=76 +AND=77 +OR=78 +INC=79 +DEC=80 +ADD=81 +SUB=82 +MUL=83 +DIV=84 +BITAND=85 +BITOR=86 +CARET=87 +MOD=88 +ARROW=89 +COLONCOLON=90 +ADD_ASSIGN=91 +SUB_ASSIGN=92 +MUL_ASSIGN=93 +DIV_ASSIGN=94 +AND_ASSIGN=95 +OR_ASSIGN=96 +XOR_ASSIGN=97 +MOD_ASSIGN=98 +LSHIFT_ASSIGN=99 +RSHIFT_ASSIGN=100 +URSHIFT_ASSIGN=101 +Identifier=102 +AT=103 +ELLIPSIS=104 +WS=105 +COMMENT=106 +LINE_COMMENT=107 +'abstract'=1 +'assert'=2 +'boolean'=3 +'break'=4 +'byte'=5 +'case'=6 +'catch'=7 +'char'=8 +'class'=9 +'const'=10 +'continue'=11 +'default'=12 +'do'=13 +'double'=14 +'else'=15 +'enum'=16 +'extends'=17 +'final'=18 +'finally'=19 +'float'=20 +'for'=21 +'if'=22 +'goto'=23 +'implements'=24 +'import'=25 +'instanceof'=26 +'int'=27 +'interface'=28 +'long'=29 +'native'=30 +'new'=31 +'package'=32 +'private'=33 +'protected'=34 +'public'=35 +'return'=36 +'short'=37 +'static'=38 +'strictfp'=39 +'super'=40 +'switch'=41 +'synchronized'=42 +'this'=43 +'throw'=44 +'throws'=45 +'transient'=46 +'try'=47 +'void'=48 +'volatile'=49 +'while'=50 +'null'=56 +'('=57 +')'=58 +'{'=59 +'}'=60 +'['=61 +']'=62 +';'=63 +','=64 +'.'=65 +'='=66 +'>'=67 +'<'=68 +'!'=69 +'~'=70 +'?'=71 +':'=72 +'=='=73 +'<='=74 +'>='=75 +'!='=76 +'&&'=77 +'||'=78 +'++'=79 +'--'=80 +'+'=81 +'-'=82 +'*'=83 +'/'=84 +'&'=85 +'|'=86 +'^'=87 +'%'=88 +'->'=89 +'::'=90 +'+='=91 +'-='=92 +'*='=93 +'/='=94 +'&='=95 +'|='=96 +'^='=97 +'%='=98 +'<<='=99 +'>>='=100 +'>>>='=101 +'@'=103 +'...'=104 diff --git a/src/de/dhbwstuttgart/parser/Java8Listener.java b/src/de/dhbwstuttgart/parser/Java8Listener.java new file mode 100644 index 00000000..42e85a1a --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8Listener.java @@ -0,0 +1,2380 @@ +// Generated from Java8.g4 by ANTLR 4.5.3 +package de.dhbwstuttgart.parser; +import org.antlr.v4.runtime.tree.ParseTreeListener; + +/** + * This interface defines a complete listener for a parse tree produced by + * {@link Java8Parser}. + */ +public interface Java8Listener extends ParseTreeListener { + /** + * Enter a parse tree produced by {@link Java8Parser#literal}. + * @param ctx the parse tree + */ + void enterLiteral(Java8Parser.LiteralContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#literal}. + * @param ctx the parse tree + */ + void exitLiteral(Java8Parser.LiteralContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#type}. + * @param ctx the parse tree + */ + void enterType(Java8Parser.TypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#type}. + * @param ctx the parse tree + */ + void exitType(Java8Parser.TypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primitiveType}. + * @param ctx the parse tree + */ + void enterPrimitiveType(Java8Parser.PrimitiveTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primitiveType}. + * @param ctx the parse tree + */ + void exitPrimitiveType(Java8Parser.PrimitiveTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#numericType}. + * @param ctx the parse tree + */ + void enterNumericType(Java8Parser.NumericTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#numericType}. + * @param ctx the parse tree + */ + void exitNumericType(Java8Parser.NumericTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#integralType}. + * @param ctx the parse tree + */ + void enterIntegralType(Java8Parser.IntegralTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#integralType}. + * @param ctx the parse tree + */ + void exitIntegralType(Java8Parser.IntegralTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#floatingPointType}. + * @param ctx the parse tree + */ + void enterFloatingPointType(Java8Parser.FloatingPointTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#floatingPointType}. + * @param ctx the parse tree + */ + void exitFloatingPointType(Java8Parser.FloatingPointTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#referenceType}. + * @param ctx the parse tree + */ + void enterReferenceType(Java8Parser.ReferenceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#referenceType}. + * @param ctx the parse tree + */ + void exitReferenceType(Java8Parser.ReferenceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classType}. + * @param ctx the parse tree + */ + void enterClassType(Java8Parser.ClassTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classType}. + * @param ctx the parse tree + */ + void exitClassType(Java8Parser.ClassTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classType_lf_classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classType_lf_classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classType_lfno_classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classType_lfno_classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceType}. + * @param ctx the parse tree + */ + void enterInterfaceType(Java8Parser.InterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceType}. + * @param ctx the parse tree + */ + void exitInterfaceType(Java8Parser.InterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceType_lf_classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceType_lf_classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceType_lfno_classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceType_lfno_classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeVariable}. + * @param ctx the parse tree + */ + void enterTypeVariable(Java8Parser.TypeVariableContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeVariable}. + * @param ctx the parse tree + */ + void exitTypeVariable(Java8Parser.TypeVariableContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayType}. + * @param ctx the parse tree + */ + void enterArrayType(Java8Parser.ArrayTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayType}. + * @param ctx the parse tree + */ + void exitArrayType(Java8Parser.ArrayTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#dims}. + * @param ctx the parse tree + */ + void enterDims(Java8Parser.DimsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#dims}. + * @param ctx the parse tree + */ + void exitDims(Java8Parser.DimsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeParameter}. + * @param ctx the parse tree + */ + void enterTypeParameter(Java8Parser.TypeParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeParameter}. + * @param ctx the parse tree + */ + void exitTypeParameter(Java8Parser.TypeParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeParameterModifier}. + * @param ctx the parse tree + */ + void enterTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeParameterModifier}. + * @param ctx the parse tree + */ + void exitTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeBound}. + * @param ctx the parse tree + */ + void enterTypeBound(Java8Parser.TypeBoundContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeBound}. + * @param ctx the parse tree + */ + void exitTypeBound(Java8Parser.TypeBoundContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#additionalBound}. + * @param ctx the parse tree + */ + void enterAdditionalBound(Java8Parser.AdditionalBoundContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#additionalBound}. + * @param ctx the parse tree + */ + void exitAdditionalBound(Java8Parser.AdditionalBoundContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeArguments}. + * @param ctx the parse tree + */ + void enterTypeArguments(Java8Parser.TypeArgumentsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeArguments}. + * @param ctx the parse tree + */ + void exitTypeArguments(Java8Parser.TypeArgumentsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeArgumentList}. + * @param ctx the parse tree + */ + void enterTypeArgumentList(Java8Parser.TypeArgumentListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeArgumentList}. + * @param ctx the parse tree + */ + void exitTypeArgumentList(Java8Parser.TypeArgumentListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeArgument}. + * @param ctx the parse tree + */ + void enterTypeArgument(Java8Parser.TypeArgumentContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeArgument}. + * @param ctx the parse tree + */ + void exitTypeArgument(Java8Parser.TypeArgumentContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#wildcard}. + * @param ctx the parse tree + */ + void enterWildcard(Java8Parser.WildcardContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#wildcard}. + * @param ctx the parse tree + */ + void exitWildcard(Java8Parser.WildcardContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#wildcardBounds}. + * @param ctx the parse tree + */ + void enterWildcardBounds(Java8Parser.WildcardBoundsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#wildcardBounds}. + * @param ctx the parse tree + */ + void exitWildcardBounds(Java8Parser.WildcardBoundsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#packageName}. + * @param ctx the parse tree + */ + void enterPackageName(Java8Parser.PackageNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#packageName}. + * @param ctx the parse tree + */ + void exitPackageName(Java8Parser.PackageNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeName}. + * @param ctx the parse tree + */ + void enterTypeName(Java8Parser.TypeNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeName}. + * @param ctx the parse tree + */ + void exitTypeName(Java8Parser.TypeNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#packageOrTypeName}. + * @param ctx the parse tree + */ + void enterPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#packageOrTypeName}. + * @param ctx the parse tree + */ + void exitPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#expressionName}. + * @param ctx the parse tree + */ + void enterExpressionName(Java8Parser.ExpressionNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#expressionName}. + * @param ctx the parse tree + */ + void exitExpressionName(Java8Parser.ExpressionNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodName}. + * @param ctx the parse tree + */ + void enterMethodName(Java8Parser.MethodNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodName}. + * @param ctx the parse tree + */ + void exitMethodName(Java8Parser.MethodNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#ambiguousName}. + * @param ctx the parse tree + */ + void enterAmbiguousName(Java8Parser.AmbiguousNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#ambiguousName}. + * @param ctx the parse tree + */ + void exitAmbiguousName(Java8Parser.AmbiguousNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#compilationUnit}. + * @param ctx the parse tree + */ + void enterCompilationUnit(Java8Parser.CompilationUnitContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#compilationUnit}. + * @param ctx the parse tree + */ + void exitCompilationUnit(Java8Parser.CompilationUnitContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#packageDeclaration}. + * @param ctx the parse tree + */ + void enterPackageDeclaration(Java8Parser.PackageDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#packageDeclaration}. + * @param ctx the parse tree + */ + void exitPackageDeclaration(Java8Parser.PackageDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#packageModifier}. + * @param ctx the parse tree + */ + void enterPackageModifier(Java8Parser.PackageModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#packageModifier}. + * @param ctx the parse tree + */ + void exitPackageModifier(Java8Parser.PackageModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#importDeclaration}. + * @param ctx the parse tree + */ + void enterImportDeclaration(Java8Parser.ImportDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#importDeclaration}. + * @param ctx the parse tree + */ + void exitImportDeclaration(Java8Parser.ImportDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#singleTypeImportDeclaration}. + * @param ctx the parse tree + */ + void enterSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#singleTypeImportDeclaration}. + * @param ctx the parse tree + */ + void exitSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeImportOnDemandDeclaration}. + * @param ctx the parse tree + */ + void enterTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeImportOnDemandDeclaration}. + * @param ctx the parse tree + */ + void exitTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#singleStaticImportDeclaration}. + * @param ctx the parse tree + */ + void enterSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#singleStaticImportDeclaration}. + * @param ctx the parse tree + */ + void exitSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#staticImportOnDemandDeclaration}. + * @param ctx the parse tree + */ + void enterStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#staticImportOnDemandDeclaration}. + * @param ctx the parse tree + */ + void exitStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeDeclaration}. + * @param ctx the parse tree + */ + void enterTypeDeclaration(Java8Parser.TypeDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeDeclaration}. + * @param ctx the parse tree + */ + void exitTypeDeclaration(Java8Parser.TypeDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classDeclaration}. + * @param ctx the parse tree + */ + void enterClassDeclaration(Java8Parser.ClassDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classDeclaration}. + * @param ctx the parse tree + */ + void exitClassDeclaration(Java8Parser.ClassDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#normalClassDeclaration}. + * @param ctx the parse tree + */ + void enterNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#normalClassDeclaration}. + * @param ctx the parse tree + */ + void exitNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classModifier}. + * @param ctx the parse tree + */ + void enterClassModifier(Java8Parser.ClassModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classModifier}. + * @param ctx the parse tree + */ + void exitClassModifier(Java8Parser.ClassModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeParameters}. + * @param ctx the parse tree + */ + void enterTypeParameters(Java8Parser.TypeParametersContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeParameters}. + * @param ctx the parse tree + */ + void exitTypeParameters(Java8Parser.TypeParametersContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeParameterList}. + * @param ctx the parse tree + */ + void enterTypeParameterList(Java8Parser.TypeParameterListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeParameterList}. + * @param ctx the parse tree + */ + void exitTypeParameterList(Java8Parser.TypeParameterListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#superclass}. + * @param ctx the parse tree + */ + void enterSuperclass(Java8Parser.SuperclassContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#superclass}. + * @param ctx the parse tree + */ + void exitSuperclass(Java8Parser.SuperclassContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#superinterfaces}. + * @param ctx the parse tree + */ + void enterSuperinterfaces(Java8Parser.SuperinterfacesContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#superinterfaces}. + * @param ctx the parse tree + */ + void exitSuperinterfaces(Java8Parser.SuperinterfacesContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceTypeList}. + * @param ctx the parse tree + */ + void enterInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceTypeList}. + * @param ctx the parse tree + */ + void exitInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classBody}. + * @param ctx the parse tree + */ + void enterClassBody(Java8Parser.ClassBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classBody}. + * @param ctx the parse tree + */ + void exitClassBody(Java8Parser.ClassBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classBodyDeclaration}. + * @param ctx the parse tree + */ + void enterClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classBodyDeclaration}. + * @param ctx the parse tree + */ + void exitClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classMemberDeclaration}. + * @param ctx the parse tree + */ + void enterClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classMemberDeclaration}. + * @param ctx the parse tree + */ + void exitClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldDeclaration}. + * @param ctx the parse tree + */ + void enterFieldDeclaration(Java8Parser.FieldDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldDeclaration}. + * @param ctx the parse tree + */ + void exitFieldDeclaration(Java8Parser.FieldDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldModifier}. + * @param ctx the parse tree + */ + void enterFieldModifier(Java8Parser.FieldModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldModifier}. + * @param ctx the parse tree + */ + void exitFieldModifier(Java8Parser.FieldModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableDeclaratorList}. + * @param ctx the parse tree + */ + void enterVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableDeclaratorList}. + * @param ctx the parse tree + */ + void exitVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableDeclarator}. + * @param ctx the parse tree + */ + void enterVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableDeclarator}. + * @param ctx the parse tree + */ + void exitVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableDeclaratorId}. + * @param ctx the parse tree + */ + void enterVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableDeclaratorId}. + * @param ctx the parse tree + */ + void exitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableInitializer}. + * @param ctx the parse tree + */ + void enterVariableInitializer(Java8Parser.VariableInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableInitializer}. + * @param ctx the parse tree + */ + void exitVariableInitializer(Java8Parser.VariableInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannType}. + * @param ctx the parse tree + */ + void enterUnannType(Java8Parser.UnannTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannType}. + * @param ctx the parse tree + */ + void exitUnannType(Java8Parser.UnannTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannPrimitiveType}. + * @param ctx the parse tree + */ + void enterUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannPrimitiveType}. + * @param ctx the parse tree + */ + void exitUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannReferenceType}. + * @param ctx the parse tree + */ + void enterUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannReferenceType}. + * @param ctx the parse tree + */ + void exitUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannClassType}. + * @param ctx the parse tree + */ + void enterUnannClassType(Java8Parser.UnannClassTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannClassType}. + * @param ctx the parse tree + */ + void exitUnannClassType(Java8Parser.UnannClassTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannClassType_lf_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannClassType_lf_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannClassType_lfno_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannClassType_lfno_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType_lf_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType_lf_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType_lfno_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType_lfno_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannTypeVariable}. + * @param ctx the parse tree + */ + void enterUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannTypeVariable}. + * @param ctx the parse tree + */ + void exitUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannArrayType}. + * @param ctx the parse tree + */ + void enterUnannArrayType(Java8Parser.UnannArrayTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannArrayType}. + * @param ctx the parse tree + */ + void exitUnannArrayType(Java8Parser.UnannArrayTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodDeclaration}. + * @param ctx the parse tree + */ + void enterMethodDeclaration(Java8Parser.MethodDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodDeclaration}. + * @param ctx the parse tree + */ + void exitMethodDeclaration(Java8Parser.MethodDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodModifier}. + * @param ctx the parse tree + */ + void enterMethodModifier(Java8Parser.MethodModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodModifier}. + * @param ctx the parse tree + */ + void exitMethodModifier(Java8Parser.MethodModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodHeader}. + * @param ctx the parse tree + */ + void enterMethodHeader(Java8Parser.MethodHeaderContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodHeader}. + * @param ctx the parse tree + */ + void exitMethodHeader(Java8Parser.MethodHeaderContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#result}. + * @param ctx the parse tree + */ + void enterResult(Java8Parser.ResultContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#result}. + * @param ctx the parse tree + */ + void exitResult(Java8Parser.ResultContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodDeclarator}. + * @param ctx the parse tree + */ + void enterMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodDeclarator}. + * @param ctx the parse tree + */ + void exitMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#formalParameterList}. + * @param ctx the parse tree + */ + void enterFormalParameterList(Java8Parser.FormalParameterListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#formalParameterList}. + * @param ctx the parse tree + */ + void exitFormalParameterList(Java8Parser.FormalParameterListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#formalParameters}. + * @param ctx the parse tree + */ + void enterFormalParameters(Java8Parser.FormalParametersContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#formalParameters}. + * @param ctx the parse tree + */ + void exitFormalParameters(Java8Parser.FormalParametersContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#formalParameter}. + * @param ctx the parse tree + */ + void enterFormalParameter(Java8Parser.FormalParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#formalParameter}. + * @param ctx the parse tree + */ + void exitFormalParameter(Java8Parser.FormalParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableModifier}. + * @param ctx the parse tree + */ + void enterVariableModifier(Java8Parser.VariableModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableModifier}. + * @param ctx the parse tree + */ + void exitVariableModifier(Java8Parser.VariableModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#lastFormalParameter}. + * @param ctx the parse tree + */ + void enterLastFormalParameter(Java8Parser.LastFormalParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#lastFormalParameter}. + * @param ctx the parse tree + */ + void exitLastFormalParameter(Java8Parser.LastFormalParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#receiverParameter}. + * @param ctx the parse tree + */ + void enterReceiverParameter(Java8Parser.ReceiverParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#receiverParameter}. + * @param ctx the parse tree + */ + void exitReceiverParameter(Java8Parser.ReceiverParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#throws_}. + * @param ctx the parse tree + */ + void enterThrows_(Java8Parser.Throws_Context ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#throws_}. + * @param ctx the parse tree + */ + void exitThrows_(Java8Parser.Throws_Context ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#exceptionTypeList}. + * @param ctx the parse tree + */ + void enterExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#exceptionTypeList}. + * @param ctx the parse tree + */ + void exitExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#exceptionType}. + * @param ctx the parse tree + */ + void enterExceptionType(Java8Parser.ExceptionTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#exceptionType}. + * @param ctx the parse tree + */ + void exitExceptionType(Java8Parser.ExceptionTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodBody}. + * @param ctx the parse tree + */ + void enterMethodBody(Java8Parser.MethodBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodBody}. + * @param ctx the parse tree + */ + void exitMethodBody(Java8Parser.MethodBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#instanceInitializer}. + * @param ctx the parse tree + */ + void enterInstanceInitializer(Java8Parser.InstanceInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#instanceInitializer}. + * @param ctx the parse tree + */ + void exitInstanceInitializer(Java8Parser.InstanceInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#staticInitializer}. + * @param ctx the parse tree + */ + void enterStaticInitializer(Java8Parser.StaticInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#staticInitializer}. + * @param ctx the parse tree + */ + void exitStaticInitializer(Java8Parser.StaticInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constructorDeclaration}. + * @param ctx the parse tree + */ + void enterConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constructorDeclaration}. + * @param ctx the parse tree + */ + void exitConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constructorModifier}. + * @param ctx the parse tree + */ + void enterConstructorModifier(Java8Parser.ConstructorModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constructorModifier}. + * @param ctx the parse tree + */ + void exitConstructorModifier(Java8Parser.ConstructorModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constructorDeclarator}. + * @param ctx the parse tree + */ + void enterConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constructorDeclarator}. + * @param ctx the parse tree + */ + void exitConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#simpleTypeName}. + * @param ctx the parse tree + */ + void enterSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#simpleTypeName}. + * @param ctx the parse tree + */ + void exitSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constructorBody}. + * @param ctx the parse tree + */ + void enterConstructorBody(Java8Parser.ConstructorBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constructorBody}. + * @param ctx the parse tree + */ + void exitConstructorBody(Java8Parser.ConstructorBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#explicitConstructorInvocation}. + * @param ctx the parse tree + */ + void enterExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#explicitConstructorInvocation}. + * @param ctx the parse tree + */ + void exitExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumDeclaration}. + * @param ctx the parse tree + */ + void enterEnumDeclaration(Java8Parser.EnumDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumDeclaration}. + * @param ctx the parse tree + */ + void exitEnumDeclaration(Java8Parser.EnumDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumBody}. + * @param ctx the parse tree + */ + void enterEnumBody(Java8Parser.EnumBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumBody}. + * @param ctx the parse tree + */ + void exitEnumBody(Java8Parser.EnumBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumConstantList}. + * @param ctx the parse tree + */ + void enterEnumConstantList(Java8Parser.EnumConstantListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumConstantList}. + * @param ctx the parse tree + */ + void exitEnumConstantList(Java8Parser.EnumConstantListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumConstant}. + * @param ctx the parse tree + */ + void enterEnumConstant(Java8Parser.EnumConstantContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumConstant}. + * @param ctx the parse tree + */ + void exitEnumConstant(Java8Parser.EnumConstantContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumConstantModifier}. + * @param ctx the parse tree + */ + void enterEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumConstantModifier}. + * @param ctx the parse tree + */ + void exitEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumBodyDeclarations}. + * @param ctx the parse tree + */ + void enterEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumBodyDeclarations}. + * @param ctx the parse tree + */ + void exitEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceDeclaration}. + * @param ctx the parse tree + */ + void enterInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceDeclaration}. + * @param ctx the parse tree + */ + void exitInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#normalInterfaceDeclaration}. + * @param ctx the parse tree + */ + void enterNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#normalInterfaceDeclaration}. + * @param ctx the parse tree + */ + void exitNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceModifier}. + * @param ctx the parse tree + */ + void enterInterfaceModifier(Java8Parser.InterfaceModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceModifier}. + * @param ctx the parse tree + */ + void exitInterfaceModifier(Java8Parser.InterfaceModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#extendsInterfaces}. + * @param ctx the parse tree + */ + void enterExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#extendsInterfaces}. + * @param ctx the parse tree + */ + void exitExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceBody}. + * @param ctx the parse tree + */ + void enterInterfaceBody(Java8Parser.InterfaceBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceBody}. + * @param ctx the parse tree + */ + void exitInterfaceBody(Java8Parser.InterfaceBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}. + * @param ctx the parse tree + */ + void enterInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}. + * @param ctx the parse tree + */ + void exitInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constantDeclaration}. + * @param ctx the parse tree + */ + void enterConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constantDeclaration}. + * @param ctx the parse tree + */ + void exitConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constantModifier}. + * @param ctx the parse tree + */ + void enterConstantModifier(Java8Parser.ConstantModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constantModifier}. + * @param ctx the parse tree + */ + void exitConstantModifier(Java8Parser.ConstantModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}. + * @param ctx the parse tree + */ + void enterInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}. + * @param ctx the parse tree + */ + void exitInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceMethodModifier}. + * @param ctx the parse tree + */ + void enterInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceMethodModifier}. + * @param ctx the parse tree + */ + void exitInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}. + * @param ctx the parse tree + */ + void enterAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}. + * @param ctx the parse tree + */ + void exitAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeBody}. + * @param ctx the parse tree + */ + void enterAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeBody}. + * @param ctx the parse tree + */ + void exitAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeMemberDeclaration}. + * @param ctx the parse tree + */ + void enterAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeMemberDeclaration}. + * @param ctx the parse tree + */ + void exitAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}. + * @param ctx the parse tree + */ + void enterAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}. + * @param ctx the parse tree + */ + void exitAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeElementModifier}. + * @param ctx the parse tree + */ + void enterAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeElementModifier}. + * @param ctx the parse tree + */ + void exitAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#defaultValue}. + * @param ctx the parse tree + */ + void enterDefaultValue(Java8Parser.DefaultValueContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#defaultValue}. + * @param ctx the parse tree + */ + void exitDefaultValue(Java8Parser.DefaultValueContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotation}. + * @param ctx the parse tree + */ + void enterAnnotation(Java8Parser.AnnotationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotation}. + * @param ctx the parse tree + */ + void exitAnnotation(Java8Parser.AnnotationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#normalAnnotation}. + * @param ctx the parse tree + */ + void enterNormalAnnotation(Java8Parser.NormalAnnotationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#normalAnnotation}. + * @param ctx the parse tree + */ + void exitNormalAnnotation(Java8Parser.NormalAnnotationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValuePairList}. + * @param ctx the parse tree + */ + void enterElementValuePairList(Java8Parser.ElementValuePairListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValuePairList}. + * @param ctx the parse tree + */ + void exitElementValuePairList(Java8Parser.ElementValuePairListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValuePair}. + * @param ctx the parse tree + */ + void enterElementValuePair(Java8Parser.ElementValuePairContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValuePair}. + * @param ctx the parse tree + */ + void exitElementValuePair(Java8Parser.ElementValuePairContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValue}. + * @param ctx the parse tree + */ + void enterElementValue(Java8Parser.ElementValueContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValue}. + * @param ctx the parse tree + */ + void exitElementValue(Java8Parser.ElementValueContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}. + * @param ctx the parse tree + */ + void enterElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}. + * @param ctx the parse tree + */ + void exitElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValueList}. + * @param ctx the parse tree + */ + void enterElementValueList(Java8Parser.ElementValueListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValueList}. + * @param ctx the parse tree + */ + void exitElementValueList(Java8Parser.ElementValueListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#markerAnnotation}. + * @param ctx the parse tree + */ + void enterMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#markerAnnotation}. + * @param ctx the parse tree + */ + void exitMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#singleElementAnnotation}. + * @param ctx the parse tree + */ + void enterSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#singleElementAnnotation}. + * @param ctx the parse tree + */ + void exitSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayInitializer}. + * @param ctx the parse tree + */ + void enterArrayInitializer(Java8Parser.ArrayInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayInitializer}. + * @param ctx the parse tree + */ + void exitArrayInitializer(Java8Parser.ArrayInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableInitializerList}. + * @param ctx the parse tree + */ + void enterVariableInitializerList(Java8Parser.VariableInitializerListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableInitializerList}. + * @param ctx the parse tree + */ + void exitVariableInitializerList(Java8Parser.VariableInitializerListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#block}. + * @param ctx the parse tree + */ + void enterBlock(Java8Parser.BlockContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#block}. + * @param ctx the parse tree + */ + void exitBlock(Java8Parser.BlockContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#blockStatements}. + * @param ctx the parse tree + */ + void enterBlockStatements(Java8Parser.BlockStatementsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#blockStatements}. + * @param ctx the parse tree + */ + void exitBlockStatements(Java8Parser.BlockStatementsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#blockStatement}. + * @param ctx the parse tree + */ + void enterBlockStatement(Java8Parser.BlockStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#blockStatement}. + * @param ctx the parse tree + */ + void exitBlockStatement(Java8Parser.BlockStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}. + * @param ctx the parse tree + */ + void enterLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}. + * @param ctx the parse tree + */ + void exitLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#localVariableDeclaration}. + * @param ctx the parse tree + */ + void enterLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#localVariableDeclaration}. + * @param ctx the parse tree + */ + void exitLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statement}. + * @param ctx the parse tree + */ + void enterStatement(Java8Parser.StatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statement}. + * @param ctx the parse tree + */ + void exitStatement(Java8Parser.StatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statementNoShortIf}. + * @param ctx the parse tree + */ + void enterStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statementNoShortIf}. + * @param ctx the parse tree + */ + void exitStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statementWithoutTrailingSubstatement}. + * @param ctx the parse tree + */ + void enterStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statementWithoutTrailingSubstatement}. + * @param ctx the parse tree + */ + void exitStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#emptyStatement}. + * @param ctx the parse tree + */ + void enterEmptyStatement(Java8Parser.EmptyStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#emptyStatement}. + * @param ctx the parse tree + */ + void exitEmptyStatement(Java8Parser.EmptyStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#labeledStatement}. + * @param ctx the parse tree + */ + void enterLabeledStatement(Java8Parser.LabeledStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#labeledStatement}. + * @param ctx the parse tree + */ + void exitLabeledStatement(Java8Parser.LabeledStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#labeledStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#labeledStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#expressionStatement}. + * @param ctx the parse tree + */ + void enterExpressionStatement(Java8Parser.ExpressionStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#expressionStatement}. + * @param ctx the parse tree + */ + void exitExpressionStatement(Java8Parser.ExpressionStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statementExpression}. + * @param ctx the parse tree + */ + void enterStatementExpression(Java8Parser.StatementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statementExpression}. + * @param ctx the parse tree + */ + void exitStatementExpression(Java8Parser.StatementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#ifThenStatement}. + * @param ctx the parse tree + */ + void enterIfThenStatement(Java8Parser.IfThenStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#ifThenStatement}. + * @param ctx the parse tree + */ + void exitIfThenStatement(Java8Parser.IfThenStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#ifThenElseStatement}. + * @param ctx the parse tree + */ + void enterIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#ifThenElseStatement}. + * @param ctx the parse tree + */ + void exitIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#ifThenElseStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#ifThenElseStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#assertStatement}. + * @param ctx the parse tree + */ + void enterAssertStatement(Java8Parser.AssertStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#assertStatement}. + * @param ctx the parse tree + */ + void exitAssertStatement(Java8Parser.AssertStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchStatement}. + * @param ctx the parse tree + */ + void enterSwitchStatement(Java8Parser.SwitchStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchStatement}. + * @param ctx the parse tree + */ + void exitSwitchStatement(Java8Parser.SwitchStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchBlock}. + * @param ctx the parse tree + */ + void enterSwitchBlock(Java8Parser.SwitchBlockContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchBlock}. + * @param ctx the parse tree + */ + void exitSwitchBlock(Java8Parser.SwitchBlockContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}. + * @param ctx the parse tree + */ + void enterSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}. + * @param ctx the parse tree + */ + void exitSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchLabels}. + * @param ctx the parse tree + */ + void enterSwitchLabels(Java8Parser.SwitchLabelsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchLabels}. + * @param ctx the parse tree + */ + void exitSwitchLabels(Java8Parser.SwitchLabelsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchLabel}. + * @param ctx the parse tree + */ + void enterSwitchLabel(Java8Parser.SwitchLabelContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchLabel}. + * @param ctx the parse tree + */ + void exitSwitchLabel(Java8Parser.SwitchLabelContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumConstantName}. + * @param ctx the parse tree + */ + void enterEnumConstantName(Java8Parser.EnumConstantNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumConstantName}. + * @param ctx the parse tree + */ + void exitEnumConstantName(Java8Parser.EnumConstantNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#whileStatement}. + * @param ctx the parse tree + */ + void enterWhileStatement(Java8Parser.WhileStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#whileStatement}. + * @param ctx the parse tree + */ + void exitWhileStatement(Java8Parser.WhileStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#whileStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#whileStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#doStatement}. + * @param ctx the parse tree + */ + void enterDoStatement(Java8Parser.DoStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#doStatement}. + * @param ctx the parse tree + */ + void exitDoStatement(Java8Parser.DoStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#forStatement}. + * @param ctx the parse tree + */ + void enterForStatement(Java8Parser.ForStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#forStatement}. + * @param ctx the parse tree + */ + void exitForStatement(Java8Parser.ForStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#forStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#forStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#basicForStatement}. + * @param ctx the parse tree + */ + void enterBasicForStatement(Java8Parser.BasicForStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#basicForStatement}. + * @param ctx the parse tree + */ + void exitBasicForStatement(Java8Parser.BasicForStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#basicForStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#basicForStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#forInit}. + * @param ctx the parse tree + */ + void enterForInit(Java8Parser.ForInitContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#forInit}. + * @param ctx the parse tree + */ + void exitForInit(Java8Parser.ForInitContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#forUpdate}. + * @param ctx the parse tree + */ + void enterForUpdate(Java8Parser.ForUpdateContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#forUpdate}. + * @param ctx the parse tree + */ + void exitForUpdate(Java8Parser.ForUpdateContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statementExpressionList}. + * @param ctx the parse tree + */ + void enterStatementExpressionList(Java8Parser.StatementExpressionListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statementExpressionList}. + * @param ctx the parse tree + */ + void exitStatementExpressionList(Java8Parser.StatementExpressionListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enhancedForStatement}. + * @param ctx the parse tree + */ + void enterEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enhancedForStatement}. + * @param ctx the parse tree + */ + void exitEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enhancedForStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enhancedForStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#breakStatement}. + * @param ctx the parse tree + */ + void enterBreakStatement(Java8Parser.BreakStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#breakStatement}. + * @param ctx the parse tree + */ + void exitBreakStatement(Java8Parser.BreakStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#continueStatement}. + * @param ctx the parse tree + */ + void enterContinueStatement(Java8Parser.ContinueStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#continueStatement}. + * @param ctx the parse tree + */ + void exitContinueStatement(Java8Parser.ContinueStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#returnStatement}. + * @param ctx the parse tree + */ + void enterReturnStatement(Java8Parser.ReturnStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#returnStatement}. + * @param ctx the parse tree + */ + void exitReturnStatement(Java8Parser.ReturnStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#throwStatement}. + * @param ctx the parse tree + */ + void enterThrowStatement(Java8Parser.ThrowStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#throwStatement}. + * @param ctx the parse tree + */ + void exitThrowStatement(Java8Parser.ThrowStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#synchronizedStatement}. + * @param ctx the parse tree + */ + void enterSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#synchronizedStatement}. + * @param ctx the parse tree + */ + void exitSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#tryStatement}. + * @param ctx the parse tree + */ + void enterTryStatement(Java8Parser.TryStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#tryStatement}. + * @param ctx the parse tree + */ + void exitTryStatement(Java8Parser.TryStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#catches}. + * @param ctx the parse tree + */ + void enterCatches(Java8Parser.CatchesContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#catches}. + * @param ctx the parse tree + */ + void exitCatches(Java8Parser.CatchesContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#catchClause}. + * @param ctx the parse tree + */ + void enterCatchClause(Java8Parser.CatchClauseContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#catchClause}. + * @param ctx the parse tree + */ + void exitCatchClause(Java8Parser.CatchClauseContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#catchFormalParameter}. + * @param ctx the parse tree + */ + void enterCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#catchFormalParameter}. + * @param ctx the parse tree + */ + void exitCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#catchType}. + * @param ctx the parse tree + */ + void enterCatchType(Java8Parser.CatchTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#catchType}. + * @param ctx the parse tree + */ + void exitCatchType(Java8Parser.CatchTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#finally_}. + * @param ctx the parse tree + */ + void enterFinally_(Java8Parser.Finally_Context ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#finally_}. + * @param ctx the parse tree + */ + void exitFinally_(Java8Parser.Finally_Context ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#tryWithResourcesStatement}. + * @param ctx the parse tree + */ + void enterTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#tryWithResourcesStatement}. + * @param ctx the parse tree + */ + void exitTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#resourceSpecification}. + * @param ctx the parse tree + */ + void enterResourceSpecification(Java8Parser.ResourceSpecificationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#resourceSpecification}. + * @param ctx the parse tree + */ + void exitResourceSpecification(Java8Parser.ResourceSpecificationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#resourceList}. + * @param ctx the parse tree + */ + void enterResourceList(Java8Parser.ResourceListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#resourceList}. + * @param ctx the parse tree + */ + void exitResourceList(Java8Parser.ResourceListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#resource}. + * @param ctx the parse tree + */ + void enterResource(Java8Parser.ResourceContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#resource}. + * @param ctx the parse tree + */ + void exitResource(Java8Parser.ResourceContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primary}. + * @param ctx the parse tree + */ + void enterPrimary(Java8Parser.PrimaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primary}. + * @param ctx the parse tree + */ + void exitPrimary(Java8Parser.PrimaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_arrayAccess}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_arrayAccess}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_arrayAccess}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_arrayAccess}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression}. + * @param ctx the parse tree + */ + void enterClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression}. + * @param ctx the parse tree + */ + void exitClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lf_primary}. + * @param ctx the parse tree + */ + void enterClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lf_primary}. + * @param ctx the parse tree + */ + void exitClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lfno_primary}. + * @param ctx the parse tree + */ + void enterClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lfno_primary}. + * @param ctx the parse tree + */ + void exitClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}. + * @param ctx the parse tree + */ + void enterTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}. + * @param ctx the parse tree + */ + void exitTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldAccess}. + * @param ctx the parse tree + */ + void enterFieldAccess(Java8Parser.FieldAccessContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldAccess}. + * @param ctx the parse tree + */ + void exitFieldAccess(Java8Parser.FieldAccessContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldAccess_lf_primary}. + * @param ctx the parse tree + */ + void enterFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldAccess_lf_primary}. + * @param ctx the parse tree + */ + void exitFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldAccess_lfno_primary}. + * @param ctx the parse tree + */ + void enterFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldAccess_lfno_primary}. + * @param ctx the parse tree + */ + void exitFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayAccess}. + * @param ctx the parse tree + */ + void enterArrayAccess(Java8Parser.ArrayAccessContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayAccess}. + * @param ctx the parse tree + */ + void exitArrayAccess(Java8Parser.ArrayAccessContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void enterArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void exitArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void enterArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void exitArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodInvocation}. + * @param ctx the parse tree + */ + void enterMethodInvocation(Java8Parser.MethodInvocationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodInvocation}. + * @param ctx the parse tree + */ + void exitMethodInvocation(Java8Parser.MethodInvocationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodInvocation_lf_primary}. + * @param ctx the parse tree + */ + void enterMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodInvocation_lf_primary}. + * @param ctx the parse tree + */ + void exitMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodInvocation_lfno_primary}. + * @param ctx the parse tree + */ + void enterMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodInvocation_lfno_primary}. + * @param ctx the parse tree + */ + void exitMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#argumentList}. + * @param ctx the parse tree + */ + void enterArgumentList(Java8Parser.ArgumentListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#argumentList}. + * @param ctx the parse tree + */ + void exitArgumentList(Java8Parser.ArgumentListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodReference}. + * @param ctx the parse tree + */ + void enterMethodReference(Java8Parser.MethodReferenceContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodReference}. + * @param ctx the parse tree + */ + void exitMethodReference(Java8Parser.MethodReferenceContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodReference_lf_primary}. + * @param ctx the parse tree + */ + void enterMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodReference_lf_primary}. + * @param ctx the parse tree + */ + void exitMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodReference_lfno_primary}. + * @param ctx the parse tree + */ + void enterMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodReference_lfno_primary}. + * @param ctx the parse tree + */ + void exitMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayCreationExpression}. + * @param ctx the parse tree + */ + void enterArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayCreationExpression}. + * @param ctx the parse tree + */ + void exitArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#dimExprs}. + * @param ctx the parse tree + */ + void enterDimExprs(Java8Parser.DimExprsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#dimExprs}. + * @param ctx the parse tree + */ + void exitDimExprs(Java8Parser.DimExprsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#dimExpr}. + * @param ctx the parse tree + */ + void enterDimExpr(Java8Parser.DimExprContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#dimExpr}. + * @param ctx the parse tree + */ + void exitDimExpr(Java8Parser.DimExprContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constantExpression}. + * @param ctx the parse tree + */ + void enterConstantExpression(Java8Parser.ConstantExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constantExpression}. + * @param ctx the parse tree + */ + void exitConstantExpression(Java8Parser.ConstantExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#expression}. + * @param ctx the parse tree + */ + void enterExpression(Java8Parser.ExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#expression}. + * @param ctx the parse tree + */ + void exitExpression(Java8Parser.ExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#lambdaExpression}. + * @param ctx the parse tree + */ + void enterLambdaExpression(Java8Parser.LambdaExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#lambdaExpression}. + * @param ctx the parse tree + */ + void exitLambdaExpression(Java8Parser.LambdaExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#lambdaParameters}. + * @param ctx the parse tree + */ + void enterLambdaParameters(Java8Parser.LambdaParametersContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#lambdaParameters}. + * @param ctx the parse tree + */ + void exitLambdaParameters(Java8Parser.LambdaParametersContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#inferredFormalParameterList}. + * @param ctx the parse tree + */ + void enterInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#inferredFormalParameterList}. + * @param ctx the parse tree + */ + void exitInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#lambdaBody}. + * @param ctx the parse tree + */ + void enterLambdaBody(Java8Parser.LambdaBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#lambdaBody}. + * @param ctx the parse tree + */ + void exitLambdaBody(Java8Parser.LambdaBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#assignmentExpression}. + * @param ctx the parse tree + */ + void enterAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#assignmentExpression}. + * @param ctx the parse tree + */ + void exitAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#assignment}. + * @param ctx the parse tree + */ + void enterAssignment(Java8Parser.AssignmentContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#assignment}. + * @param ctx the parse tree + */ + void exitAssignment(Java8Parser.AssignmentContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#leftHandSide}. + * @param ctx the parse tree + */ + void enterLeftHandSide(Java8Parser.LeftHandSideContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#leftHandSide}. + * @param ctx the parse tree + */ + void exitLeftHandSide(Java8Parser.LeftHandSideContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#assignmentOperator}. + * @param ctx the parse tree + */ + void enterAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#assignmentOperator}. + * @param ctx the parse tree + */ + void exitAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#conditionalExpression}. + * @param ctx the parse tree + */ + void enterConditionalExpression(Java8Parser.ConditionalExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#conditionalExpression}. + * @param ctx the parse tree + */ + void exitConditionalExpression(Java8Parser.ConditionalExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#conditionalOrExpression}. + * @param ctx the parse tree + */ + void enterConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#conditionalOrExpression}. + * @param ctx the parse tree + */ + void exitConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#conditionalAndExpression}. + * @param ctx the parse tree + */ + void enterConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#conditionalAndExpression}. + * @param ctx the parse tree + */ + void exitConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#inclusiveOrExpression}. + * @param ctx the parse tree + */ + void enterInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#inclusiveOrExpression}. + * @param ctx the parse tree + */ + void exitInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#exclusiveOrExpression}. + * @param ctx the parse tree + */ + void enterExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#exclusiveOrExpression}. + * @param ctx the parse tree + */ + void exitExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#andExpression}. + * @param ctx the parse tree + */ + void enterAndExpression(Java8Parser.AndExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#andExpression}. + * @param ctx the parse tree + */ + void exitAndExpression(Java8Parser.AndExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#equalityExpression}. + * @param ctx the parse tree + */ + void enterEqualityExpression(Java8Parser.EqualityExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#equalityExpression}. + * @param ctx the parse tree + */ + void exitEqualityExpression(Java8Parser.EqualityExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#relationalExpression}. + * @param ctx the parse tree + */ + void enterRelationalExpression(Java8Parser.RelationalExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#relationalExpression}. + * @param ctx the parse tree + */ + void exitRelationalExpression(Java8Parser.RelationalExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#shiftExpression}. + * @param ctx the parse tree + */ + void enterShiftExpression(Java8Parser.ShiftExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#shiftExpression}. + * @param ctx the parse tree + */ + void exitShiftExpression(Java8Parser.ShiftExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#additiveExpression}. + * @param ctx the parse tree + */ + void enterAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#additiveExpression}. + * @param ctx the parse tree + */ + void exitAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#multiplicativeExpression}. + * @param ctx the parse tree + */ + void enterMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#multiplicativeExpression}. + * @param ctx the parse tree + */ + void exitMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unaryExpression}. + * @param ctx the parse tree + */ + void enterUnaryExpression(Java8Parser.UnaryExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unaryExpression}. + * @param ctx the parse tree + */ + void exitUnaryExpression(Java8Parser.UnaryExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#preIncrementExpression}. + * @param ctx the parse tree + */ + void enterPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#preIncrementExpression}. + * @param ctx the parse tree + */ + void exitPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#preDecrementExpression}. + * @param ctx the parse tree + */ + void enterPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#preDecrementExpression}. + * @param ctx the parse tree + */ + void exitPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unaryExpressionNotPlusMinus}. + * @param ctx the parse tree + */ + void enterUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unaryExpressionNotPlusMinus}. + * @param ctx the parse tree + */ + void exitUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postfixExpression}. + * @param ctx the parse tree + */ + void enterPostfixExpression(Java8Parser.PostfixExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postfixExpression}. + * @param ctx the parse tree + */ + void exitPostfixExpression(Java8Parser.PostfixExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postIncrementExpression}. + * @param ctx the parse tree + */ + void enterPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postIncrementExpression}. + * @param ctx the parse tree + */ + void exitPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postIncrementExpression_lf_postfixExpression}. + * @param ctx the parse tree + */ + void enterPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postIncrementExpression_lf_postfixExpression}. + * @param ctx the parse tree + */ + void exitPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postDecrementExpression}. + * @param ctx the parse tree + */ + void enterPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postDecrementExpression}. + * @param ctx the parse tree + */ + void exitPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postDecrementExpression_lf_postfixExpression}. + * @param ctx the parse tree + */ + void enterPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postDecrementExpression_lf_postfixExpression}. + * @param ctx the parse tree + */ + void exitPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#castExpression}. + * @param ctx the parse tree + */ + void enterCastExpression(Java8Parser.CastExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#castExpression}. + * @param ctx the parse tree + */ + void exitCastExpression(Java8Parser.CastExpressionContext ctx); +} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Parser.java b/src/de/dhbwstuttgart/parser/Java8Parser.java new file mode 100644 index 00000000..2c5054c8 --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8Parser.java @@ -0,0 +1,18566 @@ +// Generated from Java8.g4 by ANTLR 4.5.3 +package de.dhbwstuttgart.parser; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Java8Parser extends Parser { + static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + ABSTRACT=1, ASSERT=2, BOOLEAN=3, BREAK=4, BYTE=5, CASE=6, CATCH=7, CHAR=8, + CLASS=9, CONST=10, CONTINUE=11, DEFAULT=12, DO=13, DOUBLE=14, ELSE=15, + ENUM=16, EXTENDS=17, FINAL=18, FINALLY=19, FLOAT=20, FOR=21, IF=22, GOTO=23, + IMPLEMENTS=24, IMPORT=25, INSTANCEOF=26, INT=27, INTERFACE=28, LONG=29, + NATIVE=30, NEW=31, PACKAGE=32, PRIVATE=33, PROTECTED=34, PUBLIC=35, RETURN=36, + SHORT=37, STATIC=38, STRICTFP=39, SUPER=40, SWITCH=41, SYNCHRONIZED=42, + THIS=43, THROW=44, THROWS=45, TRANSIENT=46, TRY=47, VOID=48, VOLATILE=49, + WHILE=50, IntegerLiteral=51, FloatingPointLiteral=52, BooleanLiteral=53, + CharacterLiteral=54, StringLiteral=55, NullLiteral=56, LPAREN=57, RPAREN=58, + LBRACE=59, RBRACE=60, LBRACK=61, RBRACK=62, SEMI=63, COMMA=64, DOT=65, + ASSIGN=66, GT=67, LT=68, BANG=69, TILDE=70, QUESTION=71, COLON=72, EQUAL=73, + LE=74, GE=75, NOTEQUAL=76, AND=77, OR=78, INC=79, DEC=80, ADD=81, SUB=82, + MUL=83, DIV=84, BITAND=85, BITOR=86, CARET=87, MOD=88, ARROW=89, COLONCOLON=90, + ADD_ASSIGN=91, SUB_ASSIGN=92, MUL_ASSIGN=93, DIV_ASSIGN=94, AND_ASSIGN=95, + OR_ASSIGN=96, XOR_ASSIGN=97, MOD_ASSIGN=98, LSHIFT_ASSIGN=99, RSHIFT_ASSIGN=100, + URSHIFT_ASSIGN=101, Identifier=102, AT=103, ELLIPSIS=104, WS=105, COMMENT=106, + LINE_COMMENT=107; + public static final int + RULE_literal = 0, RULE_type = 1, RULE_primitiveType = 2, RULE_numericType = 3, + RULE_integralType = 4, RULE_floatingPointType = 5, RULE_referenceType = 6, + RULE_classOrInterfaceType = 7, RULE_classType = 8, RULE_classType_lf_classOrInterfaceType = 9, + RULE_classType_lfno_classOrInterfaceType = 10, RULE_interfaceType = 11, + RULE_interfaceType_lf_classOrInterfaceType = 12, RULE_interfaceType_lfno_classOrInterfaceType = 13, + RULE_typeVariable = 14, RULE_arrayType = 15, RULE_dims = 16, RULE_typeParameter = 17, + RULE_typeParameterModifier = 18, RULE_typeBound = 19, RULE_additionalBound = 20, + RULE_typeArguments = 21, RULE_typeArgumentList = 22, RULE_typeArgument = 23, + RULE_wildcard = 24, RULE_wildcardBounds = 25, RULE_packageName = 26, RULE_typeName = 27, + RULE_packageOrTypeName = 28, RULE_expressionName = 29, RULE_methodName = 30, + RULE_ambiguousName = 31, RULE_compilationUnit = 32, RULE_packageDeclaration = 33, + RULE_packageModifier = 34, RULE_importDeclaration = 35, RULE_singleTypeImportDeclaration = 36, + RULE_typeImportOnDemandDeclaration = 37, RULE_singleStaticImportDeclaration = 38, + RULE_staticImportOnDemandDeclaration = 39, RULE_typeDeclaration = 40, + RULE_classDeclaration = 41, RULE_normalClassDeclaration = 42, RULE_classModifier = 43, + RULE_typeParameters = 44, RULE_typeParameterList = 45, RULE_superclass = 46, + RULE_superinterfaces = 47, RULE_interfaceTypeList = 48, RULE_classBody = 49, + RULE_classBodyDeclaration = 50, RULE_classMemberDeclaration = 51, RULE_fieldDeclaration = 52, + RULE_fieldModifier = 53, RULE_variableDeclaratorList = 54, RULE_variableDeclarator = 55, + RULE_variableDeclaratorId = 56, RULE_variableInitializer = 57, RULE_unannType = 58, + RULE_unannPrimitiveType = 59, RULE_unannReferenceType = 60, RULE_unannClassOrInterfaceType = 61, + RULE_unannClassType = 62, RULE_unannClassType_lf_unannClassOrInterfaceType = 63, + RULE_unannClassType_lfno_unannClassOrInterfaceType = 64, RULE_unannInterfaceType = 65, + RULE_unannInterfaceType_lf_unannClassOrInterfaceType = 66, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType = 67, + RULE_unannTypeVariable = 68, RULE_unannArrayType = 69, RULE_methodDeclaration = 70, + RULE_methodModifier = 71, RULE_methodHeader = 72, RULE_result = 73, RULE_methodDeclarator = 74, + RULE_formalParameterList = 75, RULE_formalParameters = 76, RULE_formalParameter = 77, + RULE_variableModifier = 78, RULE_lastFormalParameter = 79, RULE_receiverParameter = 80, + RULE_throws_ = 81, RULE_exceptionTypeList = 82, RULE_exceptionType = 83, + RULE_methodBody = 84, RULE_instanceInitializer = 85, RULE_staticInitializer = 86, + RULE_constructorDeclaration = 87, RULE_constructorModifier = 88, RULE_constructorDeclarator = 89, + RULE_simpleTypeName = 90, RULE_constructorBody = 91, RULE_explicitConstructorInvocation = 92, + RULE_enumDeclaration = 93, RULE_enumBody = 94, RULE_enumConstantList = 95, + RULE_enumConstant = 96, RULE_enumConstantModifier = 97, RULE_enumBodyDeclarations = 98, + RULE_interfaceDeclaration = 99, RULE_normalInterfaceDeclaration = 100, + RULE_interfaceModifier = 101, RULE_extendsInterfaces = 102, RULE_interfaceBody = 103, + RULE_interfaceMemberDeclaration = 104, RULE_constantDeclaration = 105, + RULE_constantModifier = 106, RULE_interfaceMethodDeclaration = 107, RULE_interfaceMethodModifier = 108, + RULE_annotationTypeDeclaration = 109, RULE_annotationTypeBody = 110, RULE_annotationTypeMemberDeclaration = 111, + RULE_annotationTypeElementDeclaration = 112, RULE_annotationTypeElementModifier = 113, + RULE_defaultValue = 114, RULE_annotation = 115, RULE_normalAnnotation = 116, + RULE_elementValuePairList = 117, RULE_elementValuePair = 118, RULE_elementValue = 119, + RULE_elementValueArrayInitializer = 120, RULE_elementValueList = 121, + RULE_markerAnnotation = 122, RULE_singleElementAnnotation = 123, RULE_arrayInitializer = 124, + RULE_variableInitializerList = 125, RULE_block = 126, RULE_blockStatements = 127, + RULE_blockStatement = 128, RULE_localVariableDeclarationStatement = 129, + RULE_localVariableDeclaration = 130, RULE_statement = 131, RULE_statementNoShortIf = 132, + RULE_statementWithoutTrailingSubstatement = 133, RULE_emptyStatement = 134, + RULE_labeledStatement = 135, RULE_labeledStatementNoShortIf = 136, RULE_expressionStatement = 137, + RULE_statementExpression = 138, RULE_ifThenStatement = 139, RULE_ifThenElseStatement = 140, + RULE_ifThenElseStatementNoShortIf = 141, RULE_assertStatement = 142, RULE_switchStatement = 143, + RULE_switchBlock = 144, RULE_switchBlockStatementGroup = 145, RULE_switchLabels = 146, + RULE_switchLabel = 147, RULE_enumConstantName = 148, RULE_whileStatement = 149, + RULE_whileStatementNoShortIf = 150, RULE_doStatement = 151, RULE_forStatement = 152, + RULE_forStatementNoShortIf = 153, RULE_basicForStatement = 154, RULE_basicForStatementNoShortIf = 155, + RULE_forInit = 156, RULE_forUpdate = 157, RULE_statementExpressionList = 158, + RULE_enhancedForStatement = 159, RULE_enhancedForStatementNoShortIf = 160, + RULE_breakStatement = 161, RULE_continueStatement = 162, RULE_returnStatement = 163, + RULE_throwStatement = 164, RULE_synchronizedStatement = 165, RULE_tryStatement = 166, + RULE_catches = 167, RULE_catchClause = 168, RULE_catchFormalParameter = 169, + RULE_catchType = 170, RULE_finally_ = 171, RULE_tryWithResourcesStatement = 172, + RULE_resourceSpecification = 173, RULE_resourceList = 174, RULE_resource = 175, + RULE_primary = 176, RULE_primaryNoNewArray = 177, RULE_primaryNoNewArray_lf_arrayAccess = 178, + RULE_primaryNoNewArray_lfno_arrayAccess = 179, RULE_primaryNoNewArray_lf_primary = 180, + RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary = 181, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary = 182, + RULE_primaryNoNewArray_lfno_primary = 183, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary = 184, + RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary = 185, + RULE_classInstanceCreationExpression = 186, RULE_classInstanceCreationExpression_lf_primary = 187, + RULE_classInstanceCreationExpression_lfno_primary = 188, RULE_typeArgumentsOrDiamond = 189, + RULE_fieldAccess = 190, RULE_fieldAccess_lf_primary = 191, RULE_fieldAccess_lfno_primary = 192, + RULE_arrayAccess = 193, RULE_arrayAccess_lf_primary = 194, RULE_arrayAccess_lfno_primary = 195, + RULE_methodInvocation = 196, RULE_methodInvocation_lf_primary = 197, RULE_methodInvocation_lfno_primary = 198, + RULE_argumentList = 199, RULE_methodReference = 200, RULE_methodReference_lf_primary = 201, + RULE_methodReference_lfno_primary = 202, RULE_arrayCreationExpression = 203, + RULE_dimExprs = 204, RULE_dimExpr = 205, RULE_constantExpression = 206, + RULE_expression = 207, RULE_lambdaExpression = 208, RULE_lambdaParameters = 209, + RULE_inferredFormalParameterList = 210, RULE_lambdaBody = 211, RULE_assignmentExpression = 212, + RULE_assignment = 213, RULE_leftHandSide = 214, RULE_assignmentOperator = 215, + RULE_conditionalExpression = 216, RULE_conditionalOrExpression = 217, + RULE_conditionalAndExpression = 218, RULE_inclusiveOrExpression = 219, + RULE_exclusiveOrExpression = 220, RULE_andExpression = 221, RULE_equalityExpression = 222, + RULE_relationalExpression = 223, RULE_shiftExpression = 224, RULE_additiveExpression = 225, + RULE_multiplicativeExpression = 226, RULE_unaryExpression = 227, RULE_preIncrementExpression = 228, + RULE_preDecrementExpression = 229, RULE_unaryExpressionNotPlusMinus = 230, + RULE_postfixExpression = 231, RULE_postIncrementExpression = 232, RULE_postIncrementExpression_lf_postfixExpression = 233, + RULE_postDecrementExpression = 234, RULE_postDecrementExpression_lf_postfixExpression = 235, + RULE_castExpression = 236; + public static final String[] ruleNames = { + "literal", "type", "primitiveType", "numericType", "integralType", "floatingPointType", + "referenceType", "classOrInterfaceType", "classType", "classType_lf_classOrInterfaceType", + "classType_lfno_classOrInterfaceType", "interfaceType", "interfaceType_lf_classOrInterfaceType", + "interfaceType_lfno_classOrInterfaceType", "typeVariable", "arrayType", + "dims", "typeParameter", "typeParameterModifier", "typeBound", "additionalBound", + "typeArguments", "typeArgumentList", "typeArgument", "wildcard", "wildcardBounds", + "packageName", "typeName", "packageOrTypeName", "expressionName", "methodName", + "ambiguousName", "compilationUnit", "packageDeclaration", "packageModifier", + "importDeclaration", "singleTypeImportDeclaration", "typeImportOnDemandDeclaration", + "singleStaticImportDeclaration", "staticImportOnDemandDeclaration", "typeDeclaration", + "classDeclaration", "normalClassDeclaration", "classModifier", "typeParameters", + "typeParameterList", "superclass", "superinterfaces", "interfaceTypeList", + "classBody", "classBodyDeclaration", "classMemberDeclaration", "fieldDeclaration", + "fieldModifier", "variableDeclaratorList", "variableDeclarator", "variableDeclaratorId", + "variableInitializer", "unannType", "unannPrimitiveType", "unannReferenceType", + "unannClassOrInterfaceType", "unannClassType", "unannClassType_lf_unannClassOrInterfaceType", + "unannClassType_lfno_unannClassOrInterfaceType", "unannInterfaceType", + "unannInterfaceType_lf_unannClassOrInterfaceType", "unannInterfaceType_lfno_unannClassOrInterfaceType", + "unannTypeVariable", "unannArrayType", "methodDeclaration", "methodModifier", + "methodHeader", "result", "methodDeclarator", "formalParameterList", "formalParameters", + "formalParameter", "variableModifier", "lastFormalParameter", "receiverParameter", + "throws_", "exceptionTypeList", "exceptionType", "methodBody", "instanceInitializer", + "staticInitializer", "constructorDeclaration", "constructorModifier", + "constructorDeclarator", "simpleTypeName", "constructorBody", "explicitConstructorInvocation", + "enumDeclaration", "enumBody", "enumConstantList", "enumConstant", "enumConstantModifier", + "enumBodyDeclarations", "interfaceDeclaration", "normalInterfaceDeclaration", + "interfaceModifier", "extendsInterfaces", "interfaceBody", "interfaceMemberDeclaration", + "constantDeclaration", "constantModifier", "interfaceMethodDeclaration", + "interfaceMethodModifier", "annotationTypeDeclaration", "annotationTypeBody", + "annotationTypeMemberDeclaration", "annotationTypeElementDeclaration", + "annotationTypeElementModifier", "defaultValue", "annotation", "normalAnnotation", + "elementValuePairList", "elementValuePair", "elementValue", "elementValueArrayInitializer", + "elementValueList", "markerAnnotation", "singleElementAnnotation", "arrayInitializer", + "variableInitializerList", "block", "blockStatements", "blockStatement", + "localVariableDeclarationStatement", "localVariableDeclaration", "statement", + "statementNoShortIf", "statementWithoutTrailingSubstatement", "emptyStatement", + "labeledStatement", "labeledStatementNoShortIf", "expressionStatement", + "statementExpression", "ifThenStatement", "ifThenElseStatement", "ifThenElseStatementNoShortIf", + "assertStatement", "switchStatement", "switchBlock", "switchBlockStatementGroup", + "switchLabels", "switchLabel", "enumConstantName", "whileStatement", "whileStatementNoShortIf", + "doStatement", "forStatement", "forStatementNoShortIf", "basicForStatement", + "basicForStatementNoShortIf", "forInit", "forUpdate", "statementExpressionList", + "enhancedForStatement", "enhancedForStatementNoShortIf", "breakStatement", + "continueStatement", "returnStatement", "throwStatement", "synchronizedStatement", + "tryStatement", "catches", "catchClause", "catchFormalParameter", "catchType", + "finally_", "tryWithResourcesStatement", "resourceSpecification", "resourceList", + "resource", "primary", "primaryNoNewArray", "primaryNoNewArray_lf_arrayAccess", + "primaryNoNewArray_lfno_arrayAccess", "primaryNoNewArray_lf_primary", + "primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary", "primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary", + "primaryNoNewArray_lfno_primary", "primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary", + "primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary", "classInstanceCreationExpression", + "classInstanceCreationExpression_lf_primary", "classInstanceCreationExpression_lfno_primary", + "typeArgumentsOrDiamond", "fieldAccess", "fieldAccess_lf_primary", "fieldAccess_lfno_primary", + "arrayAccess", "arrayAccess_lf_primary", "arrayAccess_lfno_primary", "methodInvocation", + "methodInvocation_lf_primary", "methodInvocation_lfno_primary", "argumentList", + "methodReference", "methodReference_lf_primary", "methodReference_lfno_primary", + "arrayCreationExpression", "dimExprs", "dimExpr", "constantExpression", + "expression", "lambdaExpression", "lambdaParameters", "inferredFormalParameterList", + "lambdaBody", "assignmentExpression", "assignment", "leftHandSide", "assignmentOperator", + "conditionalExpression", "conditionalOrExpression", "conditionalAndExpression", + "inclusiveOrExpression", "exclusiveOrExpression", "andExpression", "equalityExpression", + "relationalExpression", "shiftExpression", "additiveExpression", "multiplicativeExpression", + "unaryExpression", "preIncrementExpression", "preDecrementExpression", + "unaryExpressionNotPlusMinus", "postfixExpression", "postIncrementExpression", + "postIncrementExpression_lf_postfixExpression", "postDecrementExpression", + "postDecrementExpression_lf_postfixExpression", "castExpression" + }; + + private static final String[] _LITERAL_NAMES = { + null, "'abstract'", "'assert'", "'boolean'", "'break'", "'byte'", "'case'", + "'catch'", "'char'", "'class'", "'const'", "'continue'", "'default'", + "'do'", "'double'", "'else'", "'enum'", "'extends'", "'final'", "'finally'", + "'float'", "'for'", "'if'", "'goto'", "'implements'", "'import'", "'instanceof'", + "'int'", "'interface'", "'long'", "'native'", "'new'", "'package'", "'private'", + "'protected'", "'public'", "'return'", "'short'", "'static'", "'strictfp'", + "'super'", "'switch'", "'synchronized'", "'this'", "'throw'", "'throws'", + "'transient'", "'try'", "'void'", "'volatile'", "'while'", null, null, + null, null, null, "'null'", "'('", "')'", "'{'", "'}'", "'['", "']'", + "';'", "','", "'.'", "'='", "'>'", "'<'", "'!'", "'~'", "'?'", "':'", + "'=='", "'<='", "'>='", "'!='", "'&&'", "'||'", "'++'", "'--'", "'+'", + "'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'%'", "'->'", "'::'", "'+='", + "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'<<='", "'>>='", + "'>>>='", null, "'@'", "'...'" + }; + private static final String[] _SYMBOLIC_NAMES = { + null, "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", + "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", + "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", + "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", + "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", + "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", + "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "FloatingPointLiteral", + "BooleanLiteral", "CharacterLiteral", "StringLiteral", "NullLiteral", + "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", "SEMI", "COMMA", + "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", "COLON", "EQUAL", + "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", "SUB", "MUL", + "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", "ADD_ASSIGN", + "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN", + "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN", "Identifier", + "AT", "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" + }; + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "Java8.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public Java8Parser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + public static class LiteralContext extends ParserRuleContext { + public TerminalNode IntegerLiteral() { return getToken(Java8Parser.IntegerLiteral, 0); } + public TerminalNode FloatingPointLiteral() { return getToken(Java8Parser.FloatingPointLiteral, 0); } + public TerminalNode BooleanLiteral() { return getToken(Java8Parser.BooleanLiteral, 0); } + public TerminalNode CharacterLiteral() { return getToken(Java8Parser.CharacterLiteral, 0); } + public TerminalNode StringLiteral() { return getToken(Java8Parser.StringLiteral, 0); } + public TerminalNode NullLiteral() { return getToken(Java8Parser.NullLiteral, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLiteral(this); + } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_literal); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(474); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeContext extends ParserRuleContext { + public PrimitiveTypeContext primitiveType() { + return getRuleContext(PrimitiveTypeContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public TypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_type; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitType(this); + } + } + + public final TypeContext type() throws RecognitionException { + TypeContext _localctx = new TypeContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_type); + try { + setState(478); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(476); + primitiveType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(477); + referenceType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimitiveTypeContext extends ParserRuleContext { + public NumericTypeContext numericType() { + return getRuleContext(NumericTypeContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public PrimitiveTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primitiveType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimitiveType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimitiveType(this); + } + } + + public final PrimitiveTypeContext primitiveType() throws RecognitionException { + PrimitiveTypeContext _localctx = new PrimitiveTypeContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_primitiveType); + int _la; + try { + setState(494); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(483); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(480); + annotation(); + } + } + setState(485); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(486); + numericType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(490); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(487); + annotation(); + } + } + setState(492); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(493); + match(BOOLEAN); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NumericTypeContext extends ParserRuleContext { + public IntegralTypeContext integralType() { + return getRuleContext(IntegralTypeContext.class,0); + } + public FloatingPointTypeContext floatingPointType() { + return getRuleContext(FloatingPointTypeContext.class,0); + } + public NumericTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_numericType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNumericType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNumericType(this); + } + } + + public final NumericTypeContext numericType() throws RecognitionException { + NumericTypeContext _localctx = new NumericTypeContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_numericType); + try { + setState(498); + switch (_input.LA(1)) { + case BYTE: + case CHAR: + case INT: + case LONG: + case SHORT: + enterOuterAlt(_localctx, 1); + { + setState(496); + integralType(); + } + break; + case DOUBLE: + case FLOAT: + enterOuterAlt(_localctx, 2); + { + setState(497); + floatingPointType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IntegralTypeContext extends ParserRuleContext { + public IntegralTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_integralType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIntegralType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIntegralType(this); + } + } + + public final IntegralTypeContext integralType() throws RecognitionException { + IntegralTypeContext _localctx = new IntegralTypeContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_integralType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(500); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BYTE) | (1L << CHAR) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FloatingPointTypeContext extends ParserRuleContext { + public FloatingPointTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_floatingPointType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFloatingPointType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFloatingPointType(this); + } + } + + public final FloatingPointTypeContext floatingPointType() throws RecognitionException { + FloatingPointTypeContext _localctx = new FloatingPointTypeContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_floatingPointType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(502); + _la = _input.LA(1); + if ( !(_la==DOUBLE || _la==FLOAT) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReferenceTypeContext extends ParserRuleContext { + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public TypeVariableContext typeVariable() { + return getRuleContext(TypeVariableContext.class,0); + } + public ArrayTypeContext arrayType() { + return getRuleContext(ArrayTypeContext.class,0); + } + public ReferenceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_referenceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReferenceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReferenceType(this); + } + } + + public final ReferenceTypeContext referenceType() throws RecognitionException { + ReferenceTypeContext _localctx = new ReferenceTypeContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_referenceType); + try { + setState(507); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(504); + classOrInterfaceType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(505); + typeVariable(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(506); + arrayType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassOrInterfaceTypeContext extends ParserRuleContext { + public ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() { + return getRuleContext(ClassType_lfno_classOrInterfaceTypeContext.class,0); + } + public InterfaceType_lfno_classOrInterfaceTypeContext interfaceType_lfno_classOrInterfaceType() { + return getRuleContext(InterfaceType_lfno_classOrInterfaceTypeContext.class,0); + } + public List classType_lf_classOrInterfaceType() { + return getRuleContexts(ClassType_lf_classOrInterfaceTypeContext.class); + } + public ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType(int i) { + return getRuleContext(ClassType_lf_classOrInterfaceTypeContext.class,i); + } + public List interfaceType_lf_classOrInterfaceType() { + return getRuleContexts(InterfaceType_lf_classOrInterfaceTypeContext.class); + } + public InterfaceType_lf_classOrInterfaceTypeContext interfaceType_lf_classOrInterfaceType(int i) { + return getRuleContext(InterfaceType_lf_classOrInterfaceTypeContext.class,i); + } + public ClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassOrInterfaceType(this); + } + } + + public final ClassOrInterfaceTypeContext classOrInterfaceType() throws RecognitionException { + ClassOrInterfaceTypeContext _localctx = new ClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_classOrInterfaceType); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(511); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) { + case 1: + { + setState(509); + classType_lfno_classOrInterfaceType(); + } + break; + case 2: + { + setState(510); + interfaceType_lfno_classOrInterfaceType(); + } + break; + } + setState(517); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,8,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + setState(515); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) { + case 1: + { + setState(513); + classType_lf_classOrInterfaceType(); + } + break; + case 2: + { + setState(514); + interfaceType_lf_classOrInterfaceType(); + } + break; + } + } + } + setState(519); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,8,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public ClassTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType(this); + } + } + + public final ClassTypeContext classType() throws RecognitionException { + ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_classType); + int _la; + try { + setState(542); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(523); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(520); + annotation(); + } + } + setState(525); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(526); + match(Identifier); + setState(528); + _la = _input.LA(1); + if (_la==LT) { + { + setState(527); + typeArguments(); + } + } + + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(530); + classOrInterfaceType(); + setState(531); + match(DOT); + setState(535); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(532); + annotation(); + } + } + setState(537); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(538); + match(Identifier); + setState(540); + _la = _input.LA(1); + if (_la==LT) { + { + setState(539); + typeArguments(); + } + } + + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassType_lf_classOrInterfaceTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ClassType_lf_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classType_lf_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType_lf_classOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType_lf_classOrInterfaceType(this); + } + } + + public final ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType() throws RecognitionException { + ClassType_lf_classOrInterfaceTypeContext _localctx = new ClassType_lf_classOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_classType_lf_classOrInterfaceType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(544); + match(DOT); + setState(548); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(545); + annotation(); + } + } + setState(550); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(551); + match(Identifier); + setState(553); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) { + case 1: + { + setState(552); + typeArguments(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassType_lfno_classOrInterfaceTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ClassType_lfno_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classType_lfno_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType_lfno_classOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType_lfno_classOrInterfaceType(this); + } + } + + public final ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() throws RecognitionException { + ClassType_lfno_classOrInterfaceTypeContext _localctx = new ClassType_lfno_classOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_classType_lfno_classOrInterfaceType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(558); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(555); + annotation(); + } + } + setState(560); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(561); + match(Identifier); + setState(563); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) { + case 1: + { + setState(562); + typeArguments(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceTypeContext extends ParserRuleContext { + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public InterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType(this); + } + } + + public final InterfaceTypeContext interfaceType() throws RecognitionException { + InterfaceTypeContext _localctx = new InterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_interfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(565); + classType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceType_lf_classOrInterfaceTypeContext extends ParserRuleContext { + public ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType() { + return getRuleContext(ClassType_lf_classOrInterfaceTypeContext.class,0); + } + public InterfaceType_lf_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceType_lf_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType_lf_classOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType_lf_classOrInterfaceType(this); + } + } + + public final InterfaceType_lf_classOrInterfaceTypeContext interfaceType_lf_classOrInterfaceType() throws RecognitionException { + InterfaceType_lf_classOrInterfaceTypeContext _localctx = new InterfaceType_lf_classOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_interfaceType_lf_classOrInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(567); + classType_lf_classOrInterfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceType_lfno_classOrInterfaceTypeContext extends ParserRuleContext { + public ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() { + return getRuleContext(ClassType_lfno_classOrInterfaceTypeContext.class,0); + } + public InterfaceType_lfno_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceType_lfno_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType_lfno_classOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType_lfno_classOrInterfaceType(this); + } + } + + public final InterfaceType_lfno_classOrInterfaceTypeContext interfaceType_lfno_classOrInterfaceType() throws RecognitionException { + InterfaceType_lfno_classOrInterfaceTypeContext _localctx = new InterfaceType_lfno_classOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_interfaceType_lfno_classOrInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(569); + classType_lfno_classOrInterfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeVariableContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeVariableContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeVariable; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeVariable(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeVariable(this); + } + } + + public final TypeVariableContext typeVariable() throws RecognitionException { + TypeVariableContext _localctx = new TypeVariableContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_typeVariable); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(574); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(571); + annotation(); + } + } + setState(576); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(577); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayTypeContext extends ParserRuleContext { + public PrimitiveTypeContext primitiveType() { + return getRuleContext(PrimitiveTypeContext.class,0); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public TypeVariableContext typeVariable() { + return getRuleContext(TypeVariableContext.class,0); + } + public ArrayTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayType(this); + } + } + + public final ArrayTypeContext arrayType() throws RecognitionException { + ArrayTypeContext _localctx = new ArrayTypeContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_arrayType); + try { + setState(588); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(579); + primitiveType(); + setState(580); + dims(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(582); + classOrInterfaceType(); + setState(583); + dims(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(585); + typeVariable(); + setState(586); + dims(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DimsContext extends ParserRuleContext { + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public DimsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dims; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDims(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDims(this); + } + } + + public final DimsContext dims() throws RecognitionException { + DimsContext _localctx = new DimsContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_dims); + int _la; + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(593); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(590); + annotation(); + } + } + setState(595); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(596); + match(LBRACK); + setState(597); + match(RBRACK); + setState(608); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,22,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(601); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(598); + annotation(); + } + } + setState(603); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(604); + match(LBRACK); + setState(605); + match(RBRACK); + } + } + } + setState(610); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,22,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeParameterContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List typeParameterModifier() { + return getRuleContexts(TypeParameterModifierContext.class); + } + public TypeParameterModifierContext typeParameterModifier(int i) { + return getRuleContext(TypeParameterModifierContext.class,i); + } + public TypeBoundContext typeBound() { + return getRuleContext(TypeBoundContext.class,0); + } + public TypeParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameter(this); + } + } + + public final TypeParameterContext typeParameter() throws RecognitionException { + TypeParameterContext _localctx = new TypeParameterContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_typeParameter); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(614); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(611); + typeParameterModifier(); + } + } + setState(616); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(617); + match(Identifier); + setState(619); + _la = _input.LA(1); + if (_la==EXTENDS) { + { + setState(618); + typeBound(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeParameterModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public TypeParameterModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeParameterModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameterModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameterModifier(this); + } + } + + public final TypeParameterModifierContext typeParameterModifier() throws RecognitionException { + TypeParameterModifierContext _localctx = new TypeParameterModifierContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_typeParameterModifier); + try { + enterOuterAlt(_localctx, 1); + { + setState(621); + annotation(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeBoundContext extends ParserRuleContext { + public TypeVariableContext typeVariable() { + return getRuleContext(TypeVariableContext.class,0); + } + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public List additionalBound() { + return getRuleContexts(AdditionalBoundContext.class); + } + public AdditionalBoundContext additionalBound(int i) { + return getRuleContext(AdditionalBoundContext.class,i); + } + public TypeBoundContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeBound; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeBound(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeBound(this); + } + } + + public final TypeBoundContext typeBound() throws RecognitionException { + TypeBoundContext _localctx = new TypeBoundContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_typeBound); + int _la; + try { + setState(633); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(623); + match(EXTENDS); + setState(624); + typeVariable(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(625); + match(EXTENDS); + setState(626); + classOrInterfaceType(); + setState(630); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==BITAND) { + { + { + setState(627); + additionalBound(); + } + } + setState(632); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AdditionalBoundContext extends ParserRuleContext { + public InterfaceTypeContext interfaceType() { + return getRuleContext(InterfaceTypeContext.class,0); + } + public AdditionalBoundContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_additionalBound; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAdditionalBound(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAdditionalBound(this); + } + } + + public final AdditionalBoundContext additionalBound() throws RecognitionException { + AdditionalBoundContext _localctx = new AdditionalBoundContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_additionalBound); + try { + enterOuterAlt(_localctx, 1); + { + setState(635); + match(BITAND); + setState(636); + interfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeArgumentsContext extends ParserRuleContext { + public TypeArgumentListContext typeArgumentList() { + return getRuleContext(TypeArgumentListContext.class,0); + } + public TypeArgumentsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeArguments; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArguments(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArguments(this); + } + } + + public final TypeArgumentsContext typeArguments() throws RecognitionException { + TypeArgumentsContext _localctx = new TypeArgumentsContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_typeArguments); + try { + enterOuterAlt(_localctx, 1); + { + setState(638); + match(LT); + setState(639); + typeArgumentList(); + setState(640); + match(GT); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeArgumentListContext extends ParserRuleContext { + public List typeArgument() { + return getRuleContexts(TypeArgumentContext.class); + } + public TypeArgumentContext typeArgument(int i) { + return getRuleContext(TypeArgumentContext.class,i); + } + public TypeArgumentListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeArgumentList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgumentList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgumentList(this); + } + } + + public final TypeArgumentListContext typeArgumentList() throws RecognitionException { + TypeArgumentListContext _localctx = new TypeArgumentListContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_typeArgumentList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(642); + typeArgument(); + setState(647); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(643); + match(COMMA); + setState(644); + typeArgument(); + } + } + setState(649); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeArgumentContext extends ParserRuleContext { + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public WildcardContext wildcard() { + return getRuleContext(WildcardContext.class,0); + } + public TypeArgumentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeArgument; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgument(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgument(this); + } + } + + public final TypeArgumentContext typeArgument() throws RecognitionException { + TypeArgumentContext _localctx = new TypeArgumentContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_typeArgument); + try { + setState(652); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(650); + referenceType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(651); + wildcard(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WildcardContext extends ParserRuleContext { + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public WildcardBoundsContext wildcardBounds() { + return getRuleContext(WildcardBoundsContext.class,0); + } + public WildcardContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_wildcard; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWildcard(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWildcard(this); + } + } + + public final WildcardContext wildcard() throws RecognitionException { + WildcardContext _localctx = new WildcardContext(_ctx, getState()); + enterRule(_localctx, 48, RULE_wildcard); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(657); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(654); + annotation(); + } + } + setState(659); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(660); + match(QUESTION); + setState(662); + _la = _input.LA(1); + if (_la==EXTENDS || _la==SUPER) { + { + setState(661); + wildcardBounds(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WildcardBoundsContext extends ParserRuleContext { + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public WildcardBoundsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_wildcardBounds; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWildcardBounds(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWildcardBounds(this); + } + } + + public final WildcardBoundsContext wildcardBounds() throws RecognitionException { + WildcardBoundsContext _localctx = new WildcardBoundsContext(_ctx, getState()); + enterRule(_localctx, 50, RULE_wildcardBounds); + try { + setState(668); + switch (_input.LA(1)) { + case EXTENDS: + enterOuterAlt(_localctx, 1); + { + setState(664); + match(EXTENDS); + setState(665); + referenceType(); + } + break; + case SUPER: + enterOuterAlt(_localctx, 2); + { + setState(666); + match(SUPER); + setState(667); + referenceType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PackageNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public PackageNameContext packageName() { + return getRuleContext(PackageNameContext.class,0); + } + public PackageNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_packageName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageName(this); + } + } + + public final PackageNameContext packageName() throws RecognitionException { + return packageName(0); + } + + private PackageNameContext packageName(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + PackageNameContext _localctx = new PackageNameContext(_ctx, _parentState); + PackageNameContext _prevctx = _localctx; + int _startState = 52; + enterRecursionRule(_localctx, 52, RULE_packageName, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(671); + match(Identifier); + } + _ctx.stop = _input.LT(-1); + setState(678); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,32,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new PackageNameContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_packageName); + setState(673); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(674); + match(DOT); + setState(675); + match(Identifier); + } + } + } + setState(680); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,32,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class TypeNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public PackageOrTypeNameContext packageOrTypeName() { + return getRuleContext(PackageOrTypeNameContext.class,0); + } + public TypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeName(this); + } + } + + public final TypeNameContext typeName() throws RecognitionException { + TypeNameContext _localctx = new TypeNameContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_typeName); + try { + setState(686); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(681); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(682); + packageOrTypeName(0); + setState(683); + match(DOT); + setState(684); + match(Identifier); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PackageOrTypeNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public PackageOrTypeNameContext packageOrTypeName() { + return getRuleContext(PackageOrTypeNameContext.class,0); + } + public PackageOrTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_packageOrTypeName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageOrTypeName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageOrTypeName(this); + } + } + + public final PackageOrTypeNameContext packageOrTypeName() throws RecognitionException { + return packageOrTypeName(0); + } + + private PackageOrTypeNameContext packageOrTypeName(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + PackageOrTypeNameContext _localctx = new PackageOrTypeNameContext(_ctx, _parentState); + PackageOrTypeNameContext _prevctx = _localctx; + int _startState = 56; + enterRecursionRule(_localctx, 56, RULE_packageOrTypeName, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(689); + match(Identifier); + } + _ctx.stop = _input.LT(-1); + setState(696); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,34,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new PackageOrTypeNameContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_packageOrTypeName); + setState(691); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(692); + match(DOT); + setState(693); + match(Identifier); + } + } + } + setState(698); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,34,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ExpressionNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public AmbiguousNameContext ambiguousName() { + return getRuleContext(AmbiguousNameContext.class,0); + } + public ExpressionNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expressionName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpressionName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpressionName(this); + } + } + + public final ExpressionNameContext expressionName() throws RecognitionException { + ExpressionNameContext _localctx = new ExpressionNameContext(_ctx, getState()); + enterRule(_localctx, 58, RULE_expressionName); + try { + setState(704); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,35,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(699); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(700); + ambiguousName(0); + setState(701); + match(DOT); + setState(702); + match(Identifier); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public MethodNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodName(this); + } + } + + public final MethodNameContext methodName() throws RecognitionException { + MethodNameContext _localctx = new MethodNameContext(_ctx, getState()); + enterRule(_localctx, 60, RULE_methodName); + try { + enterOuterAlt(_localctx, 1); + { + setState(706); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AmbiguousNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public AmbiguousNameContext ambiguousName() { + return getRuleContext(AmbiguousNameContext.class,0); + } + public AmbiguousNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ambiguousName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAmbiguousName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAmbiguousName(this); + } + } + + public final AmbiguousNameContext ambiguousName() throws RecognitionException { + return ambiguousName(0); + } + + private AmbiguousNameContext ambiguousName(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + AmbiguousNameContext _localctx = new AmbiguousNameContext(_ctx, _parentState); + AmbiguousNameContext _prevctx = _localctx; + int _startState = 62; + enterRecursionRule(_localctx, 62, RULE_ambiguousName, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(709); + match(Identifier); + } + _ctx.stop = _input.LT(-1); + setState(716); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,36,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new AmbiguousNameContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_ambiguousName); + setState(711); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(712); + match(DOT); + setState(713); + match(Identifier); + } + } + } + setState(718); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,36,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class CompilationUnitContext extends ParserRuleContext { + public TerminalNode EOF() { return getToken(Java8Parser.EOF, 0); } + public PackageDeclarationContext packageDeclaration() { + return getRuleContext(PackageDeclarationContext.class,0); + } + public List importDeclaration() { + return getRuleContexts(ImportDeclarationContext.class); + } + public ImportDeclarationContext importDeclaration(int i) { + return getRuleContext(ImportDeclarationContext.class,i); + } + public List typeDeclaration() { + return getRuleContexts(TypeDeclarationContext.class); + } + public TypeDeclarationContext typeDeclaration(int i) { + return getRuleContext(TypeDeclarationContext.class,i); + } + public CompilationUnitContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_compilationUnit; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCompilationUnit(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCompilationUnit(this); + } + } + + public final CompilationUnitContext compilationUnit() throws RecognitionException { + CompilationUnitContext _localctx = new CompilationUnitContext(_ctx, getState()); + enterRule(_localctx, 64, RULE_compilationUnit); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(720); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,37,_ctx) ) { + case 1: + { + setState(719); + packageDeclaration(); + } + break; + } + setState(725); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==IMPORT) { + { + { + setState(722); + importDeclaration(); + } + } + setState(727); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(731); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << CLASS) | (1L << ENUM) | (1L << FINAL) | (1L << INTERFACE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP) | (1L << SEMI))) != 0) || _la==AT) { + { + { + setState(728); + typeDeclaration(); + } + } + setState(733); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(734); + match(EOF); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PackageDeclarationContext extends ParserRuleContext { + public List Identifier() { return getTokens(Java8Parser.Identifier); } + public TerminalNode Identifier(int i) { + return getToken(Java8Parser.Identifier, i); + } + public List packageModifier() { + return getRuleContexts(PackageModifierContext.class); + } + public PackageModifierContext packageModifier(int i) { + return getRuleContext(PackageModifierContext.class,i); + } + public PackageDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_packageDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageDeclaration(this); + } + } + + public final PackageDeclarationContext packageDeclaration() throws RecognitionException { + PackageDeclarationContext _localctx = new PackageDeclarationContext(_ctx, getState()); + enterRule(_localctx, 66, RULE_packageDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(739); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(736); + packageModifier(); + } + } + setState(741); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(742); + match(PACKAGE); + setState(743); + match(Identifier); + setState(748); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==DOT) { + { + { + setState(744); + match(DOT); + setState(745); + match(Identifier); + } + } + setState(750); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(751); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PackageModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public PackageModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_packageModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageModifier(this); + } + } + + public final PackageModifierContext packageModifier() throws RecognitionException { + PackageModifierContext _localctx = new PackageModifierContext(_ctx, getState()); + enterRule(_localctx, 68, RULE_packageModifier); + try { + enterOuterAlt(_localctx, 1); + { + setState(753); + annotation(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ImportDeclarationContext extends ParserRuleContext { + public SingleTypeImportDeclarationContext singleTypeImportDeclaration() { + return getRuleContext(SingleTypeImportDeclarationContext.class,0); + } + public TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() { + return getRuleContext(TypeImportOnDemandDeclarationContext.class,0); + } + public SingleStaticImportDeclarationContext singleStaticImportDeclaration() { + return getRuleContext(SingleStaticImportDeclarationContext.class,0); + } + public StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() { + return getRuleContext(StaticImportOnDemandDeclarationContext.class,0); + } + public ImportDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_importDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterImportDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitImportDeclaration(this); + } + } + + public final ImportDeclarationContext importDeclaration() throws RecognitionException { + ImportDeclarationContext _localctx = new ImportDeclarationContext(_ctx, getState()); + enterRule(_localctx, 70, RULE_importDeclaration); + try { + setState(759); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(755); + singleTypeImportDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(756); + typeImportOnDemandDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(757); + singleStaticImportDeclaration(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(758); + staticImportOnDemandDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SingleTypeImportDeclarationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public SingleTypeImportDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_singleTypeImportDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleTypeImportDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleTypeImportDeclaration(this); + } + } + + public final SingleTypeImportDeclarationContext singleTypeImportDeclaration() throws RecognitionException { + SingleTypeImportDeclarationContext _localctx = new SingleTypeImportDeclarationContext(_ctx, getState()); + enterRule(_localctx, 72, RULE_singleTypeImportDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(761); + match(IMPORT); + setState(762); + typeName(); + setState(763); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeImportOnDemandDeclarationContext extends ParserRuleContext { + public PackageOrTypeNameContext packageOrTypeName() { + return getRuleContext(PackageOrTypeNameContext.class,0); + } + public TypeImportOnDemandDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeImportOnDemandDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeImportOnDemandDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeImportOnDemandDeclaration(this); + } + } + + public final TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() throws RecognitionException { + TypeImportOnDemandDeclarationContext _localctx = new TypeImportOnDemandDeclarationContext(_ctx, getState()); + enterRule(_localctx, 74, RULE_typeImportOnDemandDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(765); + match(IMPORT); + setState(766); + packageOrTypeName(0); + setState(767); + match(DOT); + setState(768); + match(MUL); + setState(769); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SingleStaticImportDeclarationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public SingleStaticImportDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_singleStaticImportDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleStaticImportDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleStaticImportDeclaration(this); + } + } + + public final SingleStaticImportDeclarationContext singleStaticImportDeclaration() throws RecognitionException { + SingleStaticImportDeclarationContext _localctx = new SingleStaticImportDeclarationContext(_ctx, getState()); + enterRule(_localctx, 76, RULE_singleStaticImportDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(771); + match(IMPORT); + setState(772); + match(STATIC); + setState(773); + typeName(); + setState(774); + match(DOT); + setState(775); + match(Identifier); + setState(776); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StaticImportOnDemandDeclarationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public StaticImportOnDemandDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_staticImportOnDemandDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStaticImportOnDemandDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStaticImportOnDemandDeclaration(this); + } + } + + public final StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() throws RecognitionException { + StaticImportOnDemandDeclarationContext _localctx = new StaticImportOnDemandDeclarationContext(_ctx, getState()); + enterRule(_localctx, 78, RULE_staticImportOnDemandDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(778); + match(IMPORT); + setState(779); + match(STATIC); + setState(780); + typeName(); + setState(781); + match(DOT); + setState(782); + match(MUL); + setState(783); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeDeclarationContext extends ParserRuleContext { + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public InterfaceDeclarationContext interfaceDeclaration() { + return getRuleContext(InterfaceDeclarationContext.class,0); + } + public TypeDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeDeclaration(this); + } + } + + public final TypeDeclarationContext typeDeclaration() throws RecognitionException { + TypeDeclarationContext _localctx = new TypeDeclarationContext(_ctx, getState()); + enterRule(_localctx, 80, RULE_typeDeclaration); + try { + setState(788); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(785); + classDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(786); + interfaceDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(787); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassDeclarationContext extends ParserRuleContext { + public NormalClassDeclarationContext normalClassDeclaration() { + return getRuleContext(NormalClassDeclarationContext.class,0); + } + public EnumDeclarationContext enumDeclaration() { + return getRuleContext(EnumDeclarationContext.class,0); + } + public ClassDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassDeclaration(this); + } + } + + public final ClassDeclarationContext classDeclaration() throws RecognitionException { + ClassDeclarationContext _localctx = new ClassDeclarationContext(_ctx, getState()); + enterRule(_localctx, 82, RULE_classDeclaration); + try { + setState(792); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,44,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(790); + normalClassDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(791); + enumDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NormalClassDeclarationContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public List classModifier() { + return getRuleContexts(ClassModifierContext.class); + } + public ClassModifierContext classModifier(int i) { + return getRuleContext(ClassModifierContext.class,i); + } + public TypeParametersContext typeParameters() { + return getRuleContext(TypeParametersContext.class,0); + } + public SuperclassContext superclass() { + return getRuleContext(SuperclassContext.class,0); + } + public SuperinterfacesContext superinterfaces() { + return getRuleContext(SuperinterfacesContext.class,0); + } + public NormalClassDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_normalClassDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalClassDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalClassDeclaration(this); + } + } + + public final NormalClassDeclarationContext normalClassDeclaration() throws RecognitionException { + NormalClassDeclarationContext _localctx = new NormalClassDeclarationContext(_ctx, getState()); + enterRule(_localctx, 84, RULE_normalClassDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(797); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { + { + { + setState(794); + classModifier(); + } + } + setState(799); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(800); + match(CLASS); + setState(801); + match(Identifier); + setState(803); + _la = _input.LA(1); + if (_la==LT) { + { + setState(802); + typeParameters(); + } + } + + setState(806); + _la = _input.LA(1); + if (_la==EXTENDS) { + { + setState(805); + superclass(); + } + } + + setState(809); + _la = _input.LA(1); + if (_la==IMPLEMENTS) { + { + setState(808); + superinterfaces(); + } + } + + setState(811); + classBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public ClassModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassModifier(this); + } + } + + public final ClassModifierContext classModifier() throws RecognitionException { + ClassModifierContext _localctx = new ClassModifierContext(_ctx, getState()); + enterRule(_localctx, 86, RULE_classModifier); + try { + setState(821); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(813); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(814); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(815); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(816); + match(PRIVATE); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 5); + { + setState(817); + match(ABSTRACT); + } + break; + case STATIC: + enterOuterAlt(_localctx, 6); + { + setState(818); + match(STATIC); + } + break; + case FINAL: + enterOuterAlt(_localctx, 7); + { + setState(819); + match(FINAL); + } + break; + case STRICTFP: + enterOuterAlt(_localctx, 8); + { + setState(820); + match(STRICTFP); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeParametersContext extends ParserRuleContext { + public TypeParameterListContext typeParameterList() { + return getRuleContext(TypeParameterListContext.class,0); + } + public TypeParametersContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeParameters; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameters(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameters(this); + } + } + + public final TypeParametersContext typeParameters() throws RecognitionException { + TypeParametersContext _localctx = new TypeParametersContext(_ctx, getState()); + enterRule(_localctx, 88, RULE_typeParameters); + try { + enterOuterAlt(_localctx, 1); + { + setState(823); + match(LT); + setState(824); + typeParameterList(); + setState(825); + match(GT); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeParameterListContext extends ParserRuleContext { + public List typeParameter() { + return getRuleContexts(TypeParameterContext.class); + } + public TypeParameterContext typeParameter(int i) { + return getRuleContext(TypeParameterContext.class,i); + } + public TypeParameterListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeParameterList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameterList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameterList(this); + } + } + + public final TypeParameterListContext typeParameterList() throws RecognitionException { + TypeParameterListContext _localctx = new TypeParameterListContext(_ctx, getState()); + enterRule(_localctx, 90, RULE_typeParameterList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(827); + typeParameter(); + setState(832); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(828); + match(COMMA); + setState(829); + typeParameter(); + } + } + setState(834); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SuperclassContext extends ParserRuleContext { + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public SuperclassContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_superclass; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSuperclass(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSuperclass(this); + } + } + + public final SuperclassContext superclass() throws RecognitionException { + SuperclassContext _localctx = new SuperclassContext(_ctx, getState()); + enterRule(_localctx, 92, RULE_superclass); + try { + enterOuterAlt(_localctx, 1); + { + setState(835); + match(EXTENDS); + setState(836); + classType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SuperinterfacesContext extends ParserRuleContext { + public InterfaceTypeListContext interfaceTypeList() { + return getRuleContext(InterfaceTypeListContext.class,0); + } + public SuperinterfacesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_superinterfaces; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSuperinterfaces(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSuperinterfaces(this); + } + } + + public final SuperinterfacesContext superinterfaces() throws RecognitionException { + SuperinterfacesContext _localctx = new SuperinterfacesContext(_ctx, getState()); + enterRule(_localctx, 94, RULE_superinterfaces); + try { + enterOuterAlt(_localctx, 1); + { + setState(838); + match(IMPLEMENTS); + setState(839); + interfaceTypeList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceTypeListContext extends ParserRuleContext { + public List interfaceType() { + return getRuleContexts(InterfaceTypeContext.class); + } + public InterfaceTypeContext interfaceType(int i) { + return getRuleContext(InterfaceTypeContext.class,i); + } + public InterfaceTypeListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceTypeList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceTypeList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceTypeList(this); + } + } + + public final InterfaceTypeListContext interfaceTypeList() throws RecognitionException { + InterfaceTypeListContext _localctx = new InterfaceTypeListContext(_ctx, getState()); + enterRule(_localctx, 96, RULE_interfaceTypeList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(841); + interfaceType(); + setState(846); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(842); + match(COMMA); + setState(843); + interfaceType(); + } + } + setState(848); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassBodyContext extends ParserRuleContext { + public List classBodyDeclaration() { + return getRuleContexts(ClassBodyDeclarationContext.class); + } + public ClassBodyDeclarationContext classBodyDeclaration(int i) { + return getRuleContext(ClassBodyDeclarationContext.class,i); + } + public ClassBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassBody(this); + } + } + + public final ClassBodyContext classBody() throws RecognitionException { + ClassBodyContext _localctx = new ClassBodyContext(_ctx, getState()); + enterRule(_localctx, 98, RULE_classBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(849); + match(LBRACE); + setState(853); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { + { + { + setState(850); + classBodyDeclaration(); + } + } + setState(855); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(856); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassBodyDeclarationContext extends ParserRuleContext { + public ClassMemberDeclarationContext classMemberDeclaration() { + return getRuleContext(ClassMemberDeclarationContext.class,0); + } + public InstanceInitializerContext instanceInitializer() { + return getRuleContext(InstanceInitializerContext.class,0); + } + public StaticInitializerContext staticInitializer() { + return getRuleContext(StaticInitializerContext.class,0); + } + public ConstructorDeclarationContext constructorDeclaration() { + return getRuleContext(ConstructorDeclarationContext.class,0); + } + public ClassBodyDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classBodyDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassBodyDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassBodyDeclaration(this); + } + } + + public final ClassBodyDeclarationContext classBodyDeclaration() throws RecognitionException { + ClassBodyDeclarationContext _localctx = new ClassBodyDeclarationContext(_ctx, getState()); + enterRule(_localctx, 100, RULE_classBodyDeclaration); + try { + setState(862); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(858); + classMemberDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(859); + instanceInitializer(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(860); + staticInitializer(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(861); + constructorDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassMemberDeclarationContext extends ParserRuleContext { + public FieldDeclarationContext fieldDeclaration() { + return getRuleContext(FieldDeclarationContext.class,0); + } + public MethodDeclarationContext methodDeclaration() { + return getRuleContext(MethodDeclarationContext.class,0); + } + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public InterfaceDeclarationContext interfaceDeclaration() { + return getRuleContext(InterfaceDeclarationContext.class,0); + } + public ClassMemberDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classMemberDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassMemberDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassMemberDeclaration(this); + } + } + + public final ClassMemberDeclarationContext classMemberDeclaration() throws RecognitionException { + ClassMemberDeclarationContext _localctx = new ClassMemberDeclarationContext(_ctx, getState()); + enterRule(_localctx, 102, RULE_classMemberDeclaration); + try { + setState(869); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(864); + fieldDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(865); + methodDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(866); + classDeclaration(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(867); + interfaceDeclaration(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(868); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldDeclarationContext extends ParserRuleContext { + public VariableDeclaratorListContext variableDeclaratorList() { + return getRuleContext(VariableDeclaratorListContext.class,0); + } + public List fieldModifier() { + return getRuleContexts(FieldModifierContext.class); + } + public FieldModifierContext fieldModifier(int i) { + return getRuleContext(FieldModifierContext.class,i); + } + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public FieldDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldDeclaration(this); + } + } + + public final FieldDeclarationContext fieldDeclaration() throws RecognitionException { + FieldDeclarationContext _localctx = new FieldDeclarationContext(_ctx, getState()); + enterRule(_localctx, 104, RULE_fieldDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(874); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << TRANSIENT) | (1L << VOLATILE))) != 0) || _la==AT) { + { + { + setState(871); + fieldModifier(); + } + } + setState(876); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(878); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,56,_ctx) ) { + case 1: + { + setState(877); + unannType(); + } + break; + } + setState(880); + variableDeclaratorList(); + setState(881); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public FieldModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldModifier(this); + } + } + + public final FieldModifierContext fieldModifier() throws RecognitionException { + FieldModifierContext _localctx = new FieldModifierContext(_ctx, getState()); + enterRule(_localctx, 106, RULE_fieldModifier); + try { + setState(891); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(883); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(884); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(885); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(886); + match(PRIVATE); + } + break; + case STATIC: + enterOuterAlt(_localctx, 5); + { + setState(887); + match(STATIC); + } + break; + case FINAL: + enterOuterAlt(_localctx, 6); + { + setState(888); + match(FINAL); + } + break; + case TRANSIENT: + enterOuterAlt(_localctx, 7); + { + setState(889); + match(TRANSIENT); + } + break; + case VOLATILE: + enterOuterAlt(_localctx, 8); + { + setState(890); + match(VOLATILE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableDeclaratorListContext extends ParserRuleContext { + public List variableDeclarator() { + return getRuleContexts(VariableDeclaratorContext.class); + } + public VariableDeclaratorContext variableDeclarator(int i) { + return getRuleContext(VariableDeclaratorContext.class,i); + } + public VariableDeclaratorListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableDeclaratorList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclaratorList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclaratorList(this); + } + } + + public final VariableDeclaratorListContext variableDeclaratorList() throws RecognitionException { + VariableDeclaratorListContext _localctx = new VariableDeclaratorListContext(_ctx, getState()); + enterRule(_localctx, 108, RULE_variableDeclaratorList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(893); + variableDeclarator(); + setState(898); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(894); + match(COMMA); + setState(895); + variableDeclarator(); + } + } + setState(900); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableDeclaratorContext extends ParserRuleContext { + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public VariableInitializerContext variableInitializer() { + return getRuleContext(VariableInitializerContext.class,0); + } + public VariableDeclaratorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableDeclarator; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclarator(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclarator(this); + } + } + + public final VariableDeclaratorContext variableDeclarator() throws RecognitionException { + VariableDeclaratorContext _localctx = new VariableDeclaratorContext(_ctx, getState()); + enterRule(_localctx, 110, RULE_variableDeclarator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(901); + variableDeclaratorId(); + setState(904); + _la = _input.LA(1); + if (_la==ASSIGN) { + { + setState(902); + match(ASSIGN); + setState(903); + variableInitializer(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableDeclaratorIdContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public VariableDeclaratorIdContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableDeclaratorId; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclaratorId(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclaratorId(this); + } + } + + public final VariableDeclaratorIdContext variableDeclaratorId() throws RecognitionException { + VariableDeclaratorIdContext _localctx = new VariableDeclaratorIdContext(_ctx, getState()); + enterRule(_localctx, 112, RULE_variableDeclaratorId); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(906); + match(Identifier); + setState(908); + _la = _input.LA(1); + if (_la==LBRACK || _la==AT) { + { + setState(907); + dims(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableInitializerContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ArrayInitializerContext arrayInitializer() { + return getRuleContext(ArrayInitializerContext.class,0); + } + public VariableInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableInitializer(this); + } + } + + public final VariableInitializerContext variableInitializer() throws RecognitionException { + VariableInitializerContext _localctx = new VariableInitializerContext(_ctx, getState()); + enterRule(_localctx, 114, RULE_variableInitializer); + try { + setState(912); + switch (_input.LA(1)) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case NEW: + case SHORT: + case SUPER: + case THIS: + case VOID: + case IntegerLiteral: + case FloatingPointLiteral: + case BooleanLiteral: + case CharacterLiteral: + case StringLiteral: + case NullLiteral: + case LPAREN: + case BANG: + case TILDE: + case INC: + case DEC: + case ADD: + case SUB: + case Identifier: + case AT: + enterOuterAlt(_localctx, 1); + { + setState(910); + expression(); + } + break; + case LBRACE: + enterOuterAlt(_localctx, 2); + { + setState(911); + arrayInitializer(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannTypeContext extends ParserRuleContext { + public UnannPrimitiveTypeContext unannPrimitiveType() { + return getRuleContext(UnannPrimitiveTypeContext.class,0); + } + public UnannReferenceTypeContext unannReferenceType() { + return getRuleContext(UnannReferenceTypeContext.class,0); + } + public UnannTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannType(this); + } + } + + public final UnannTypeContext unannType() throws RecognitionException { + UnannTypeContext _localctx = new UnannTypeContext(_ctx, getState()); + enterRule(_localctx, 116, RULE_unannType); + try { + setState(916); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,62,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(914); + unannPrimitiveType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(915); + unannReferenceType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannPrimitiveTypeContext extends ParserRuleContext { + public NumericTypeContext numericType() { + return getRuleContext(NumericTypeContext.class,0); + } + public UnannPrimitiveTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannPrimitiveType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannPrimitiveType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannPrimitiveType(this); + } + } + + public final UnannPrimitiveTypeContext unannPrimitiveType() throws RecognitionException { + UnannPrimitiveTypeContext _localctx = new UnannPrimitiveTypeContext(_ctx, getState()); + enterRule(_localctx, 118, RULE_unannPrimitiveType); + try { + setState(920); + switch (_input.LA(1)) { + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case SHORT: + enterOuterAlt(_localctx, 1); + { + setState(918); + numericType(); + } + break; + case BOOLEAN: + enterOuterAlt(_localctx, 2); + { + setState(919); + match(BOOLEAN); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannReferenceTypeContext extends ParserRuleContext { + public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { + return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); + } + public UnannTypeVariableContext unannTypeVariable() { + return getRuleContext(UnannTypeVariableContext.class,0); + } + public UnannArrayTypeContext unannArrayType() { + return getRuleContext(UnannArrayTypeContext.class,0); + } + public UnannReferenceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannReferenceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannReferenceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannReferenceType(this); + } + } + + public final UnannReferenceTypeContext unannReferenceType() throws RecognitionException { + UnannReferenceTypeContext _localctx = new UnannReferenceTypeContext(_ctx, getState()); + enterRule(_localctx, 120, RULE_unannReferenceType); + try { + setState(925); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(922); + unannClassOrInterfaceType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(923); + unannTypeVariable(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(924); + unannArrayType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannClassOrInterfaceTypeContext extends ParserRuleContext { + public UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() { + return getRuleContext(UnannClassType_lfno_unannClassOrInterfaceTypeContext.class,0); + } + public UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() { + return getRuleContext(UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext.class,0); + } + public List unannClassType_lf_unannClassOrInterfaceType() { + return getRuleContexts(UnannClassType_lf_unannClassOrInterfaceTypeContext.class); + } + public UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType(int i) { + return getRuleContext(UnannClassType_lf_unannClassOrInterfaceTypeContext.class,i); + } + public List unannInterfaceType_lf_unannClassOrInterfaceType() { + return getRuleContexts(UnannInterfaceType_lf_unannClassOrInterfaceTypeContext.class); + } + public UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType(int i) { + return getRuleContext(UnannInterfaceType_lf_unannClassOrInterfaceTypeContext.class,i); + } + public UnannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassOrInterfaceType(this); + } + } + + public final UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() throws RecognitionException { + UnannClassOrInterfaceTypeContext _localctx = new UnannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 122, RULE_unannClassOrInterfaceType); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(929); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,65,_ctx) ) { + case 1: + { + setState(927); + unannClassType_lfno_unannClassOrInterfaceType(); + } + break; + case 2: + { + setState(928); + unannInterfaceType_lfno_unannClassOrInterfaceType(); + } + break; + } + setState(935); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,67,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + setState(933); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,66,_ctx) ) { + case 1: + { + setState(931); + unannClassType_lf_unannClassOrInterfaceType(); + } + break; + case 2: + { + setState(932); + unannInterfaceType_lf_unannClassOrInterfaceType(); + } + break; + } + } + } + setState(937); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,67,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannClassTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { + return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public UnannClassTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannClassType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType(this); + } + } + + public final UnannClassTypeContext unannClassType() throws RecognitionException { + UnannClassTypeContext _localctx = new UnannClassTypeContext(_ctx, getState()); + enterRule(_localctx, 124, RULE_unannClassType); + int _la; + try { + setState(954); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,71,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(938); + match(Identifier); + setState(940); + _la = _input.LA(1); + if (_la==LT) { + { + setState(939); + typeArguments(); + } + } + + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(942); + unannClassOrInterfaceType(); + setState(943); + match(DOT); + setState(947); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(944); + annotation(); + } + } + setState(949); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(950); + match(Identifier); + setState(952); + _la = _input.LA(1); + if (_la==LT) { + { + setState(951); + typeArguments(); + } + } + + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannClassType_lf_unannClassOrInterfaceTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public UnannClassType_lf_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannClassType_lf_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType_lf_unannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType_lf_unannClassOrInterfaceType(this); + } + } + + public final UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() throws RecognitionException { + UnannClassType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 126, RULE_unannClassType_lf_unannClassOrInterfaceType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(956); + match(DOT); + setState(960); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(957); + annotation(); + } + } + setState(962); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(963); + match(Identifier); + setState(965); + _la = _input.LA(1); + if (_la==LT) { + { + setState(964); + typeArguments(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannClassType_lfno_unannClassOrInterfaceTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public UnannClassType_lfno_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannClassType_lfno_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType_lfno_unannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType_lfno_unannClassOrInterfaceType(this); + } + } + + public final UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() throws RecognitionException { + UnannClassType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 128, RULE_unannClassType_lfno_unannClassOrInterfaceType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(967); + match(Identifier); + setState(969); + _la = _input.LA(1); + if (_la==LT) { + { + setState(968); + typeArguments(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannInterfaceTypeContext extends ParserRuleContext { + public UnannClassTypeContext unannClassType() { + return getRuleContext(UnannClassTypeContext.class,0); + } + public UnannInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType(this); + } + } + + public final UnannInterfaceTypeContext unannInterfaceType() throws RecognitionException { + UnannInterfaceTypeContext _localctx = new UnannInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 130, RULE_unannInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(971); + unannClassType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannInterfaceType_lf_unannClassOrInterfaceTypeContext extends ParserRuleContext { + public UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() { + return getRuleContext(UnannClassType_lf_unannClassOrInterfaceTypeContext.class,0); + } + public UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannInterfaceType_lf_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType_lf_unannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType_lf_unannClassOrInterfaceType(this); + } + } + + public final UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType() throws RecognitionException { + UnannInterfaceType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 132, RULE_unannInterfaceType_lf_unannClassOrInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(973); + unannClassType_lf_unannClassOrInterfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext extends ParserRuleContext { + public UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() { + return getRuleContext(UnannClassType_lfno_unannClassOrInterfaceTypeContext.class,0); + } + public UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannInterfaceType_lfno_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType_lfno_unannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType_lfno_unannClassOrInterfaceType(this); + } + } + + public final UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() throws RecognitionException { + UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 134, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(975); + unannClassType_lfno_unannClassOrInterfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannTypeVariableContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public UnannTypeVariableContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannTypeVariable; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannTypeVariable(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannTypeVariable(this); + } + } + + public final UnannTypeVariableContext unannTypeVariable() throws RecognitionException { + UnannTypeVariableContext _localctx = new UnannTypeVariableContext(_ctx, getState()); + enterRule(_localctx, 136, RULE_unannTypeVariable); + try { + enterOuterAlt(_localctx, 1); + { + setState(977); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannArrayTypeContext extends ParserRuleContext { + public UnannPrimitiveTypeContext unannPrimitiveType() { + return getRuleContext(UnannPrimitiveTypeContext.class,0); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { + return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); + } + public UnannTypeVariableContext unannTypeVariable() { + return getRuleContext(UnannTypeVariableContext.class,0); + } + public UnannArrayTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannArrayType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannArrayType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannArrayType(this); + } + } + + public final UnannArrayTypeContext unannArrayType() throws RecognitionException { + UnannArrayTypeContext _localctx = new UnannArrayTypeContext(_ctx, getState()); + enterRule(_localctx, 138, RULE_unannArrayType); + try { + setState(988); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(979); + unannPrimitiveType(); + setState(980); + dims(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(982); + unannClassOrInterfaceType(); + setState(983); + dims(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(985); + unannTypeVariable(); + setState(986); + dims(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodDeclarationContext extends ParserRuleContext { + public MethodHeaderContext methodHeader() { + return getRuleContext(MethodHeaderContext.class,0); + } + public MethodBodyContext methodBody() { + return getRuleContext(MethodBodyContext.class,0); + } + public List methodModifier() { + return getRuleContexts(MethodModifierContext.class); + } + public MethodModifierContext methodModifier(int i) { + return getRuleContext(MethodModifierContext.class,i); + } + public MethodDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodDeclaration(this); + } + } + + public final MethodDeclarationContext methodDeclaration() throws RecognitionException { + MethodDeclarationContext _localctx = new MethodDeclarationContext(_ctx, getState()); + enterRule(_localctx, 140, RULE_methodDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(993); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED))) != 0) || _la==AT) { + { + { + setState(990); + methodModifier(); + } + } + setState(995); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(996); + methodHeader(); + setState(997); + methodBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public MethodModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodModifier(this); + } + } + + public final MethodModifierContext methodModifier() throws RecognitionException { + MethodModifierContext _localctx = new MethodModifierContext(_ctx, getState()); + enterRule(_localctx, 142, RULE_methodModifier); + try { + setState(1009); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(999); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1000); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(1001); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(1002); + match(PRIVATE); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 5); + { + setState(1003); + match(ABSTRACT); + } + break; + case STATIC: + enterOuterAlt(_localctx, 6); + { + setState(1004); + match(STATIC); + } + break; + case FINAL: + enterOuterAlt(_localctx, 7); + { + setState(1005); + match(FINAL); + } + break; + case SYNCHRONIZED: + enterOuterAlt(_localctx, 8); + { + setState(1006); + match(SYNCHRONIZED); + } + break; + case NATIVE: + enterOuterAlt(_localctx, 9); + { + setState(1007); + match(NATIVE); + } + break; + case STRICTFP: + enterOuterAlt(_localctx, 10); + { + setState(1008); + match(STRICTFP); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodHeaderContext extends ParserRuleContext { + public ResultContext result() { + return getRuleContext(ResultContext.class,0); + } + public MethodDeclaratorContext methodDeclarator() { + return getRuleContext(MethodDeclaratorContext.class,0); + } + public Throws_Context throws_() { + return getRuleContext(Throws_Context.class,0); + } + public TypeParametersContext typeParameters() { + return getRuleContext(TypeParametersContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public MethodHeaderContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodHeader; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodHeader(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodHeader(this); + } + } + + public final MethodHeaderContext methodHeader() throws RecognitionException { + MethodHeaderContext _localctx = new MethodHeaderContext(_ctx, getState()); + enterRule(_localctx, 144, RULE_methodHeader); + int _la; + try { + setState(1028); + switch (_input.LA(1)) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case SHORT: + case VOID: + case Identifier: + enterOuterAlt(_localctx, 1); + { + setState(1011); + result(); + setState(1012); + methodDeclarator(); + setState(1014); + _la = _input.LA(1); + if (_la==THROWS) { + { + setState(1013); + throws_(); + } + } + + } + break; + case LT: + enterOuterAlt(_localctx, 2); + { + setState(1016); + typeParameters(); + setState(1020); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(1017); + annotation(); + } + } + setState(1022); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1023); + result(); + setState(1024); + methodDeclarator(); + setState(1026); + _la = _input.LA(1); + if (_la==THROWS) { + { + setState(1025); + throws_(); + } + } + + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResultContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public ResultContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_result; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResult(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResult(this); + } + } + + public final ResultContext result() throws RecognitionException { + ResultContext _localctx = new ResultContext(_ctx, getState()); + enterRule(_localctx, 146, RULE_result); + try { + setState(1032); + switch (_input.LA(1)) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case SHORT: + case Identifier: + enterOuterAlt(_localctx, 1); + { + setState(1030); + unannType(); + } + break; + case VOID: + enterOuterAlt(_localctx, 2); + { + setState(1031); + match(VOID); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodDeclaratorContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public FormalParameterListContext formalParameterList() { + return getRuleContext(FormalParameterListContext.class,0); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public MethodDeclaratorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodDeclarator; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodDeclarator(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodDeclarator(this); + } + } + + public final MethodDeclaratorContext methodDeclarator() throws RecognitionException { + MethodDeclaratorContext _localctx = new MethodDeclaratorContext(_ctx, getState()); + enterRule(_localctx, 148, RULE_methodDeclarator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1034); + match(Identifier); + setState(1035); + match(LPAREN); + setState(1037); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { + { + setState(1036); + formalParameterList(); + } + } + + setState(1039); + match(RPAREN); + setState(1041); + _la = _input.LA(1); + if (_la==LBRACK || _la==AT) { + { + setState(1040); + dims(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FormalParameterListContext extends ParserRuleContext { + public FormalParametersContext formalParameters() { + return getRuleContext(FormalParametersContext.class,0); + } + public LastFormalParameterContext lastFormalParameter() { + return getRuleContext(LastFormalParameterContext.class,0); + } + public FormalParameterListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_formalParameterList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameterList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameterList(this); + } + } + + public final FormalParameterListContext formalParameterList() throws RecognitionException { + FormalParameterListContext _localctx = new FormalParameterListContext(_ctx, getState()); + enterRule(_localctx, 150, RULE_formalParameterList); + try { + setState(1048); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1043); + formalParameters(); + setState(1044); + match(COMMA); + setState(1045); + lastFormalParameter(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1047); + lastFormalParameter(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FormalParametersContext extends ParserRuleContext { + public List formalParameter() { + return getRuleContexts(FormalParameterContext.class); + } + public FormalParameterContext formalParameter(int i) { + return getRuleContext(FormalParameterContext.class,i); + } + public ReceiverParameterContext receiverParameter() { + return getRuleContext(ReceiverParameterContext.class,0); + } + public FormalParametersContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_formalParameters; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameters(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameters(this); + } + } + + public final FormalParametersContext formalParameters() throws RecognitionException { + FormalParametersContext _localctx = new FormalParametersContext(_ctx, getState()); + enterRule(_localctx, 152, RULE_formalParameters); + try { + int _alt; + setState(1066); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,88,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1050); + formalParameter(); + setState(1055); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,86,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1051); + match(COMMA); + setState(1052); + formalParameter(); + } + } + } + setState(1057); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,86,_ctx); + } + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1058); + receiverParameter(); + setState(1063); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,87,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1059); + match(COMMA); + setState(1060); + formalParameter(); + } + } + } + setState(1065); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,87,_ctx); + } + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FormalParameterContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public FormalParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_formalParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameter(this); + } + } + + public final FormalParameterContext formalParameter() throws RecognitionException { + FormalParameterContext _localctx = new FormalParameterContext(_ctx, getState()); + enterRule(_localctx, 154, RULE_formalParameter); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1071); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1068); + variableModifier(); + } + } + setState(1073); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1074); + unannType(); + setState(1075); + variableDeclaratorId(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public VariableModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableModifier(this); + } + } + + public final VariableModifierContext variableModifier() throws RecognitionException { + VariableModifierContext _localctx = new VariableModifierContext(_ctx, getState()); + enterRule(_localctx, 156, RULE_variableModifier); + try { + setState(1079); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1077); + annotation(); + } + break; + case FINAL: + enterOuterAlt(_localctx, 2); + { + setState(1078); + match(FINAL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LastFormalParameterContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public FormalParameterContext formalParameter() { + return getRuleContext(FormalParameterContext.class,0); + } + public LastFormalParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_lastFormalParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLastFormalParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLastFormalParameter(this); + } + } + + public final LastFormalParameterContext lastFormalParameter() throws RecognitionException { + LastFormalParameterContext _localctx = new LastFormalParameterContext(_ctx, getState()); + enterRule(_localctx, 158, RULE_lastFormalParameter); + int _la; + try { + setState(1098); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1084); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1081); + variableModifier(); + } + } + setState(1086); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1087); + unannType(); + setState(1091); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(1088); + annotation(); + } + } + setState(1093); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1094); + match(ELLIPSIS); + setState(1095); + variableDeclaratorId(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1097); + formalParameter(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReceiverParameterContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public ReceiverParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_receiverParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReceiverParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReceiverParameter(this); + } + } + + public final ReceiverParameterContext receiverParameter() throws RecognitionException { + ReceiverParameterContext _localctx = new ReceiverParameterContext(_ctx, getState()); + enterRule(_localctx, 160, RULE_receiverParameter); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1103); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(1100); + annotation(); + } + } + setState(1105); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1106); + unannType(); + setState(1109); + _la = _input.LA(1); + if (_la==Identifier) { + { + setState(1107); + match(Identifier); + setState(1108); + match(DOT); + } + } + + setState(1111); + match(THIS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class Throws_Context extends ParserRuleContext { + public ExceptionTypeListContext exceptionTypeList() { + return getRuleContext(ExceptionTypeListContext.class,0); + } + public Throws_Context(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_throws_; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterThrows_(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitThrows_(this); + } + } + + public final Throws_Context throws_() throws RecognitionException { + Throws_Context _localctx = new Throws_Context(_ctx, getState()); + enterRule(_localctx, 162, RULE_throws_); + try { + enterOuterAlt(_localctx, 1); + { + setState(1113); + match(THROWS); + setState(1114); + exceptionTypeList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExceptionTypeListContext extends ParserRuleContext { + public List exceptionType() { + return getRuleContexts(ExceptionTypeContext.class); + } + public ExceptionTypeContext exceptionType(int i) { + return getRuleContext(ExceptionTypeContext.class,i); + } + public ExceptionTypeListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_exceptionTypeList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExceptionTypeList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExceptionTypeList(this); + } + } + + public final ExceptionTypeListContext exceptionTypeList() throws RecognitionException { + ExceptionTypeListContext _localctx = new ExceptionTypeListContext(_ctx, getState()); + enterRule(_localctx, 164, RULE_exceptionTypeList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1116); + exceptionType(); + setState(1121); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(1117); + match(COMMA); + setState(1118); + exceptionType(); + } + } + setState(1123); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExceptionTypeContext extends ParserRuleContext { + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public TypeVariableContext typeVariable() { + return getRuleContext(TypeVariableContext.class,0); + } + public ExceptionTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_exceptionType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExceptionType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExceptionType(this); + } + } + + public final ExceptionTypeContext exceptionType() throws RecognitionException { + ExceptionTypeContext _localctx = new ExceptionTypeContext(_ctx, getState()); + enterRule(_localctx, 166, RULE_exceptionType); + try { + setState(1126); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,97,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1124); + classType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1125); + typeVariable(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodBodyContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public MethodBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodBody(this); + } + } + + public final MethodBodyContext methodBody() throws RecognitionException { + MethodBodyContext _localctx = new MethodBodyContext(_ctx, getState()); + enterRule(_localctx, 168, RULE_methodBody); + try { + setState(1130); + switch (_input.LA(1)) { + case LBRACE: + enterOuterAlt(_localctx, 1); + { + setState(1128); + block(); + } + break; + case SEMI: + enterOuterAlt(_localctx, 2); + { + setState(1129); + match(SEMI); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InstanceInitializerContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public InstanceInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_instanceInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInstanceInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInstanceInitializer(this); + } + } + + public final InstanceInitializerContext instanceInitializer() throws RecognitionException { + InstanceInitializerContext _localctx = new InstanceInitializerContext(_ctx, getState()); + enterRule(_localctx, 170, RULE_instanceInitializer); + try { + enterOuterAlt(_localctx, 1); + { + setState(1132); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StaticInitializerContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public StaticInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_staticInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStaticInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStaticInitializer(this); + } + } + + public final StaticInitializerContext staticInitializer() throws RecognitionException { + StaticInitializerContext _localctx = new StaticInitializerContext(_ctx, getState()); + enterRule(_localctx, 172, RULE_staticInitializer); + try { + enterOuterAlt(_localctx, 1); + { + setState(1134); + match(STATIC); + setState(1135); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstructorDeclarationContext extends ParserRuleContext { + public ConstructorDeclaratorContext constructorDeclarator() { + return getRuleContext(ConstructorDeclaratorContext.class,0); + } + public ConstructorBodyContext constructorBody() { + return getRuleContext(ConstructorBodyContext.class,0); + } + public List constructorModifier() { + return getRuleContexts(ConstructorModifierContext.class); + } + public ConstructorModifierContext constructorModifier(int i) { + return getRuleContext(ConstructorModifierContext.class,i); + } + public Throws_Context throws_() { + return getRuleContext(Throws_Context.class,0); + } + public ConstructorDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constructorDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorDeclaration(this); + } + } + + public final ConstructorDeclarationContext constructorDeclaration() throws RecognitionException { + ConstructorDeclarationContext _localctx = new ConstructorDeclarationContext(_ctx, getState()); + enterRule(_localctx, 174, RULE_constructorDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1140); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC))) != 0) || _la==AT) { + { + { + setState(1137); + constructorModifier(); + } + } + setState(1142); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1143); + constructorDeclarator(); + setState(1145); + _la = _input.LA(1); + if (_la==THROWS) { + { + setState(1144); + throws_(); + } + } + + setState(1147); + constructorBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstructorModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public ConstructorModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constructorModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorModifier(this); + } + } + + public final ConstructorModifierContext constructorModifier() throws RecognitionException { + ConstructorModifierContext _localctx = new ConstructorModifierContext(_ctx, getState()); + enterRule(_localctx, 176, RULE_constructorModifier); + try { + setState(1153); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1149); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1150); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(1151); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(1152); + match(PRIVATE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstructorDeclaratorContext extends ParserRuleContext { + public SimpleTypeNameContext simpleTypeName() { + return getRuleContext(SimpleTypeNameContext.class,0); + } + public TypeParametersContext typeParameters() { + return getRuleContext(TypeParametersContext.class,0); + } + public FormalParameterListContext formalParameterList() { + return getRuleContext(FormalParameterListContext.class,0); + } + public ConstructorDeclaratorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constructorDeclarator; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorDeclarator(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorDeclarator(this); + } + } + + public final ConstructorDeclaratorContext constructorDeclarator() throws RecognitionException { + ConstructorDeclaratorContext _localctx = new ConstructorDeclaratorContext(_ctx, getState()); + enterRule(_localctx, 178, RULE_constructorDeclarator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1156); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1155); + typeParameters(); + } + } + + setState(1158); + simpleTypeName(); + setState(1159); + match(LPAREN); + setState(1161); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { + { + setState(1160); + formalParameterList(); + } + } + + setState(1163); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SimpleTypeNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public SimpleTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_simpleTypeName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSimpleTypeName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSimpleTypeName(this); + } + } + + public final SimpleTypeNameContext simpleTypeName() throws RecognitionException { + SimpleTypeNameContext _localctx = new SimpleTypeNameContext(_ctx, getState()); + enterRule(_localctx, 180, RULE_simpleTypeName); + try { + enterOuterAlt(_localctx, 1); + { + setState(1165); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstructorBodyContext extends ParserRuleContext { + public ExplicitConstructorInvocationContext explicitConstructorInvocation() { + return getRuleContext(ExplicitConstructorInvocationContext.class,0); + } + public BlockStatementsContext blockStatements() { + return getRuleContext(BlockStatementsContext.class,0); + } + public ConstructorBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constructorBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorBody(this); + } + } + + public final ConstructorBodyContext constructorBody() throws RecognitionException { + ConstructorBodyContext _localctx = new ConstructorBodyContext(_ctx, getState()); + enterRule(_localctx, 182, RULE_constructorBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1167); + match(LBRACE); + setState(1169); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,104,_ctx) ) { + case 1: + { + setState(1168); + explicitConstructorInvocation(); + } + break; + } + setState(1172); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1171); + blockStatements(); + } + } + + setState(1174); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExplicitConstructorInvocationContext extends ParserRuleContext { + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public ExplicitConstructorInvocationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_explicitConstructorInvocation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExplicitConstructorInvocation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExplicitConstructorInvocation(this); + } + } + + public final ExplicitConstructorInvocationContext explicitConstructorInvocation() throws RecognitionException { + ExplicitConstructorInvocationContext _localctx = new ExplicitConstructorInvocationContext(_ctx, getState()); + enterRule(_localctx, 184, RULE_explicitConstructorInvocation); + int _la; + try { + setState(1222); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,114,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1177); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1176); + typeArguments(); + } + } + + setState(1179); + match(THIS); + setState(1180); + match(LPAREN); + setState(1182); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1181); + argumentList(); + } + } + + setState(1184); + match(RPAREN); + setState(1185); + match(SEMI); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1187); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1186); + typeArguments(); + } + } + + setState(1189); + match(SUPER); + setState(1190); + match(LPAREN); + setState(1192); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1191); + argumentList(); + } + } + + setState(1194); + match(RPAREN); + setState(1195); + match(SEMI); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1196); + expressionName(); + setState(1197); + match(DOT); + setState(1199); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1198); + typeArguments(); + } + } + + setState(1201); + match(SUPER); + setState(1202); + match(LPAREN); + setState(1204); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1203); + argumentList(); + } + } + + setState(1206); + match(RPAREN); + setState(1207); + match(SEMI); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1209); + primary(); + setState(1210); + match(DOT); + setState(1212); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1211); + typeArguments(); + } + } + + setState(1214); + match(SUPER); + setState(1215); + match(LPAREN); + setState(1217); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1216); + argumentList(); + } + } + + setState(1219); + match(RPAREN); + setState(1220); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumDeclarationContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public EnumBodyContext enumBody() { + return getRuleContext(EnumBodyContext.class,0); + } + public List classModifier() { + return getRuleContexts(ClassModifierContext.class); + } + public ClassModifierContext classModifier(int i) { + return getRuleContext(ClassModifierContext.class,i); + } + public SuperinterfacesContext superinterfaces() { + return getRuleContext(SuperinterfacesContext.class,0); + } + public EnumDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumDeclaration(this); + } + } + + public final EnumDeclarationContext enumDeclaration() throws RecognitionException { + EnumDeclarationContext _localctx = new EnumDeclarationContext(_ctx, getState()); + enterRule(_localctx, 186, RULE_enumDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1227); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { + { + { + setState(1224); + classModifier(); + } + } + setState(1229); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1230); + match(ENUM); + setState(1231); + match(Identifier); + setState(1233); + _la = _input.LA(1); + if (_la==IMPLEMENTS) { + { + setState(1232); + superinterfaces(); + } + } + + setState(1235); + enumBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumBodyContext extends ParserRuleContext { + public EnumConstantListContext enumConstantList() { + return getRuleContext(EnumConstantListContext.class,0); + } + public EnumBodyDeclarationsContext enumBodyDeclarations() { + return getRuleContext(EnumBodyDeclarationsContext.class,0); + } + public EnumBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumBody(this); + } + } + + public final EnumBodyContext enumBody() throws RecognitionException { + EnumBodyContext _localctx = new EnumBodyContext(_ctx, getState()); + enterRule(_localctx, 188, RULE_enumBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1237); + match(LBRACE); + setState(1239); + _la = _input.LA(1); + if (_la==Identifier || _la==AT) { + { + setState(1238); + enumConstantList(); + } + } + + setState(1242); + _la = _input.LA(1); + if (_la==COMMA) { + { + setState(1241); + match(COMMA); + } + } + + setState(1245); + _la = _input.LA(1); + if (_la==SEMI) { + { + setState(1244); + enumBodyDeclarations(); + } + } + + setState(1247); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumConstantListContext extends ParserRuleContext { + public List enumConstant() { + return getRuleContexts(EnumConstantContext.class); + } + public EnumConstantContext enumConstant(int i) { + return getRuleContext(EnumConstantContext.class,i); + } + public EnumConstantListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumConstantList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantList(this); + } + } + + public final EnumConstantListContext enumConstantList() throws RecognitionException { + EnumConstantListContext _localctx = new EnumConstantListContext(_ctx, getState()); + enterRule(_localctx, 190, RULE_enumConstantList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1249); + enumConstant(); + setState(1254); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,120,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1250); + match(COMMA); + setState(1251); + enumConstant(); + } + } + } + setState(1256); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,120,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumConstantContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List enumConstantModifier() { + return getRuleContexts(EnumConstantModifierContext.class); + } + public EnumConstantModifierContext enumConstantModifier(int i) { + return getRuleContext(EnumConstantModifierContext.class,i); + } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public EnumConstantContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumConstant; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstant(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstant(this); + } + } + + public final EnumConstantContext enumConstant() throws RecognitionException { + EnumConstantContext _localctx = new EnumConstantContext(_ctx, getState()); + enterRule(_localctx, 192, RULE_enumConstant); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1260); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(1257); + enumConstantModifier(); + } + } + setState(1262); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1263); + match(Identifier); + setState(1269); + _la = _input.LA(1); + if (_la==LPAREN) { + { + setState(1264); + match(LPAREN); + setState(1266); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1265); + argumentList(); + } + } + + setState(1268); + match(RPAREN); + } + } + + setState(1272); + _la = _input.LA(1); + if (_la==LBRACE) { + { + setState(1271); + classBody(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumConstantModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public EnumConstantModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumConstantModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantModifier(this); + } + } + + public final EnumConstantModifierContext enumConstantModifier() throws RecognitionException { + EnumConstantModifierContext _localctx = new EnumConstantModifierContext(_ctx, getState()); + enterRule(_localctx, 194, RULE_enumConstantModifier); + try { + enterOuterAlt(_localctx, 1); + { + setState(1274); + annotation(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumBodyDeclarationsContext extends ParserRuleContext { + public List classBodyDeclaration() { + return getRuleContexts(ClassBodyDeclarationContext.class); + } + public ClassBodyDeclarationContext classBodyDeclaration(int i) { + return getRuleContext(ClassBodyDeclarationContext.class,i); + } + public EnumBodyDeclarationsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumBodyDeclarations; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumBodyDeclarations(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumBodyDeclarations(this); + } + } + + public final EnumBodyDeclarationsContext enumBodyDeclarations() throws RecognitionException { + EnumBodyDeclarationsContext _localctx = new EnumBodyDeclarationsContext(_ctx, getState()); + enterRule(_localctx, 196, RULE_enumBodyDeclarations); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1276); + match(SEMI); + setState(1280); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { + { + { + setState(1277); + classBodyDeclaration(); + } + } + setState(1282); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceDeclarationContext extends ParserRuleContext { + public NormalInterfaceDeclarationContext normalInterfaceDeclaration() { + return getRuleContext(NormalInterfaceDeclarationContext.class,0); + } + public AnnotationTypeDeclarationContext annotationTypeDeclaration() { + return getRuleContext(AnnotationTypeDeclarationContext.class,0); + } + public InterfaceDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceDeclaration(this); + } + } + + public final InterfaceDeclarationContext interfaceDeclaration() throws RecognitionException { + InterfaceDeclarationContext _localctx = new InterfaceDeclarationContext(_ctx, getState()); + enterRule(_localctx, 198, RULE_interfaceDeclaration); + try { + setState(1285); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,126,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1283); + normalInterfaceDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1284); + annotationTypeDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NormalInterfaceDeclarationContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public InterfaceBodyContext interfaceBody() { + return getRuleContext(InterfaceBodyContext.class,0); + } + public List interfaceModifier() { + return getRuleContexts(InterfaceModifierContext.class); + } + public InterfaceModifierContext interfaceModifier(int i) { + return getRuleContext(InterfaceModifierContext.class,i); + } + public TypeParametersContext typeParameters() { + return getRuleContext(TypeParametersContext.class,0); + } + public ExtendsInterfacesContext extendsInterfaces() { + return getRuleContext(ExtendsInterfacesContext.class,0); + } + public NormalInterfaceDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_normalInterfaceDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalInterfaceDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalInterfaceDeclaration(this); + } + } + + public final NormalInterfaceDeclarationContext normalInterfaceDeclaration() throws RecognitionException { + NormalInterfaceDeclarationContext _localctx = new NormalInterfaceDeclarationContext(_ctx, getState()); + enterRule(_localctx, 200, RULE_normalInterfaceDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1290); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { + { + { + setState(1287); + interfaceModifier(); + } + } + setState(1292); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1293); + match(INTERFACE); + setState(1294); + match(Identifier); + setState(1296); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1295); + typeParameters(); + } + } + + setState(1299); + _la = _input.LA(1); + if (_la==EXTENDS) { + { + setState(1298); + extendsInterfaces(); + } + } + + setState(1301); + interfaceBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public InterfaceModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceModifier(this); + } + } + + public final InterfaceModifierContext interfaceModifier() throws RecognitionException { + InterfaceModifierContext _localctx = new InterfaceModifierContext(_ctx, getState()); + enterRule(_localctx, 202, RULE_interfaceModifier); + try { + setState(1310); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1303); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1304); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(1305); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(1306); + match(PRIVATE); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 5); + { + setState(1307); + match(ABSTRACT); + } + break; + case STATIC: + enterOuterAlt(_localctx, 6); + { + setState(1308); + match(STATIC); + } + break; + case STRICTFP: + enterOuterAlt(_localctx, 7); + { + setState(1309); + match(STRICTFP); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExtendsInterfacesContext extends ParserRuleContext { + public InterfaceTypeListContext interfaceTypeList() { + return getRuleContext(InterfaceTypeListContext.class,0); + } + public ExtendsInterfacesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_extendsInterfaces; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExtendsInterfaces(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExtendsInterfaces(this); + } + } + + public final ExtendsInterfacesContext extendsInterfaces() throws RecognitionException { + ExtendsInterfacesContext _localctx = new ExtendsInterfacesContext(_ctx, getState()); + enterRule(_localctx, 204, RULE_extendsInterfaces); + try { + enterOuterAlt(_localctx, 1); + { + setState(1312); + match(EXTENDS); + setState(1313); + interfaceTypeList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceBodyContext extends ParserRuleContext { + public List interfaceMemberDeclaration() { + return getRuleContexts(InterfaceMemberDeclarationContext.class); + } + public InterfaceMemberDeclarationContext interfaceMemberDeclaration(int i) { + return getRuleContext(InterfaceMemberDeclarationContext.class,i); + } + public InterfaceBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceBody(this); + } + } + + public final InterfaceBodyContext interfaceBody() throws RecognitionException { + InterfaceBodyContext _localctx = new InterfaceBodyContext(_ctx, getState()); + enterRule(_localctx, 206, RULE_interfaceBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1315); + match(LBRACE); + setState(1319); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DEFAULT) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << VOID) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { + { + { + setState(1316); + interfaceMemberDeclaration(); + } + } + setState(1321); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1322); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceMemberDeclarationContext extends ParserRuleContext { + public ConstantDeclarationContext constantDeclaration() { + return getRuleContext(ConstantDeclarationContext.class,0); + } + public InterfaceMethodDeclarationContext interfaceMethodDeclaration() { + return getRuleContext(InterfaceMethodDeclarationContext.class,0); + } + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public InterfaceDeclarationContext interfaceDeclaration() { + return getRuleContext(InterfaceDeclarationContext.class,0); + } + public InterfaceMemberDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceMemberDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMemberDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMemberDeclaration(this); + } + } + + public final InterfaceMemberDeclarationContext interfaceMemberDeclaration() throws RecognitionException { + InterfaceMemberDeclarationContext _localctx = new InterfaceMemberDeclarationContext(_ctx, getState()); + enterRule(_localctx, 208, RULE_interfaceMemberDeclaration); + try { + setState(1329); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,132,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1324); + constantDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1325); + interfaceMethodDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1326); + classDeclaration(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1327); + interfaceDeclaration(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1328); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstantDeclarationContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorListContext variableDeclaratorList() { + return getRuleContext(VariableDeclaratorListContext.class,0); + } + public List constantModifier() { + return getRuleContexts(ConstantModifierContext.class); + } + public ConstantModifierContext constantModifier(int i) { + return getRuleContext(ConstantModifierContext.class,i); + } + public ConstantDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constantDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantDeclaration(this); + } + } + + public final ConstantDeclarationContext constantDeclaration() throws RecognitionException { + ConstantDeclarationContext _localctx = new ConstantDeclarationContext(_ctx, getState()); + enterRule(_localctx, 210, RULE_constantDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1334); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PUBLIC) | (1L << STATIC))) != 0) || _la==AT) { + { + { + setState(1331); + constantModifier(); + } + } + setState(1336); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1337); + unannType(); + setState(1338); + variableDeclaratorList(); + setState(1339); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstantModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public ConstantModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constantModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantModifier(this); + } + } + + public final ConstantModifierContext constantModifier() throws RecognitionException { + ConstantModifierContext _localctx = new ConstantModifierContext(_ctx, getState()); + enterRule(_localctx, 212, RULE_constantModifier); + try { + setState(1345); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1341); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1342); + match(PUBLIC); + } + break; + case STATIC: + enterOuterAlt(_localctx, 3); + { + setState(1343); + match(STATIC); + } + break; + case FINAL: + enterOuterAlt(_localctx, 4); + { + setState(1344); + match(FINAL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceMethodDeclarationContext extends ParserRuleContext { + public MethodHeaderContext methodHeader() { + return getRuleContext(MethodHeaderContext.class,0); + } + public MethodBodyContext methodBody() { + return getRuleContext(MethodBodyContext.class,0); + } + public List interfaceMethodModifier() { + return getRuleContexts(InterfaceMethodModifierContext.class); + } + public InterfaceMethodModifierContext interfaceMethodModifier(int i) { + return getRuleContext(InterfaceMethodModifierContext.class,i); + } + public InterfaceMethodDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceMethodDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMethodDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMethodDeclaration(this); + } + } + + public final InterfaceMethodDeclarationContext interfaceMethodDeclaration() throws RecognitionException { + InterfaceMethodDeclarationContext _localctx = new InterfaceMethodDeclarationContext(_ctx, getState()); + enterRule(_localctx, 214, RULE_interfaceMethodDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1350); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << DEFAULT) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { + { + { + setState(1347); + interfaceMethodModifier(); + } + } + setState(1352); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1353); + methodHeader(); + setState(1354); + methodBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceMethodModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public InterfaceMethodModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceMethodModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMethodModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMethodModifier(this); + } + } + + public final InterfaceMethodModifierContext interfaceMethodModifier() throws RecognitionException { + InterfaceMethodModifierContext _localctx = new InterfaceMethodModifierContext(_ctx, getState()); + enterRule(_localctx, 216, RULE_interfaceMethodModifier); + try { + setState(1362); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1356); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1357); + match(PUBLIC); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 3); + { + setState(1358); + match(ABSTRACT); + } + break; + case DEFAULT: + enterOuterAlt(_localctx, 4); + { + setState(1359); + match(DEFAULT); + } + break; + case STATIC: + enterOuterAlt(_localctx, 5); + { + setState(1360); + match(STATIC); + } + break; + case STRICTFP: + enterOuterAlt(_localctx, 6); + { + setState(1361); + match(STRICTFP); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeDeclarationContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public AnnotationTypeBodyContext annotationTypeBody() { + return getRuleContext(AnnotationTypeBodyContext.class,0); + } + public List interfaceModifier() { + return getRuleContexts(InterfaceModifierContext.class); + } + public InterfaceModifierContext interfaceModifier(int i) { + return getRuleContext(InterfaceModifierContext.class,i); + } + public AnnotationTypeDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeDeclaration(this); + } + } + + public final AnnotationTypeDeclarationContext annotationTypeDeclaration() throws RecognitionException { + AnnotationTypeDeclarationContext _localctx = new AnnotationTypeDeclarationContext(_ctx, getState()); + enterRule(_localctx, 218, RULE_annotationTypeDeclaration); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1367); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,137,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1364); + interfaceModifier(); + } + } + } + setState(1369); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,137,_ctx); + } + setState(1370); + match(AT); + setState(1371); + match(INTERFACE); + setState(1372); + match(Identifier); + setState(1373); + annotationTypeBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeBodyContext extends ParserRuleContext { + public List annotationTypeMemberDeclaration() { + return getRuleContexts(AnnotationTypeMemberDeclarationContext.class); + } + public AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration(int i) { + return getRuleContext(AnnotationTypeMemberDeclarationContext.class,i); + } + public AnnotationTypeBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeBody(this); + } + } + + public final AnnotationTypeBodyContext annotationTypeBody() throws RecognitionException { + AnnotationTypeBodyContext _localctx = new AnnotationTypeBodyContext(_ctx, getState()); + enterRule(_localctx, 220, RULE_annotationTypeBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1375); + match(LBRACE); + setState(1379); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SEMI))) != 0) || _la==Identifier || _la==AT) { + { + { + setState(1376); + annotationTypeMemberDeclaration(); + } + } + setState(1381); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1382); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeMemberDeclarationContext extends ParserRuleContext { + public AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() { + return getRuleContext(AnnotationTypeElementDeclarationContext.class,0); + } + public ConstantDeclarationContext constantDeclaration() { + return getRuleContext(ConstantDeclarationContext.class,0); + } + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public InterfaceDeclarationContext interfaceDeclaration() { + return getRuleContext(InterfaceDeclarationContext.class,0); + } + public AnnotationTypeMemberDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeMemberDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeMemberDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeMemberDeclaration(this); + } + } + + public final AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration() throws RecognitionException { + AnnotationTypeMemberDeclarationContext _localctx = new AnnotationTypeMemberDeclarationContext(_ctx, getState()); + enterRule(_localctx, 222, RULE_annotationTypeMemberDeclaration); + try { + setState(1389); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,139,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1384); + annotationTypeElementDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1385); + constantDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1386); + classDeclaration(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1387); + interfaceDeclaration(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1388); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeElementDeclarationContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotationTypeElementModifier() { + return getRuleContexts(AnnotationTypeElementModifierContext.class); + } + public AnnotationTypeElementModifierContext annotationTypeElementModifier(int i) { + return getRuleContext(AnnotationTypeElementModifierContext.class,i); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public DefaultValueContext defaultValue() { + return getRuleContext(DefaultValueContext.class,0); + } + public AnnotationTypeElementDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeElementDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeElementDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeElementDeclaration(this); + } + } + + public final AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() throws RecognitionException { + AnnotationTypeElementDeclarationContext _localctx = new AnnotationTypeElementDeclarationContext(_ctx, getState()); + enterRule(_localctx, 224, RULE_annotationTypeElementDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1394); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==ABSTRACT || _la==PUBLIC || _la==AT) { + { + { + setState(1391); + annotationTypeElementModifier(); + } + } + setState(1396); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1397); + unannType(); + setState(1398); + match(Identifier); + setState(1399); + match(LPAREN); + setState(1400); + match(RPAREN); + setState(1402); + _la = _input.LA(1); + if (_la==LBRACK || _la==AT) { + { + setState(1401); + dims(); + } + } + + setState(1405); + _la = _input.LA(1); + if (_la==DEFAULT) { + { + setState(1404); + defaultValue(); + } + } + + setState(1407); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeElementModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public AnnotationTypeElementModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeElementModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeElementModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeElementModifier(this); + } + } + + public final AnnotationTypeElementModifierContext annotationTypeElementModifier() throws RecognitionException { + AnnotationTypeElementModifierContext _localctx = new AnnotationTypeElementModifierContext(_ctx, getState()); + enterRule(_localctx, 226, RULE_annotationTypeElementModifier); + try { + setState(1412); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1409); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1410); + match(PUBLIC); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 3); + { + setState(1411); + match(ABSTRACT); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DefaultValueContext extends ParserRuleContext { + public ElementValueContext elementValue() { + return getRuleContext(ElementValueContext.class,0); + } + public DefaultValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_defaultValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDefaultValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDefaultValue(this); + } + } + + public final DefaultValueContext defaultValue() throws RecognitionException { + DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState()); + enterRule(_localctx, 228, RULE_defaultValue); + try { + enterOuterAlt(_localctx, 1); + { + setState(1414); + match(DEFAULT); + setState(1415); + elementValue(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationContext extends ParserRuleContext { + public NormalAnnotationContext normalAnnotation() { + return getRuleContext(NormalAnnotationContext.class,0); + } + public MarkerAnnotationContext markerAnnotation() { + return getRuleContext(MarkerAnnotationContext.class,0); + } + public SingleElementAnnotationContext singleElementAnnotation() { + return getRuleContext(SingleElementAnnotationContext.class,0); + } + public AnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotation(this); + } + } + + public final AnnotationContext annotation() throws RecognitionException { + AnnotationContext _localctx = new AnnotationContext(_ctx, getState()); + enterRule(_localctx, 230, RULE_annotation); + try { + setState(1420); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,144,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1417); + normalAnnotation(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1418); + markerAnnotation(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1419); + singleElementAnnotation(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NormalAnnotationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ElementValuePairListContext elementValuePairList() { + return getRuleContext(ElementValuePairListContext.class,0); + } + public NormalAnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_normalAnnotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalAnnotation(this); + } + } + + public final NormalAnnotationContext normalAnnotation() throws RecognitionException { + NormalAnnotationContext _localctx = new NormalAnnotationContext(_ctx, getState()); + enterRule(_localctx, 232, RULE_normalAnnotation); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1422); + match(AT); + setState(1423); + typeName(); + setState(1424); + match(LPAREN); + setState(1426); + _la = _input.LA(1); + if (_la==Identifier) { + { + setState(1425); + elementValuePairList(); + } + } + + setState(1428); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValuePairListContext extends ParserRuleContext { + public List elementValuePair() { + return getRuleContexts(ElementValuePairContext.class); + } + public ElementValuePairContext elementValuePair(int i) { + return getRuleContext(ElementValuePairContext.class,i); + } + public ElementValuePairListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValuePairList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValuePairList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValuePairList(this); + } + } + + public final ElementValuePairListContext elementValuePairList() throws RecognitionException { + ElementValuePairListContext _localctx = new ElementValuePairListContext(_ctx, getState()); + enterRule(_localctx, 234, RULE_elementValuePairList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1430); + elementValuePair(); + setState(1435); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(1431); + match(COMMA); + setState(1432); + elementValuePair(); + } + } + setState(1437); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValuePairContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public ElementValueContext elementValue() { + return getRuleContext(ElementValueContext.class,0); + } + public ElementValuePairContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValuePair; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValuePair(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValuePair(this); + } + } + + public final ElementValuePairContext elementValuePair() throws RecognitionException { + ElementValuePairContext _localctx = new ElementValuePairContext(_ctx, getState()); + enterRule(_localctx, 236, RULE_elementValuePair); + try { + enterOuterAlt(_localctx, 1); + { + setState(1438); + match(Identifier); + setState(1439); + match(ASSIGN); + setState(1440); + elementValue(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValueContext extends ParserRuleContext { + public ConditionalExpressionContext conditionalExpression() { + return getRuleContext(ConditionalExpressionContext.class,0); + } + public ElementValueArrayInitializerContext elementValueArrayInitializer() { + return getRuleContext(ElementValueArrayInitializerContext.class,0); + } + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public ElementValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValue(this); + } + } + + public final ElementValueContext elementValue() throws RecognitionException { + ElementValueContext _localctx = new ElementValueContext(_ctx, getState()); + enterRule(_localctx, 238, RULE_elementValue); + try { + setState(1445); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,147,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1442); + conditionalExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1443); + elementValueArrayInitializer(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1444); + annotation(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValueArrayInitializerContext extends ParserRuleContext { + public ElementValueListContext elementValueList() { + return getRuleContext(ElementValueListContext.class,0); + } + public ElementValueArrayInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValueArrayInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValueArrayInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValueArrayInitializer(this); + } + } + + public final ElementValueArrayInitializerContext elementValueArrayInitializer() throws RecognitionException { + ElementValueArrayInitializerContext _localctx = new ElementValueArrayInitializerContext(_ctx, getState()); + enterRule(_localctx, 240, RULE_elementValueArrayInitializer); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1447); + match(LBRACE); + setState(1449); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1448); + elementValueList(); + } + } + + setState(1452); + _la = _input.LA(1); + if (_la==COMMA) { + { + setState(1451); + match(COMMA); + } + } + + setState(1454); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValueListContext extends ParserRuleContext { + public List elementValue() { + return getRuleContexts(ElementValueContext.class); + } + public ElementValueContext elementValue(int i) { + return getRuleContext(ElementValueContext.class,i); + } + public ElementValueListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValueList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValueList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValueList(this); + } + } + + public final ElementValueListContext elementValueList() throws RecognitionException { + ElementValueListContext _localctx = new ElementValueListContext(_ctx, getState()); + enterRule(_localctx, 242, RULE_elementValueList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1456); + elementValue(); + setState(1461); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,150,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1457); + match(COMMA); + setState(1458); + elementValue(); + } + } + } + setState(1463); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,150,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MarkerAnnotationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public MarkerAnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_markerAnnotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMarkerAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMarkerAnnotation(this); + } + } + + public final MarkerAnnotationContext markerAnnotation() throws RecognitionException { + MarkerAnnotationContext _localctx = new MarkerAnnotationContext(_ctx, getState()); + enterRule(_localctx, 244, RULE_markerAnnotation); + try { + enterOuterAlt(_localctx, 1); + { + setState(1464); + match(AT); + setState(1465); + typeName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SingleElementAnnotationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ElementValueContext elementValue() { + return getRuleContext(ElementValueContext.class,0); + } + public SingleElementAnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_singleElementAnnotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleElementAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleElementAnnotation(this); + } + } + + public final SingleElementAnnotationContext singleElementAnnotation() throws RecognitionException { + SingleElementAnnotationContext _localctx = new SingleElementAnnotationContext(_ctx, getState()); + enterRule(_localctx, 246, RULE_singleElementAnnotation); + try { + enterOuterAlt(_localctx, 1); + { + setState(1467); + match(AT); + setState(1468); + typeName(); + setState(1469); + match(LPAREN); + setState(1470); + elementValue(); + setState(1471); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayInitializerContext extends ParserRuleContext { + public VariableInitializerListContext variableInitializerList() { + return getRuleContext(VariableInitializerListContext.class,0); + } + public ArrayInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayInitializer(this); + } + } + + public final ArrayInitializerContext arrayInitializer() throws RecognitionException { + ArrayInitializerContext _localctx = new ArrayInitializerContext(_ctx, getState()); + enterRule(_localctx, 248, RULE_arrayInitializer); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1473); + match(LBRACE); + setState(1475); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1474); + variableInitializerList(); + } + } + + setState(1478); + _la = _input.LA(1); + if (_la==COMMA) { + { + setState(1477); + match(COMMA); + } + } + + setState(1480); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableInitializerListContext extends ParserRuleContext { + public List variableInitializer() { + return getRuleContexts(VariableInitializerContext.class); + } + public VariableInitializerContext variableInitializer(int i) { + return getRuleContext(VariableInitializerContext.class,i); + } + public VariableInitializerListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableInitializerList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableInitializerList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableInitializerList(this); + } + } + + public final VariableInitializerListContext variableInitializerList() throws RecognitionException { + VariableInitializerListContext _localctx = new VariableInitializerListContext(_ctx, getState()); + enterRule(_localctx, 250, RULE_variableInitializerList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1482); + variableInitializer(); + setState(1487); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,153,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1483); + match(COMMA); + setState(1484); + variableInitializer(); + } + } + } + setState(1489); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,153,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BlockContext extends ParserRuleContext { + public BlockStatementsContext blockStatements() { + return getRuleContext(BlockStatementsContext.class,0); + } + public BlockContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_block; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlock(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlock(this); + } + } + + public final BlockContext block() throws RecognitionException { + BlockContext _localctx = new BlockContext(_ctx, getState()); + enterRule(_localctx, 252, RULE_block); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1490); + match(LBRACE); + setState(1492); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1491); + blockStatements(); + } + } + + setState(1494); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BlockStatementsContext extends ParserRuleContext { + public List blockStatement() { + return getRuleContexts(BlockStatementContext.class); + } + public BlockStatementContext blockStatement(int i) { + return getRuleContext(BlockStatementContext.class,i); + } + public BlockStatementsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_blockStatements; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlockStatements(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlockStatements(this); + } + } + + public final BlockStatementsContext blockStatements() throws RecognitionException { + BlockStatementsContext _localctx = new BlockStatementsContext(_ctx, getState()); + enterRule(_localctx, 254, RULE_blockStatements); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1496); + blockStatement(); + setState(1500); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + { + setState(1497); + blockStatement(); + } + } + setState(1502); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BlockStatementContext extends ParserRuleContext { + public LocalVariableDeclarationStatementContext localVariableDeclarationStatement() { + return getRuleContext(LocalVariableDeclarationStatementContext.class,0); + } + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public BlockStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_blockStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlockStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlockStatement(this); + } + } + + public final BlockStatementContext blockStatement() throws RecognitionException { + BlockStatementContext _localctx = new BlockStatementContext(_ctx, getState()); + enterRule(_localctx, 256, RULE_blockStatement); + try { + setState(1506); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,156,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1503); + localVariableDeclarationStatement(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1504); + classDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1505); + statement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LocalVariableDeclarationStatementContext extends ParserRuleContext { + public LocalVariableDeclarationContext localVariableDeclaration() { + return getRuleContext(LocalVariableDeclarationContext.class,0); + } + public LocalVariableDeclarationStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_localVariableDeclarationStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLocalVariableDeclarationStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLocalVariableDeclarationStatement(this); + } + } + + public final LocalVariableDeclarationStatementContext localVariableDeclarationStatement() throws RecognitionException { + LocalVariableDeclarationStatementContext _localctx = new LocalVariableDeclarationStatementContext(_ctx, getState()); + enterRule(_localctx, 258, RULE_localVariableDeclarationStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1508); + localVariableDeclaration(); + setState(1509); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LocalVariableDeclarationContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorListContext variableDeclaratorList() { + return getRuleContext(VariableDeclaratorListContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public LocalVariableDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_localVariableDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLocalVariableDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLocalVariableDeclaration(this); + } + } + + public final LocalVariableDeclarationContext localVariableDeclaration() throws RecognitionException { + LocalVariableDeclarationContext _localctx = new LocalVariableDeclarationContext(_ctx, getState()); + enterRule(_localctx, 260, RULE_localVariableDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1514); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1511); + variableModifier(); + } + } + setState(1516); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1517); + unannType(); + setState(1518); + variableDeclaratorList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementContext extends ParserRuleContext { + public StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() { + return getRuleContext(StatementWithoutTrailingSubstatementContext.class,0); + } + public LabeledStatementContext labeledStatement() { + return getRuleContext(LabeledStatementContext.class,0); + } + public IfThenStatementContext ifThenStatement() { + return getRuleContext(IfThenStatementContext.class,0); + } + public IfThenElseStatementContext ifThenElseStatement() { + return getRuleContext(IfThenElseStatementContext.class,0); + } + public WhileStatementContext whileStatement() { + return getRuleContext(WhileStatementContext.class,0); + } + public ForStatementContext forStatement() { + return getRuleContext(ForStatementContext.class,0); + } + public StatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatement(this); + } + } + + public final StatementContext statement() throws RecognitionException { + StatementContext _localctx = new StatementContext(_ctx, getState()); + enterRule(_localctx, 262, RULE_statement); + try { + setState(1526); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,158,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1520); + statementWithoutTrailingSubstatement(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1521); + labeledStatement(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1522); + ifThenStatement(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1523); + ifThenElseStatement(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1524); + whileStatement(); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1525); + forStatement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementNoShortIfContext extends ParserRuleContext { + public StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() { + return getRuleContext(StatementWithoutTrailingSubstatementContext.class,0); + } + public LabeledStatementNoShortIfContext labeledStatementNoShortIf() { + return getRuleContext(LabeledStatementNoShortIfContext.class,0); + } + public IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() { + return getRuleContext(IfThenElseStatementNoShortIfContext.class,0); + } + public WhileStatementNoShortIfContext whileStatementNoShortIf() { + return getRuleContext(WhileStatementNoShortIfContext.class,0); + } + public ForStatementNoShortIfContext forStatementNoShortIf() { + return getRuleContext(ForStatementNoShortIfContext.class,0); + } + public StatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementNoShortIf(this); + } + } + + public final StatementNoShortIfContext statementNoShortIf() throws RecognitionException { + StatementNoShortIfContext _localctx = new StatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 264, RULE_statementNoShortIf); + try { + setState(1533); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,159,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1528); + statementWithoutTrailingSubstatement(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1529); + labeledStatementNoShortIf(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1530); + ifThenElseStatementNoShortIf(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1531); + whileStatementNoShortIf(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1532); + forStatementNoShortIf(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementWithoutTrailingSubstatementContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public EmptyStatementContext emptyStatement() { + return getRuleContext(EmptyStatementContext.class,0); + } + public ExpressionStatementContext expressionStatement() { + return getRuleContext(ExpressionStatementContext.class,0); + } + public AssertStatementContext assertStatement() { + return getRuleContext(AssertStatementContext.class,0); + } + public SwitchStatementContext switchStatement() { + return getRuleContext(SwitchStatementContext.class,0); + } + public DoStatementContext doStatement() { + return getRuleContext(DoStatementContext.class,0); + } + public BreakStatementContext breakStatement() { + return getRuleContext(BreakStatementContext.class,0); + } + public ContinueStatementContext continueStatement() { + return getRuleContext(ContinueStatementContext.class,0); + } + public ReturnStatementContext returnStatement() { + return getRuleContext(ReturnStatementContext.class,0); + } + public SynchronizedStatementContext synchronizedStatement() { + return getRuleContext(SynchronizedStatementContext.class,0); + } + public ThrowStatementContext throwStatement() { + return getRuleContext(ThrowStatementContext.class,0); + } + public TryStatementContext tryStatement() { + return getRuleContext(TryStatementContext.class,0); + } + public StatementWithoutTrailingSubstatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statementWithoutTrailingSubstatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementWithoutTrailingSubstatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementWithoutTrailingSubstatement(this); + } + } + + public final StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() throws RecognitionException { + StatementWithoutTrailingSubstatementContext _localctx = new StatementWithoutTrailingSubstatementContext(_ctx, getState()); + enterRule(_localctx, 266, RULE_statementWithoutTrailingSubstatement); + try { + setState(1547); + switch (_input.LA(1)) { + case LBRACE: + enterOuterAlt(_localctx, 1); + { + setState(1535); + block(); + } + break; + case SEMI: + enterOuterAlt(_localctx, 2); + { + setState(1536); + emptyStatement(); + } + break; + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case NEW: + case SHORT: + case SUPER: + case THIS: + case VOID: + case IntegerLiteral: + case FloatingPointLiteral: + case BooleanLiteral: + case CharacterLiteral: + case StringLiteral: + case NullLiteral: + case LPAREN: + case INC: + case DEC: + case Identifier: + case AT: + enterOuterAlt(_localctx, 3); + { + setState(1537); + expressionStatement(); + } + break; + case ASSERT: + enterOuterAlt(_localctx, 4); + { + setState(1538); + assertStatement(); + } + break; + case SWITCH: + enterOuterAlt(_localctx, 5); + { + setState(1539); + switchStatement(); + } + break; + case DO: + enterOuterAlt(_localctx, 6); + { + setState(1540); + doStatement(); + } + break; + case BREAK: + enterOuterAlt(_localctx, 7); + { + setState(1541); + breakStatement(); + } + break; + case CONTINUE: + enterOuterAlt(_localctx, 8); + { + setState(1542); + continueStatement(); + } + break; + case RETURN: + enterOuterAlt(_localctx, 9); + { + setState(1543); + returnStatement(); + } + break; + case SYNCHRONIZED: + enterOuterAlt(_localctx, 10); + { + setState(1544); + synchronizedStatement(); + } + break; + case THROW: + enterOuterAlt(_localctx, 11); + { + setState(1545); + throwStatement(); + } + break; + case TRY: + enterOuterAlt(_localctx, 12); + { + setState(1546); + tryStatement(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EmptyStatementContext extends ParserRuleContext { + public EmptyStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_emptyStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEmptyStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEmptyStatement(this); + } + } + + public final EmptyStatementContext emptyStatement() throws RecognitionException { + EmptyStatementContext _localctx = new EmptyStatementContext(_ctx, getState()); + enterRule(_localctx, 268, RULE_emptyStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1549); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LabeledStatementContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public LabeledStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_labeledStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLabeledStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLabeledStatement(this); + } + } + + public final LabeledStatementContext labeledStatement() throws RecognitionException { + LabeledStatementContext _localctx = new LabeledStatementContext(_ctx, getState()); + enterRule(_localctx, 270, RULE_labeledStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1551); + match(Identifier); + setState(1552); + match(COLON); + setState(1553); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LabeledStatementNoShortIfContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public LabeledStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_labeledStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLabeledStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLabeledStatementNoShortIf(this); + } + } + + public final LabeledStatementNoShortIfContext labeledStatementNoShortIf() throws RecognitionException { + LabeledStatementNoShortIfContext _localctx = new LabeledStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 272, RULE_labeledStatementNoShortIf); + try { + enterOuterAlt(_localctx, 1); + { + setState(1555); + match(Identifier); + setState(1556); + match(COLON); + setState(1557); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExpressionStatementContext extends ParserRuleContext { + public StatementExpressionContext statementExpression() { + return getRuleContext(StatementExpressionContext.class,0); + } + public ExpressionStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expressionStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpressionStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpressionStatement(this); + } + } + + public final ExpressionStatementContext expressionStatement() throws RecognitionException { + ExpressionStatementContext _localctx = new ExpressionStatementContext(_ctx, getState()); + enterRule(_localctx, 274, RULE_expressionStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1559); + statementExpression(); + setState(1560); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementExpressionContext extends ParserRuleContext { + public AssignmentContext assignment() { + return getRuleContext(AssignmentContext.class,0); + } + public PreIncrementExpressionContext preIncrementExpression() { + return getRuleContext(PreIncrementExpressionContext.class,0); + } + public PreDecrementExpressionContext preDecrementExpression() { + return getRuleContext(PreDecrementExpressionContext.class,0); + } + public PostIncrementExpressionContext postIncrementExpression() { + return getRuleContext(PostIncrementExpressionContext.class,0); + } + public PostDecrementExpressionContext postDecrementExpression() { + return getRuleContext(PostDecrementExpressionContext.class,0); + } + public MethodInvocationContext methodInvocation() { + return getRuleContext(MethodInvocationContext.class,0); + } + public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { + return getRuleContext(ClassInstanceCreationExpressionContext.class,0); + } + public StatementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementExpression(this); + } + } + + public final StatementExpressionContext statementExpression() throws RecognitionException { + StatementExpressionContext _localctx = new StatementExpressionContext(_ctx, getState()); + enterRule(_localctx, 276, RULE_statementExpression); + try { + setState(1569); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,161,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1562); + assignment(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1563); + preIncrementExpression(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1564); + preDecrementExpression(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1565); + postIncrementExpression(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1566); + postDecrementExpression(); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1567); + methodInvocation(); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(1568); + classInstanceCreationExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfThenStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public IfThenStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifThenStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenStatement(this); + } + } + + public final IfThenStatementContext ifThenStatement() throws RecognitionException { + IfThenStatementContext _localctx = new IfThenStatementContext(_ctx, getState()); + enterRule(_localctx, 278, RULE_ifThenStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1571); + match(IF); + setState(1572); + match(LPAREN); + setState(1573); + expression(); + setState(1574); + match(RPAREN); + setState(1575); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfThenElseStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public IfThenElseStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifThenElseStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenElseStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenElseStatement(this); + } + } + + public final IfThenElseStatementContext ifThenElseStatement() throws RecognitionException { + IfThenElseStatementContext _localctx = new IfThenElseStatementContext(_ctx, getState()); + enterRule(_localctx, 280, RULE_ifThenElseStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1577); + match(IF); + setState(1578); + match(LPAREN); + setState(1579); + expression(); + setState(1580); + match(RPAREN); + setState(1581); + statementNoShortIf(); + setState(1582); + match(ELSE); + setState(1583); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfThenElseStatementNoShortIfContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public List statementNoShortIf() { + return getRuleContexts(StatementNoShortIfContext.class); + } + public StatementNoShortIfContext statementNoShortIf(int i) { + return getRuleContext(StatementNoShortIfContext.class,i); + } + public IfThenElseStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifThenElseStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenElseStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenElseStatementNoShortIf(this); + } + } + + public final IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() throws RecognitionException { + IfThenElseStatementNoShortIfContext _localctx = new IfThenElseStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 282, RULE_ifThenElseStatementNoShortIf); + try { + enterOuterAlt(_localctx, 1); + { + setState(1585); + match(IF); + setState(1586); + match(LPAREN); + setState(1587); + expression(); + setState(1588); + match(RPAREN); + setState(1589); + statementNoShortIf(); + setState(1590); + match(ELSE); + setState(1591); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssertStatementContext extends ParserRuleContext { + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public AssertStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assertStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssertStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssertStatement(this); + } + } + + public final AssertStatementContext assertStatement() throws RecognitionException { + AssertStatementContext _localctx = new AssertStatementContext(_ctx, getState()); + enterRule(_localctx, 284, RULE_assertStatement); + try { + setState(1603); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1593); + match(ASSERT); + setState(1594); + expression(); + setState(1595); + match(SEMI); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1597); + match(ASSERT); + setState(1598); + expression(); + setState(1599); + match(COLON); + setState(1600); + expression(); + setState(1601); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public SwitchBlockContext switchBlock() { + return getRuleContext(SwitchBlockContext.class,0); + } + public SwitchStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchStatement(this); + } + } + + public final SwitchStatementContext switchStatement() throws RecognitionException { + SwitchStatementContext _localctx = new SwitchStatementContext(_ctx, getState()); + enterRule(_localctx, 286, RULE_switchStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1605); + match(SWITCH); + setState(1606); + match(LPAREN); + setState(1607); + expression(); + setState(1608); + match(RPAREN); + setState(1609); + switchBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchBlockContext extends ParserRuleContext { + public List switchBlockStatementGroup() { + return getRuleContexts(SwitchBlockStatementGroupContext.class); + } + public SwitchBlockStatementGroupContext switchBlockStatementGroup(int i) { + return getRuleContext(SwitchBlockStatementGroupContext.class,i); + } + public List switchLabel() { + return getRuleContexts(SwitchLabelContext.class); + } + public SwitchLabelContext switchLabel(int i) { + return getRuleContext(SwitchLabelContext.class,i); + } + public SwitchBlockContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchBlock; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchBlock(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchBlock(this); + } + } + + public final SwitchBlockContext switchBlock() throws RecognitionException { + SwitchBlockContext _localctx = new SwitchBlockContext(_ctx, getState()); + enterRule(_localctx, 288, RULE_switchBlock); + int _la; + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1611); + match(LBRACE); + setState(1615); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,163,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1612); + switchBlockStatementGroup(); + } + } + } + setState(1617); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,163,_ctx); + } + setState(1621); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==CASE || _la==DEFAULT) { + { + { + setState(1618); + switchLabel(); + } + } + setState(1623); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1624); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchBlockStatementGroupContext extends ParserRuleContext { + public SwitchLabelsContext switchLabels() { + return getRuleContext(SwitchLabelsContext.class,0); + } + public BlockStatementsContext blockStatements() { + return getRuleContext(BlockStatementsContext.class,0); + } + public SwitchBlockStatementGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchBlockStatementGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchBlockStatementGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchBlockStatementGroup(this); + } + } + + public final SwitchBlockStatementGroupContext switchBlockStatementGroup() throws RecognitionException { + SwitchBlockStatementGroupContext _localctx = new SwitchBlockStatementGroupContext(_ctx, getState()); + enterRule(_localctx, 290, RULE_switchBlockStatementGroup); + try { + enterOuterAlt(_localctx, 1); + { + setState(1626); + switchLabels(); + setState(1627); + blockStatements(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchLabelsContext extends ParserRuleContext { + public List switchLabel() { + return getRuleContexts(SwitchLabelContext.class); + } + public SwitchLabelContext switchLabel(int i) { + return getRuleContext(SwitchLabelContext.class,i); + } + public SwitchLabelsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchLabels; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchLabels(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchLabels(this); + } + } + + public final SwitchLabelsContext switchLabels() throws RecognitionException { + SwitchLabelsContext _localctx = new SwitchLabelsContext(_ctx, getState()); + enterRule(_localctx, 292, RULE_switchLabels); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1629); + switchLabel(); + setState(1633); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==CASE || _la==DEFAULT) { + { + { + setState(1630); + switchLabel(); + } + } + setState(1635); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchLabelContext extends ParserRuleContext { + public ConstantExpressionContext constantExpression() { + return getRuleContext(ConstantExpressionContext.class,0); + } + public EnumConstantNameContext enumConstantName() { + return getRuleContext(EnumConstantNameContext.class,0); + } + public SwitchLabelContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchLabel; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchLabel(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchLabel(this); + } + } + + public final SwitchLabelContext switchLabel() throws RecognitionException { + SwitchLabelContext _localctx = new SwitchLabelContext(_ctx, getState()); + enterRule(_localctx, 294, RULE_switchLabel); + try { + setState(1646); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,166,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1636); + match(CASE); + setState(1637); + constantExpression(); + setState(1638); + match(COLON); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1640); + match(CASE); + setState(1641); + enumConstantName(); + setState(1642); + match(COLON); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1644); + match(DEFAULT); + setState(1645); + match(COLON); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumConstantNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public EnumConstantNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumConstantName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantName(this); + } + } + + public final EnumConstantNameContext enumConstantName() throws RecognitionException { + EnumConstantNameContext _localctx = new EnumConstantNameContext(_ctx, getState()); + enterRule(_localctx, 296, RULE_enumConstantName); + try { + enterOuterAlt(_localctx, 1); + { + setState(1648); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WhileStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public WhileStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_whileStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWhileStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWhileStatement(this); + } + } + + public final WhileStatementContext whileStatement() throws RecognitionException { + WhileStatementContext _localctx = new WhileStatementContext(_ctx, getState()); + enterRule(_localctx, 298, RULE_whileStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1650); + match(WHILE); + setState(1651); + match(LPAREN); + setState(1652); + expression(); + setState(1653); + match(RPAREN); + setState(1654); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WhileStatementNoShortIfContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public WhileStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_whileStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWhileStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWhileStatementNoShortIf(this); + } + } + + public final WhileStatementNoShortIfContext whileStatementNoShortIf() throws RecognitionException { + WhileStatementNoShortIfContext _localctx = new WhileStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 300, RULE_whileStatementNoShortIf); + try { + enterOuterAlt(_localctx, 1); + { + setState(1656); + match(WHILE); + setState(1657); + match(LPAREN); + setState(1658); + expression(); + setState(1659); + match(RPAREN); + setState(1660); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DoStatementContext extends ParserRuleContext { + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public DoStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_doStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDoStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDoStatement(this); + } + } + + public final DoStatementContext doStatement() throws RecognitionException { + DoStatementContext _localctx = new DoStatementContext(_ctx, getState()); + enterRule(_localctx, 302, RULE_doStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1662); + match(DO); + setState(1663); + statement(); + setState(1664); + match(WHILE); + setState(1665); + match(LPAREN); + setState(1666); + expression(); + setState(1667); + match(RPAREN); + setState(1668); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ForStatementContext extends ParserRuleContext { + public BasicForStatementContext basicForStatement() { + return getRuleContext(BasicForStatementContext.class,0); + } + public EnhancedForStatementContext enhancedForStatement() { + return getRuleContext(EnhancedForStatementContext.class,0); + } + public ForStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_forStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForStatement(this); + } + } + + public final ForStatementContext forStatement() throws RecognitionException { + ForStatementContext _localctx = new ForStatementContext(_ctx, getState()); + enterRule(_localctx, 304, RULE_forStatement); + try { + setState(1672); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,167,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1670); + basicForStatement(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1671); + enhancedForStatement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ForStatementNoShortIfContext extends ParserRuleContext { + public BasicForStatementNoShortIfContext basicForStatementNoShortIf() { + return getRuleContext(BasicForStatementNoShortIfContext.class,0); + } + public EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() { + return getRuleContext(EnhancedForStatementNoShortIfContext.class,0); + } + public ForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_forStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForStatementNoShortIf(this); + } + } + + public final ForStatementNoShortIfContext forStatementNoShortIf() throws RecognitionException { + ForStatementNoShortIfContext _localctx = new ForStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 306, RULE_forStatementNoShortIf); + try { + setState(1676); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,168,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1674); + basicForStatementNoShortIf(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1675); + enhancedForStatementNoShortIf(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BasicForStatementContext extends ParserRuleContext { + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public ForInitContext forInit() { + return getRuleContext(ForInitContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ForUpdateContext forUpdate() { + return getRuleContext(ForUpdateContext.class,0); + } + public BasicForStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_basicForStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBasicForStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBasicForStatement(this); + } + } + + public final BasicForStatementContext basicForStatement() throws RecognitionException { + BasicForStatementContext _localctx = new BasicForStatementContext(_ctx, getState()); + enterRule(_localctx, 308, RULE_basicForStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1678); + match(FOR); + setState(1679); + match(LPAREN); + setState(1681); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1680); + forInit(); + } + } + + setState(1683); + match(SEMI); + setState(1685); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1684); + expression(); + } + } + + setState(1687); + match(SEMI); + setState(1689); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1688); + forUpdate(); + } + } + + setState(1691); + match(RPAREN); + setState(1692); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BasicForStatementNoShortIfContext extends ParserRuleContext { + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public ForInitContext forInit() { + return getRuleContext(ForInitContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ForUpdateContext forUpdate() { + return getRuleContext(ForUpdateContext.class,0); + } + public BasicForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_basicForStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBasicForStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBasicForStatementNoShortIf(this); + } + } + + public final BasicForStatementNoShortIfContext basicForStatementNoShortIf() throws RecognitionException { + BasicForStatementNoShortIfContext _localctx = new BasicForStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 310, RULE_basicForStatementNoShortIf); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1694); + match(FOR); + setState(1695); + match(LPAREN); + setState(1697); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1696); + forInit(); + } + } + + setState(1699); + match(SEMI); + setState(1701); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1700); + expression(); + } + } + + setState(1703); + match(SEMI); + setState(1705); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1704); + forUpdate(); + } + } + + setState(1707); + match(RPAREN); + setState(1708); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ForInitContext extends ParserRuleContext { + public StatementExpressionListContext statementExpressionList() { + return getRuleContext(StatementExpressionListContext.class,0); + } + public LocalVariableDeclarationContext localVariableDeclaration() { + return getRuleContext(LocalVariableDeclarationContext.class,0); + } + public ForInitContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_forInit; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForInit(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForInit(this); + } + } + + public final ForInitContext forInit() throws RecognitionException { + ForInitContext _localctx = new ForInitContext(_ctx, getState()); + enterRule(_localctx, 312, RULE_forInit); + try { + setState(1712); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,175,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1710); + statementExpressionList(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1711); + localVariableDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ForUpdateContext extends ParserRuleContext { + public StatementExpressionListContext statementExpressionList() { + return getRuleContext(StatementExpressionListContext.class,0); + } + public ForUpdateContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_forUpdate; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForUpdate(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForUpdate(this); + } + } + + public final ForUpdateContext forUpdate() throws RecognitionException { + ForUpdateContext _localctx = new ForUpdateContext(_ctx, getState()); + enterRule(_localctx, 314, RULE_forUpdate); + try { + enterOuterAlt(_localctx, 1); + { + setState(1714); + statementExpressionList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementExpressionListContext extends ParserRuleContext { + public List statementExpression() { + return getRuleContexts(StatementExpressionContext.class); + } + public StatementExpressionContext statementExpression(int i) { + return getRuleContext(StatementExpressionContext.class,i); + } + public StatementExpressionListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statementExpressionList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementExpressionList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementExpressionList(this); + } + } + + public final StatementExpressionListContext statementExpressionList() throws RecognitionException { + StatementExpressionListContext _localctx = new StatementExpressionListContext(_ctx, getState()); + enterRule(_localctx, 316, RULE_statementExpressionList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1716); + statementExpression(); + setState(1721); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(1717); + match(COMMA); + setState(1718); + statementExpression(); + } + } + setState(1723); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnhancedForStatementContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public EnhancedForStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enhancedForStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnhancedForStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnhancedForStatement(this); + } + } + + public final EnhancedForStatementContext enhancedForStatement() throws RecognitionException { + EnhancedForStatementContext _localctx = new EnhancedForStatementContext(_ctx, getState()); + enterRule(_localctx, 318, RULE_enhancedForStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1724); + match(FOR); + setState(1725); + match(LPAREN); + setState(1729); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1726); + variableModifier(); + } + } + setState(1731); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1732); + unannType(); + setState(1733); + variableDeclaratorId(); + setState(1734); + match(COLON); + setState(1735); + expression(); + setState(1736); + match(RPAREN); + setState(1737); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnhancedForStatementNoShortIfContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public EnhancedForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enhancedForStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnhancedForStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnhancedForStatementNoShortIf(this); + } + } + + public final EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() throws RecognitionException { + EnhancedForStatementNoShortIfContext _localctx = new EnhancedForStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 320, RULE_enhancedForStatementNoShortIf); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1739); + match(FOR); + setState(1740); + match(LPAREN); + setState(1744); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1741); + variableModifier(); + } + } + setState(1746); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1747); + unannType(); + setState(1748); + variableDeclaratorId(); + setState(1749); + match(COLON); + setState(1750); + expression(); + setState(1751); + match(RPAREN); + setState(1752); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BreakStatementContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public BreakStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_breakStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBreakStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBreakStatement(this); + } + } + + public final BreakStatementContext breakStatement() throws RecognitionException { + BreakStatementContext _localctx = new BreakStatementContext(_ctx, getState()); + enterRule(_localctx, 322, RULE_breakStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1754); + match(BREAK); + setState(1756); + _la = _input.LA(1); + if (_la==Identifier) { + { + setState(1755); + match(Identifier); + } + } + + setState(1758); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ContinueStatementContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public ContinueStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_continueStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterContinueStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitContinueStatement(this); + } + } + + public final ContinueStatementContext continueStatement() throws RecognitionException { + ContinueStatementContext _localctx = new ContinueStatementContext(_ctx, getState()); + enterRule(_localctx, 324, RULE_continueStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1760); + match(CONTINUE); + setState(1762); + _la = _input.LA(1); + if (_la==Identifier) { + { + setState(1761); + match(Identifier); + } + } + + setState(1764); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReturnStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ReturnStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_returnStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReturnStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReturnStatement(this); + } + } + + public final ReturnStatementContext returnStatement() throws RecognitionException { + ReturnStatementContext _localctx = new ReturnStatementContext(_ctx, getState()); + enterRule(_localctx, 326, RULE_returnStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1766); + match(RETURN); + setState(1768); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1767); + expression(); + } + } + + setState(1770); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ThrowStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ThrowStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_throwStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterThrowStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitThrowStatement(this); + } + } + + public final ThrowStatementContext throwStatement() throws RecognitionException { + ThrowStatementContext _localctx = new ThrowStatementContext(_ctx, getState()); + enterRule(_localctx, 328, RULE_throwStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1772); + match(THROW); + setState(1773); + expression(); + setState(1774); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SynchronizedStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public SynchronizedStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_synchronizedStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSynchronizedStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSynchronizedStatement(this); + } + } + + public final SynchronizedStatementContext synchronizedStatement() throws RecognitionException { + SynchronizedStatementContext _localctx = new SynchronizedStatementContext(_ctx, getState()); + enterRule(_localctx, 330, RULE_synchronizedStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1776); + match(SYNCHRONIZED); + setState(1777); + match(LPAREN); + setState(1778); + expression(); + setState(1779); + match(RPAREN); + setState(1780); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TryStatementContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public CatchesContext catches() { + return getRuleContext(CatchesContext.class,0); + } + public Finally_Context finally_() { + return getRuleContext(Finally_Context.class,0); + } + public TryWithResourcesStatementContext tryWithResourcesStatement() { + return getRuleContext(TryWithResourcesStatementContext.class,0); + } + public TryStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_tryStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTryStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTryStatement(this); + } + } + + public final TryStatementContext tryStatement() throws RecognitionException { + TryStatementContext _localctx = new TryStatementContext(_ctx, getState()); + enterRule(_localctx, 332, RULE_tryStatement); + int _la; + try { + setState(1794); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,183,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1782); + match(TRY); + setState(1783); + block(); + setState(1784); + catches(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1786); + match(TRY); + setState(1787); + block(); + setState(1789); + _la = _input.LA(1); + if (_la==CATCH) { + { + setState(1788); + catches(); + } + } + + setState(1791); + finally_(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1793); + tryWithResourcesStatement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CatchesContext extends ParserRuleContext { + public List catchClause() { + return getRuleContexts(CatchClauseContext.class); + } + public CatchClauseContext catchClause(int i) { + return getRuleContext(CatchClauseContext.class,i); + } + public CatchesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_catches; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatches(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatches(this); + } + } + + public final CatchesContext catches() throws RecognitionException { + CatchesContext _localctx = new CatchesContext(_ctx, getState()); + enterRule(_localctx, 334, RULE_catches); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1796); + catchClause(); + setState(1800); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==CATCH) { + { + { + setState(1797); + catchClause(); + } + } + setState(1802); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CatchClauseContext extends ParserRuleContext { + public CatchFormalParameterContext catchFormalParameter() { + return getRuleContext(CatchFormalParameterContext.class,0); + } + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public CatchClauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_catchClause; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchClause(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchClause(this); + } + } + + public final CatchClauseContext catchClause() throws RecognitionException { + CatchClauseContext _localctx = new CatchClauseContext(_ctx, getState()); + enterRule(_localctx, 336, RULE_catchClause); + try { + enterOuterAlt(_localctx, 1); + { + setState(1803); + match(CATCH); + setState(1804); + match(LPAREN); + setState(1805); + catchFormalParameter(); + setState(1806); + match(RPAREN); + setState(1807); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CatchFormalParameterContext extends ParserRuleContext { + public CatchTypeContext catchType() { + return getRuleContext(CatchTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public CatchFormalParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_catchFormalParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchFormalParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchFormalParameter(this); + } + } + + public final CatchFormalParameterContext catchFormalParameter() throws RecognitionException { + CatchFormalParameterContext _localctx = new CatchFormalParameterContext(_ctx, getState()); + enterRule(_localctx, 338, RULE_catchFormalParameter); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1812); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1809); + variableModifier(); + } + } + setState(1814); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1815); + catchType(); + setState(1816); + variableDeclaratorId(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CatchTypeContext extends ParserRuleContext { + public UnannClassTypeContext unannClassType() { + return getRuleContext(UnannClassTypeContext.class,0); + } + public List classType() { + return getRuleContexts(ClassTypeContext.class); + } + public ClassTypeContext classType(int i) { + return getRuleContext(ClassTypeContext.class,i); + } + public CatchTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_catchType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchType(this); + } + } + + public final CatchTypeContext catchType() throws RecognitionException { + CatchTypeContext _localctx = new CatchTypeContext(_ctx, getState()); + enterRule(_localctx, 340, RULE_catchType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1818); + unannClassType(); + setState(1823); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==BITOR) { + { + { + setState(1819); + match(BITOR); + setState(1820); + classType(); + } + } + setState(1825); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class Finally_Context extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public Finally_Context(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_finally_; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFinally_(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFinally_(this); + } + } + + public final Finally_Context finally_() throws RecognitionException { + Finally_Context _localctx = new Finally_Context(_ctx, getState()); + enterRule(_localctx, 342, RULE_finally_); + try { + enterOuterAlt(_localctx, 1); + { + setState(1826); + match(FINALLY); + setState(1827); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TryWithResourcesStatementContext extends ParserRuleContext { + public ResourceSpecificationContext resourceSpecification() { + return getRuleContext(ResourceSpecificationContext.class,0); + } + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public CatchesContext catches() { + return getRuleContext(CatchesContext.class,0); + } + public Finally_Context finally_() { + return getRuleContext(Finally_Context.class,0); + } + public TryWithResourcesStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_tryWithResourcesStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTryWithResourcesStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTryWithResourcesStatement(this); + } + } + + public final TryWithResourcesStatementContext tryWithResourcesStatement() throws RecognitionException { + TryWithResourcesStatementContext _localctx = new TryWithResourcesStatementContext(_ctx, getState()); + enterRule(_localctx, 344, RULE_tryWithResourcesStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1829); + match(TRY); + setState(1830); + resourceSpecification(); + setState(1831); + block(); + setState(1833); + _la = _input.LA(1); + if (_la==CATCH) { + { + setState(1832); + catches(); + } + } + + setState(1836); + _la = _input.LA(1); + if (_la==FINALLY) { + { + setState(1835); + finally_(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResourceSpecificationContext extends ParserRuleContext { + public ResourceListContext resourceList() { + return getRuleContext(ResourceListContext.class,0); + } + public ResourceSpecificationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_resourceSpecification; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResourceSpecification(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResourceSpecification(this); + } + } + + public final ResourceSpecificationContext resourceSpecification() throws RecognitionException { + ResourceSpecificationContext _localctx = new ResourceSpecificationContext(_ctx, getState()); + enterRule(_localctx, 346, RULE_resourceSpecification); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1838); + match(LPAREN); + setState(1839); + resourceList(); + setState(1841); + _la = _input.LA(1); + if (_la==SEMI) { + { + setState(1840); + match(SEMI); + } + } + + setState(1843); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResourceListContext extends ParserRuleContext { + public List resource() { + return getRuleContexts(ResourceContext.class); + } + public ResourceContext resource(int i) { + return getRuleContext(ResourceContext.class,i); + } + public ResourceListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_resourceList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResourceList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResourceList(this); + } + } + + public final ResourceListContext resourceList() throws RecognitionException { + ResourceListContext _localctx = new ResourceListContext(_ctx, getState()); + enterRule(_localctx, 348, RULE_resourceList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1845); + resource(); + setState(1850); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,190,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1846); + match(SEMI); + setState(1847); + resource(); + } + } + } + setState(1852); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,190,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResourceContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public ResourceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_resource; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResource(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResource(this); + } + } + + public final ResourceContext resource() throws RecognitionException { + ResourceContext _localctx = new ResourceContext(_ctx, getState()); + enterRule(_localctx, 350, RULE_resource); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1856); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1853); + variableModifier(); + } + } + setState(1858); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1859); + unannType(); + setState(1860); + variableDeclaratorId(); + setState(1861); + match(ASSIGN); + setState(1862); + expression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryContext extends ParserRuleContext { + public PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() { + return getRuleContext(PrimaryNoNewArray_lfno_primaryContext.class,0); + } + public ArrayCreationExpressionContext arrayCreationExpression() { + return getRuleContext(ArrayCreationExpressionContext.class,0); + } + public List primaryNoNewArray_lf_primary() { + return getRuleContexts(PrimaryNoNewArray_lf_primaryContext.class); + } + public PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary(int i) { + return getRuleContext(PrimaryNoNewArray_lf_primaryContext.class,i); + } + public PrimaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimary(this); + } + } + + public final PrimaryContext primary() throws RecognitionException { + PrimaryContext _localctx = new PrimaryContext(_ctx, getState()); + enterRule(_localctx, 352, RULE_primary); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1866); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,192,_ctx) ) { + case 1: + { + setState(1864); + primaryNoNewArray_lfno_primary(); + } + break; + case 2: + { + setState(1865); + arrayCreationExpression(); + } + break; + } + setState(1871); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,193,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1868); + primaryNoNewArray_lf_primary(); + } + } + } + setState(1873); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,193,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArrayContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { + return getRuleContext(ClassInstanceCreationExpressionContext.class,0); + } + public FieldAccessContext fieldAccess() { + return getRuleContext(FieldAccessContext.class,0); + } + public ArrayAccessContext arrayAccess() { + return getRuleContext(ArrayAccessContext.class,0); + } + public MethodInvocationContext methodInvocation() { + return getRuleContext(MethodInvocationContext.class,0); + } + public MethodReferenceContext methodReference() { + return getRuleContext(MethodReferenceContext.class,0); + } + public PrimaryNoNewArrayContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray(this); + } + } + + public final PrimaryNoNewArrayContext primaryNoNewArray() throws RecognitionException { + PrimaryNoNewArrayContext _localctx = new PrimaryNoNewArrayContext(_ctx, getState()); + enterRule(_localctx, 354, RULE_primaryNoNewArray); + int _la; + try { + setState(1903); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,195,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1874); + literal(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1875); + typeName(); + setState(1880); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1876); + match(LBRACK); + setState(1877); + match(RBRACK); + } + } + setState(1882); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1883); + match(DOT); + setState(1884); + match(CLASS); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1886); + match(VOID); + setState(1887); + match(DOT); + setState(1888); + match(CLASS); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1889); + match(THIS); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1890); + typeName(); + setState(1891); + match(DOT); + setState(1892); + match(THIS); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1894); + match(LPAREN); + setState(1895); + expression(); + setState(1896); + match(RPAREN); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(1898); + classInstanceCreationExpression(); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(1899); + fieldAccess(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(1900); + arrayAccess(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(1901); + methodInvocation(); + } + break; + case 11: + enterOuterAlt(_localctx, 11); + { + setState(1902); + methodReference(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lf_arrayAccessContext extends ParserRuleContext { + public PrimaryNoNewArray_lf_arrayAccessContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_arrayAccess; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_arrayAccess(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_arrayAccess(this); + } + } + + public final PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess() throws RecognitionException { + PrimaryNoNewArray_lf_arrayAccessContext _localctx = new PrimaryNoNewArray_lf_arrayAccessContext(_ctx, getState()); + enterRule(_localctx, 356, RULE_primaryNoNewArray_lf_arrayAccess); + try { + enterOuterAlt(_localctx, 1); + { + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lfno_arrayAccessContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { + return getRuleContext(ClassInstanceCreationExpressionContext.class,0); + } + public FieldAccessContext fieldAccess() { + return getRuleContext(FieldAccessContext.class,0); + } + public MethodInvocationContext methodInvocation() { + return getRuleContext(MethodInvocationContext.class,0); + } + public MethodReferenceContext methodReference() { + return getRuleContext(MethodReferenceContext.class,0); + } + public PrimaryNoNewArray_lfno_arrayAccessContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_arrayAccess; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_arrayAccess(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_arrayAccess(this); + } + } + + public final PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() throws RecognitionException { + PrimaryNoNewArray_lfno_arrayAccessContext _localctx = new PrimaryNoNewArray_lfno_arrayAccessContext(_ctx, getState()); + enterRule(_localctx, 358, RULE_primaryNoNewArray_lfno_arrayAccess); + int _la; + try { + setState(1935); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,197,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1907); + literal(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1908); + typeName(); + setState(1913); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1909); + match(LBRACK); + setState(1910); + match(RBRACK); + } + } + setState(1915); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1916); + match(DOT); + setState(1917); + match(CLASS); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1919); + match(VOID); + setState(1920); + match(DOT); + setState(1921); + match(CLASS); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1922); + match(THIS); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1923); + typeName(); + setState(1924); + match(DOT); + setState(1925); + match(THIS); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1927); + match(LPAREN); + setState(1928); + expression(); + setState(1929); + match(RPAREN); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(1931); + classInstanceCreationExpression(); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(1932); + fieldAccess(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(1933); + methodInvocation(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(1934); + methodReference(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lf_primaryContext extends ParserRuleContext { + public ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() { + return getRuleContext(ClassInstanceCreationExpression_lf_primaryContext.class,0); + } + public FieldAccess_lf_primaryContext fieldAccess_lf_primary() { + return getRuleContext(FieldAccess_lf_primaryContext.class,0); + } + public ArrayAccess_lf_primaryContext arrayAccess_lf_primary() { + return getRuleContext(ArrayAccess_lf_primaryContext.class,0); + } + public MethodInvocation_lf_primaryContext methodInvocation_lf_primary() { + return getRuleContext(MethodInvocation_lf_primaryContext.class,0); + } + public MethodReference_lf_primaryContext methodReference_lf_primary() { + return getRuleContext(MethodReference_lf_primaryContext.class,0); + } + public PrimaryNoNewArray_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary(this); + } + } + + public final PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary() throws RecognitionException { + PrimaryNoNewArray_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 360, RULE_primaryNoNewArray_lf_primary); + try { + setState(1942); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1937); + classInstanceCreationExpression_lf_primary(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1938); + fieldAccess_lf_primary(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1939); + arrayAccess_lf_primary(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1940); + methodInvocation_lf_primary(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1941); + methodReference_lf_primary(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext extends ParserRuleContext { + public PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); + } + } + + public final PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary() throws RecognitionException { + PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 362, RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary); + try { + enterOuterAlt(_localctx, 1); + { + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext extends ParserRuleContext { + public ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() { + return getRuleContext(ClassInstanceCreationExpression_lf_primaryContext.class,0); + } + public FieldAccess_lf_primaryContext fieldAccess_lf_primary() { + return getRuleContext(FieldAccess_lf_primaryContext.class,0); + } + public MethodInvocation_lf_primaryContext methodInvocation_lf_primary() { + return getRuleContext(MethodInvocation_lf_primaryContext.class,0); + } + public MethodReference_lf_primaryContext methodReference_lf_primary() { + return getRuleContext(MethodReference_lf_primaryContext.class,0); + } + public PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); + } + } + + public final PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary() throws RecognitionException { + PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 364, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary); + try { + setState(1950); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,199,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1946); + classInstanceCreationExpression_lf_primary(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1947); + fieldAccess_lf_primary(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1948); + methodInvocation_lf_primary(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1949); + methodReference_lf_primary(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lfno_primaryContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public UnannPrimitiveTypeContext unannPrimitiveType() { + return getRuleContext(UnannPrimitiveTypeContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() { + return getRuleContext(ClassInstanceCreationExpression_lfno_primaryContext.class,0); + } + public FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() { + return getRuleContext(FieldAccess_lfno_primaryContext.class,0); + } + public ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() { + return getRuleContext(ArrayAccess_lfno_primaryContext.class,0); + } + public MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() { + return getRuleContext(MethodInvocation_lfno_primaryContext.class,0); + } + public MethodReference_lfno_primaryContext methodReference_lfno_primary() { + return getRuleContext(MethodReference_lfno_primaryContext.class,0); + } + public PrimaryNoNewArray_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary(this); + } + } + + public final PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() throws RecognitionException { + PrimaryNoNewArray_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 366, RULE_primaryNoNewArray_lfno_primary); + int _la; + try { + setState(1992); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,202,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1952); + literal(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1953); + typeName(); + setState(1958); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1954); + match(LBRACK); + setState(1955); + match(RBRACK); + } + } + setState(1960); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1961); + match(DOT); + setState(1962); + match(CLASS); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1964); + unannPrimitiveType(); + setState(1969); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1965); + match(LBRACK); + setState(1966); + match(RBRACK); + } + } + setState(1971); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1972); + match(DOT); + setState(1973); + match(CLASS); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1975); + match(VOID); + setState(1976); + match(DOT); + setState(1977); + match(CLASS); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1978); + match(THIS); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1979); + typeName(); + setState(1980); + match(DOT); + setState(1981); + match(THIS); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(1983); + match(LPAREN); + setState(1984); + expression(); + setState(1985); + match(RPAREN); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(1987); + classInstanceCreationExpression_lfno_primary(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(1988); + fieldAccess_lfno_primary(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(1989); + arrayAccess_lfno_primary(); + } + break; + case 11: + enterOuterAlt(_localctx, 11); + { + setState(1990); + methodInvocation_lfno_primary(); + } + break; + case 12: + enterOuterAlt(_localctx, 12); + { + setState(1991); + methodReference_lfno_primary(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext extends ParserRuleContext { + public PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); + } + } + + public final PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary() throws RecognitionException { + PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 368, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary); + try { + enterOuterAlt(_localctx, 1); + { + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public UnannPrimitiveTypeContext unannPrimitiveType() { + return getRuleContext(UnannPrimitiveTypeContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() { + return getRuleContext(ClassInstanceCreationExpression_lfno_primaryContext.class,0); + } + public FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() { + return getRuleContext(FieldAccess_lfno_primaryContext.class,0); + } + public MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() { + return getRuleContext(MethodInvocation_lfno_primaryContext.class,0); + } + public MethodReference_lfno_primaryContext methodReference_lfno_primary() { + return getRuleContext(MethodReference_lfno_primaryContext.class,0); + } + public PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); + } + } + + public final PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary() throws RecognitionException { + PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 370, RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary); + int _la; + try { + setState(2035); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,205,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1996); + literal(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1997); + typeName(); + setState(2002); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1998); + match(LBRACK); + setState(1999); + match(RBRACK); + } + } + setState(2004); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2005); + match(DOT); + setState(2006); + match(CLASS); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2008); + unannPrimitiveType(); + setState(2013); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(2009); + match(LBRACK); + setState(2010); + match(RBRACK); + } + } + setState(2015); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2016); + match(DOT); + setState(2017); + match(CLASS); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2019); + match(VOID); + setState(2020); + match(DOT); + setState(2021); + match(CLASS); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2022); + match(THIS); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(2023); + typeName(); + setState(2024); + match(DOT); + setState(2025); + match(THIS); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(2027); + match(LPAREN); + setState(2028); + expression(); + setState(2029); + match(RPAREN); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(2031); + classInstanceCreationExpression_lfno_primary(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(2032); + fieldAccess_lfno_primary(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(2033); + methodInvocation_lfno_primary(); + } + break; + case 11: + enterOuterAlt(_localctx, 11); + { + setState(2034); + methodReference_lfno_primary(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassInstanceCreationExpressionContext extends ParserRuleContext { + public List Identifier() { return getTokens(Java8Parser.Identifier); } + public TerminalNode Identifier(int i) { + return getToken(Java8Parser.Identifier, i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { + return getRuleContext(TypeArgumentsOrDiamondContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public ClassInstanceCreationExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression(this); + } + } + + public final ClassInstanceCreationExpressionContext classInstanceCreationExpression() throws RecognitionException { + ClassInstanceCreationExpressionContext _localctx = new ClassInstanceCreationExpressionContext(_ctx, getState()); + enterRule(_localctx, 372, RULE_classInstanceCreationExpression); + int _la; + try { + setState(2120); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,223,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2037); + match(NEW); + setState(2039); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2038); + typeArguments(); + } + } + + setState(2044); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2041); + annotation(); + } + } + setState(2046); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2047); + match(Identifier); + setState(2058); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==DOT) { + { + { + setState(2048); + match(DOT); + setState(2052); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2049); + annotation(); + } + } + setState(2054); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2055); + match(Identifier); + } + } + setState(2060); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2062); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2061); + typeArgumentsOrDiamond(); + } + } + + setState(2064); + match(LPAREN); + setState(2066); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2065); + argumentList(); + } + } + + setState(2068); + match(RPAREN); + setState(2070); + _la = _input.LA(1); + if (_la==LBRACE) { + { + setState(2069); + classBody(); + } + } + + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2072); + expressionName(); + setState(2073); + match(DOT); + setState(2074); + match(NEW); + setState(2076); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2075); + typeArguments(); + } + } + + setState(2081); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2078); + annotation(); + } + } + setState(2083); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2084); + match(Identifier); + setState(2086); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2085); + typeArgumentsOrDiamond(); + } + } + + setState(2088); + match(LPAREN); + setState(2090); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2089); + argumentList(); + } + } + + setState(2092); + match(RPAREN); + setState(2094); + _la = _input.LA(1); + if (_la==LBRACE) { + { + setState(2093); + classBody(); + } + } + + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2096); + primary(); + setState(2097); + match(DOT); + setState(2098); + match(NEW); + setState(2100); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2099); + typeArguments(); + } + } + + setState(2105); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2102); + annotation(); + } + } + setState(2107); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2108); + match(Identifier); + setState(2110); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2109); + typeArgumentsOrDiamond(); + } + } + + setState(2112); + match(LPAREN); + setState(2114); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2113); + argumentList(); + } + } + + setState(2116); + match(RPAREN); + setState(2118); + _la = _input.LA(1); + if (_la==LBRACE) { + { + setState(2117); + classBody(); + } + } + + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassInstanceCreationExpression_lf_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { + return getRuleContext(TypeArgumentsOrDiamondContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public ClassInstanceCreationExpression_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression_lf_primary(this); + } + } + + public final ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() throws RecognitionException { + ClassInstanceCreationExpression_lf_primaryContext _localctx = new ClassInstanceCreationExpression_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 374, RULE_classInstanceCreationExpression_lf_primary); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2122); + match(DOT); + setState(2123); + match(NEW); + setState(2125); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2124); + typeArguments(); + } + } + + setState(2130); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2127); + annotation(); + } + } + setState(2132); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2133); + match(Identifier); + setState(2135); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2134); + typeArgumentsOrDiamond(); + } + } + + setState(2137); + match(LPAREN); + setState(2139); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2138); + argumentList(); + } + } + + setState(2141); + match(RPAREN); + setState(2143); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,228,_ctx) ) { + case 1: + { + setState(2142); + classBody(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassInstanceCreationExpression_lfno_primaryContext extends ParserRuleContext { + public List Identifier() { return getTokens(Java8Parser.Identifier); } + public TerminalNode Identifier(int i) { + return getToken(Java8Parser.Identifier, i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { + return getRuleContext(TypeArgumentsOrDiamondContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public ClassInstanceCreationExpression_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression_lfno_primary(this); + } + } + + public final ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() throws RecognitionException { + ClassInstanceCreationExpression_lfno_primaryContext _localctx = new ClassInstanceCreationExpression_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 376, RULE_classInstanceCreationExpression_lfno_primary); + int _la; + try { + setState(2204); + switch (_input.LA(1)) { + case NEW: + enterOuterAlt(_localctx, 1); + { + setState(2145); + match(NEW); + setState(2147); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2146); + typeArguments(); + } + } + + setState(2152); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2149); + annotation(); + } + } + setState(2154); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2155); + match(Identifier); + setState(2166); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==DOT) { + { + { + setState(2156); + match(DOT); + setState(2160); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2157); + annotation(); + } + } + setState(2162); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2163); + match(Identifier); + } + } + setState(2168); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2170); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2169); + typeArgumentsOrDiamond(); + } + } + + setState(2172); + match(LPAREN); + setState(2174); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2173); + argumentList(); + } + } + + setState(2176); + match(RPAREN); + setState(2178); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,235,_ctx) ) { + case 1: + { + setState(2177); + classBody(); + } + break; + } + } + break; + case Identifier: + enterOuterAlt(_localctx, 2); + { + setState(2180); + expressionName(); + setState(2181); + match(DOT); + setState(2182); + match(NEW); + setState(2184); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2183); + typeArguments(); + } + } + + setState(2189); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2186); + annotation(); + } + } + setState(2191); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2192); + match(Identifier); + setState(2194); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2193); + typeArgumentsOrDiamond(); + } + } + + setState(2196); + match(LPAREN); + setState(2198); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2197); + argumentList(); + } + } + + setState(2200); + match(RPAREN); + setState(2202); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,240,_ctx) ) { + case 1: + { + setState(2201); + classBody(); + } + break; + } + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeArgumentsOrDiamondContext extends ParserRuleContext { + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public TypeArgumentsOrDiamondContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeArgumentsOrDiamond; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgumentsOrDiamond(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgumentsOrDiamond(this); + } + } + + public final TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() throws RecognitionException { + TypeArgumentsOrDiamondContext _localctx = new TypeArgumentsOrDiamondContext(_ctx, getState()); + enterRule(_localctx, 378, RULE_typeArgumentsOrDiamond); + try { + setState(2209); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,242,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2206); + typeArguments(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2207); + match(LT); + setState(2208); + match(GT); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldAccessContext extends ParserRuleContext { + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public FieldAccessContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldAccess; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess(this); + } + } + + public final FieldAccessContext fieldAccess() throws RecognitionException { + FieldAccessContext _localctx = new FieldAccessContext(_ctx, getState()); + enterRule(_localctx, 380, RULE_fieldAccess); + try { + setState(2224); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,243,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2211); + primary(); + setState(2212); + match(DOT); + setState(2213); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2215); + match(SUPER); + setState(2216); + match(DOT); + setState(2217); + match(Identifier); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2218); + typeName(); + setState(2219); + match(DOT); + setState(2220); + match(SUPER); + setState(2221); + match(DOT); + setState(2222); + match(Identifier); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldAccess_lf_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public FieldAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldAccess_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess_lf_primary(this); + } + } + + public final FieldAccess_lf_primaryContext fieldAccess_lf_primary() throws RecognitionException { + FieldAccess_lf_primaryContext _localctx = new FieldAccess_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 382, RULE_fieldAccess_lf_primary); + try { + enterOuterAlt(_localctx, 1); + { + setState(2226); + match(DOT); + setState(2227); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldAccess_lfno_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public FieldAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldAccess_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess_lfno_primary(this); + } + } + + public final FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() throws RecognitionException { + FieldAccess_lfno_primaryContext _localctx = new FieldAccess_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 384, RULE_fieldAccess_lfno_primary); + try { + setState(2238); + switch (_input.LA(1)) { + case SUPER: + enterOuterAlt(_localctx, 1); + { + setState(2229); + match(SUPER); + setState(2230); + match(DOT); + setState(2231); + match(Identifier); + } + break; + case Identifier: + enterOuterAlt(_localctx, 2); + { + setState(2232); + typeName(); + setState(2233); + match(DOT); + setState(2234); + match(SUPER); + setState(2235); + match(DOT); + setState(2236); + match(Identifier); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayAccessContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() { + return getRuleContext(PrimaryNoNewArray_lfno_arrayAccessContext.class,0); + } + public List primaryNoNewArray_lf_arrayAccess() { + return getRuleContexts(PrimaryNoNewArray_lf_arrayAccessContext.class); + } + public PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess(int i) { + return getRuleContext(PrimaryNoNewArray_lf_arrayAccessContext.class,i); + } + public ArrayAccessContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayAccess; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess(this); + } + } + + public final ArrayAccessContext arrayAccess() throws RecognitionException { + ArrayAccessContext _localctx = new ArrayAccessContext(_ctx, getState()); + enterRule(_localctx, 386, RULE_arrayAccess); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2250); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,245,_ctx) ) { + case 1: + { + setState(2240); + expressionName(); + setState(2241); + match(LBRACK); + setState(2242); + expression(); + setState(2243); + match(RBRACK); + } + break; + case 2: + { + setState(2245); + primaryNoNewArray_lfno_arrayAccess(); + setState(2246); + match(LBRACK); + setState(2247); + expression(); + setState(2248); + match(RBRACK); + } + break; + } + setState(2259); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(2252); + primaryNoNewArray_lf_arrayAccess(); + setState(2253); + match(LBRACK); + setState(2254); + expression(); + setState(2255); + match(RBRACK); + } + } + setState(2261); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayAccess_lf_primaryContext extends ParserRuleContext { + public PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary() { + return getRuleContext(PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext.class,0); + } + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public List primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary() { + return getRuleContexts(PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext.class); + } + public PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(int i) { + return getRuleContext(PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext.class,i); + } + public ArrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayAccess_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess_lf_primary(this); + } + } + + public final ArrayAccess_lf_primaryContext arrayAccess_lf_primary() throws RecognitionException { + ArrayAccess_lf_primaryContext _localctx = new ArrayAccess_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 388, RULE_arrayAccess_lf_primary); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2262); + primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); + setState(2263); + match(LBRACK); + setState(2264); + expression(); + setState(2265); + match(RBRACK); + } + setState(2274); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,247,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(2267); + primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); + setState(2268); + match(LBRACK); + setState(2269); + expression(); + setState(2270); + match(RBRACK); + } + } + } + setState(2276); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,247,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayAccess_lfno_primaryContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary() { + return getRuleContext(PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext.class,0); + } + public List primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary() { + return getRuleContexts(PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext.class); + } + public PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(int i) { + return getRuleContext(PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext.class,i); + } + public ArrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayAccess_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess_lfno_primary(this); + } + } + + public final ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() throws RecognitionException { + ArrayAccess_lfno_primaryContext _localctx = new ArrayAccess_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 390, RULE_arrayAccess_lfno_primary); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(2287); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,248,_ctx) ) { + case 1: + { + setState(2277); + expressionName(); + setState(2278); + match(LBRACK); + setState(2279); + expression(); + setState(2280); + match(RBRACK); + } + break; + case 2: + { + setState(2282); + primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); + setState(2283); + match(LBRACK); + setState(2284); + expression(); + setState(2285); + match(RBRACK); + } + break; + } + setState(2296); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,249,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(2289); + primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); + setState(2290); + match(LBRACK); + setState(2291); + expression(); + setState(2292); + match(RBRACK); + } + } + } + setState(2298); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,249,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodInvocationContext extends ParserRuleContext { + public MethodNameContext methodName() { + return getRuleContext(MethodNameContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public MethodInvocationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodInvocation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation(this); + } + } + + public final MethodInvocationContext methodInvocation() throws RecognitionException { + MethodInvocationContext _localctx = new MethodInvocationContext(_ctx, getState()); + enterRule(_localctx, 392, RULE_methodInvocation); + int _la; + try { + setState(2367); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,261,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2299); + methodName(); + setState(2300); + match(LPAREN); + setState(2302); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2301); + argumentList(); + } + } + + setState(2304); + match(RPAREN); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2306); + typeName(); + setState(2307); + match(DOT); + setState(2309); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2308); + typeArguments(); + } + } + + setState(2311); + match(Identifier); + setState(2312); + match(LPAREN); + setState(2314); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2313); + argumentList(); + } + } + + setState(2316); + match(RPAREN); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2318); + expressionName(); + setState(2319); + match(DOT); + setState(2321); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2320); + typeArguments(); + } + } + + setState(2323); + match(Identifier); + setState(2324); + match(LPAREN); + setState(2326); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2325); + argumentList(); + } + } + + setState(2328); + match(RPAREN); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2330); + primary(); + setState(2331); + match(DOT); + setState(2333); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2332); + typeArguments(); + } + } + + setState(2335); + match(Identifier); + setState(2336); + match(LPAREN); + setState(2338); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2337); + argumentList(); + } + } + + setState(2340); + match(RPAREN); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2342); + match(SUPER); + setState(2343); + match(DOT); + setState(2345); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2344); + typeArguments(); + } + } + + setState(2347); + match(Identifier); + setState(2348); + match(LPAREN); + setState(2350); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2349); + argumentList(); + } + } + + setState(2352); + match(RPAREN); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(2353); + typeName(); + setState(2354); + match(DOT); + setState(2355); + match(SUPER); + setState(2356); + match(DOT); + setState(2358); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2357); + typeArguments(); + } + } + + setState(2360); + match(Identifier); + setState(2361); + match(LPAREN); + setState(2363); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2362); + argumentList(); + } + } + + setState(2365); + match(RPAREN); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodInvocation_lf_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public MethodInvocation_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodInvocation_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation_lf_primary(this); + } + } + + public final MethodInvocation_lf_primaryContext methodInvocation_lf_primary() throws RecognitionException { + MethodInvocation_lf_primaryContext _localctx = new MethodInvocation_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 394, RULE_methodInvocation_lf_primary); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2369); + match(DOT); + setState(2371); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2370); + typeArguments(); + } + } + + setState(2373); + match(Identifier); + setState(2374); + match(LPAREN); + setState(2376); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2375); + argumentList(); + } + } + + setState(2378); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodInvocation_lfno_primaryContext extends ParserRuleContext { + public MethodNameContext methodName() { + return getRuleContext(MethodNameContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public MethodInvocation_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodInvocation_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation_lfno_primary(this); + } + } + + public final MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() throws RecognitionException { + MethodInvocation_lfno_primaryContext _localctx = new MethodInvocation_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 396, RULE_methodInvocation_lfno_primary); + int _la; + try { + setState(2436); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,273,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2380); + methodName(); + setState(2381); + match(LPAREN); + setState(2383); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2382); + argumentList(); + } + } + + setState(2385); + match(RPAREN); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2387); + typeName(); + setState(2388); + match(DOT); + setState(2390); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2389); + typeArguments(); + } + } + + setState(2392); + match(Identifier); + setState(2393); + match(LPAREN); + setState(2395); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2394); + argumentList(); + } + } + + setState(2397); + match(RPAREN); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2399); + expressionName(); + setState(2400); + match(DOT); + setState(2402); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2401); + typeArguments(); + } + } + + setState(2404); + match(Identifier); + setState(2405); + match(LPAREN); + setState(2407); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2406); + argumentList(); + } + } + + setState(2409); + match(RPAREN); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2411); + match(SUPER); + setState(2412); + match(DOT); + setState(2414); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2413); + typeArguments(); + } + } + + setState(2416); + match(Identifier); + setState(2417); + match(LPAREN); + setState(2419); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2418); + argumentList(); + } + } + + setState(2421); + match(RPAREN); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2422); + typeName(); + setState(2423); + match(DOT); + setState(2424); + match(SUPER); + setState(2425); + match(DOT); + setState(2427); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2426); + typeArguments(); + } + } + + setState(2429); + match(Identifier); + setState(2430); + match(LPAREN); + setState(2432); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2431); + argumentList(); + } + } + + setState(2434); + match(RPAREN); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArgumentListContext extends ParserRuleContext { + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public ArgumentListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_argumentList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArgumentList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArgumentList(this); + } + } + + public final ArgumentListContext argumentList() throws RecognitionException { + ArgumentListContext _localctx = new ArgumentListContext(_ctx, getState()); + enterRule(_localctx, 398, RULE_argumentList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2438); + expression(); + setState(2443); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(2439); + match(COMMA); + setState(2440); + expression(); + } + } + setState(2445); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodReferenceContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public ArrayTypeContext arrayType() { + return getRuleContext(ArrayTypeContext.class,0); + } + public MethodReferenceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodReference; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference(this); + } + } + + public final MethodReferenceContext methodReference() throws RecognitionException { + MethodReferenceContext _localctx = new MethodReferenceContext(_ctx, getState()); + enterRule(_localctx, 400, RULE_methodReference); + int _la; + try { + setState(2493); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,281,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2446); + expressionName(); + setState(2447); + match(COLONCOLON); + setState(2449); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2448); + typeArguments(); + } + } + + setState(2451); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2453); + referenceType(); + setState(2454); + match(COLONCOLON); + setState(2456); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2455); + typeArguments(); + } + } + + setState(2458); + match(Identifier); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2460); + primary(); + setState(2461); + match(COLONCOLON); + setState(2463); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2462); + typeArguments(); + } + } + + setState(2465); + match(Identifier); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2467); + match(SUPER); + setState(2468); + match(COLONCOLON); + setState(2470); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2469); + typeArguments(); + } + } + + setState(2472); + match(Identifier); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2473); + typeName(); + setState(2474); + match(DOT); + setState(2475); + match(SUPER); + setState(2476); + match(COLONCOLON); + setState(2478); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2477); + typeArguments(); + } + } + + setState(2480); + match(Identifier); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(2482); + classType(); + setState(2483); + match(COLONCOLON); + setState(2485); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2484); + typeArguments(); + } + } + + setState(2487); + match(NEW); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(2489); + arrayType(); + setState(2490); + match(COLONCOLON); + setState(2491); + match(NEW); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodReference_lf_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public MethodReference_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodReference_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference_lf_primary(this); + } + } + + public final MethodReference_lf_primaryContext methodReference_lf_primary() throws RecognitionException { + MethodReference_lf_primaryContext _localctx = new MethodReference_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 402, RULE_methodReference_lf_primary); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2495); + match(COLONCOLON); + setState(2497); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2496); + typeArguments(); + } + } + + setState(2499); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodReference_lfno_primaryContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public ArrayTypeContext arrayType() { + return getRuleContext(ArrayTypeContext.class,0); + } + public MethodReference_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodReference_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference_lfno_primary(this); + } + } + + public final MethodReference_lfno_primaryContext methodReference_lfno_primary() throws RecognitionException { + MethodReference_lfno_primaryContext _localctx = new MethodReference_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 404, RULE_methodReference_lfno_primary); + int _la; + try { + setState(2541); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,288,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2501); + expressionName(); + setState(2502); + match(COLONCOLON); + setState(2504); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2503); + typeArguments(); + } + } + + setState(2506); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2508); + referenceType(); + setState(2509); + match(COLONCOLON); + setState(2511); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2510); + typeArguments(); + } + } + + setState(2513); + match(Identifier); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2515); + match(SUPER); + setState(2516); + match(COLONCOLON); + setState(2518); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2517); + typeArguments(); + } + } + + setState(2520); + match(Identifier); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2521); + typeName(); + setState(2522); + match(DOT); + setState(2523); + match(SUPER); + setState(2524); + match(COLONCOLON); + setState(2526); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2525); + typeArguments(); + } + } + + setState(2528); + match(Identifier); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2530); + classType(); + setState(2531); + match(COLONCOLON); + setState(2533); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2532); + typeArguments(); + } + } + + setState(2535); + match(NEW); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(2537); + arrayType(); + setState(2538); + match(COLONCOLON); + setState(2539); + match(NEW); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayCreationExpressionContext extends ParserRuleContext { + public PrimitiveTypeContext primitiveType() { + return getRuleContext(PrimitiveTypeContext.class,0); + } + public DimExprsContext dimExprs() { + return getRuleContext(DimExprsContext.class,0); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public ArrayInitializerContext arrayInitializer() { + return getRuleContext(ArrayInitializerContext.class,0); + } + public ArrayCreationExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayCreationExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayCreationExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayCreationExpression(this); + } + } + + public final ArrayCreationExpressionContext arrayCreationExpression() throws RecognitionException { + ArrayCreationExpressionContext _localctx = new ArrayCreationExpressionContext(_ctx, getState()); + enterRule(_localctx, 406, RULE_arrayCreationExpression); + try { + setState(2565); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2543); + match(NEW); + setState(2544); + primitiveType(); + setState(2545); + dimExprs(); + setState(2547); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,289,_ctx) ) { + case 1: + { + setState(2546); + dims(); + } + break; + } + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2549); + match(NEW); + setState(2550); + classOrInterfaceType(); + setState(2551); + dimExprs(); + setState(2553); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) { + case 1: + { + setState(2552); + dims(); + } + break; + } + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2555); + match(NEW); + setState(2556); + primitiveType(); + setState(2557); + dims(); + setState(2558); + arrayInitializer(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2560); + match(NEW); + setState(2561); + classOrInterfaceType(); + setState(2562); + dims(); + setState(2563); + arrayInitializer(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DimExprsContext extends ParserRuleContext { + public List dimExpr() { + return getRuleContexts(DimExprContext.class); + } + public DimExprContext dimExpr(int i) { + return getRuleContext(DimExprContext.class,i); + } + public DimExprsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dimExprs; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDimExprs(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDimExprs(this); + } + } + + public final DimExprsContext dimExprs() throws RecognitionException { + DimExprsContext _localctx = new DimExprsContext(_ctx, getState()); + enterRule(_localctx, 408, RULE_dimExprs); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(2567); + dimExpr(); + setState(2571); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,292,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(2568); + dimExpr(); + } + } + } + setState(2573); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,292,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DimExprContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public DimExprContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dimExpr; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDimExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDimExpr(this); + } + } + + public final DimExprContext dimExpr() throws RecognitionException { + DimExprContext _localctx = new DimExprContext(_ctx, getState()); + enterRule(_localctx, 410, RULE_dimExpr); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2577); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2574); + annotation(); + } + } + setState(2579); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2580); + match(LBRACK); + setState(2581); + expression(); + setState(2582); + match(RBRACK); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstantExpressionContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ConstantExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constantExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantExpression(this); + } + } + + public final ConstantExpressionContext constantExpression() throws RecognitionException { + ConstantExpressionContext _localctx = new ConstantExpressionContext(_ctx, getState()); + enterRule(_localctx, 412, RULE_constantExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2584); + expression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExpressionContext extends ParserRuleContext { + public LambdaExpressionContext lambdaExpression() { + return getRuleContext(LambdaExpressionContext.class,0); + } + public AssignmentExpressionContext assignmentExpression() { + return getRuleContext(AssignmentExpressionContext.class,0); + } + public ExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpression(this); + } + } + + public final ExpressionContext expression() throws RecognitionException { + ExpressionContext _localctx = new ExpressionContext(_ctx, getState()); + enterRule(_localctx, 414, RULE_expression); + try { + setState(2588); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,294,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2586); + lambdaExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2587); + assignmentExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LambdaExpressionContext extends ParserRuleContext { + public LambdaParametersContext lambdaParameters() { + return getRuleContext(LambdaParametersContext.class,0); + } + public LambdaBodyContext lambdaBody() { + return getRuleContext(LambdaBodyContext.class,0); + } + public LambdaExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_lambdaExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaExpression(this); + } + } + + public final LambdaExpressionContext lambdaExpression() throws RecognitionException { + LambdaExpressionContext _localctx = new LambdaExpressionContext(_ctx, getState()); + enterRule(_localctx, 416, RULE_lambdaExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2590); + lambdaParameters(); + setState(2591); + match(ARROW); + setState(2592); + lambdaBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LambdaParametersContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public FormalParameterListContext formalParameterList() { + return getRuleContext(FormalParameterListContext.class,0); + } + public InferredFormalParameterListContext inferredFormalParameterList() { + return getRuleContext(InferredFormalParameterListContext.class,0); + } + public LambdaParametersContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_lambdaParameters; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaParameters(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaParameters(this); + } + } + + public final LambdaParametersContext lambdaParameters() throws RecognitionException { + LambdaParametersContext _localctx = new LambdaParametersContext(_ctx, getState()); + enterRule(_localctx, 418, RULE_lambdaParameters); + int _la; + try { + setState(2604); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,296,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2594); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2595); + match(LPAREN); + setState(2597); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { + { + setState(2596); + formalParameterList(); + } + } + + setState(2599); + match(RPAREN); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2600); + match(LPAREN); + setState(2601); + inferredFormalParameterList(); + setState(2602); + match(RPAREN); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InferredFormalParameterListContext extends ParserRuleContext { + public List Identifier() { return getTokens(Java8Parser.Identifier); } + public TerminalNode Identifier(int i) { + return getToken(Java8Parser.Identifier, i); + } + public InferredFormalParameterListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inferredFormalParameterList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInferredFormalParameterList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInferredFormalParameterList(this); + } + } + + public final InferredFormalParameterListContext inferredFormalParameterList() throws RecognitionException { + InferredFormalParameterListContext _localctx = new InferredFormalParameterListContext(_ctx, getState()); + enterRule(_localctx, 420, RULE_inferredFormalParameterList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2606); + match(Identifier); + setState(2611); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(2607); + match(COMMA); + setState(2608); + match(Identifier); + } + } + setState(2613); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LambdaBodyContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public LambdaBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_lambdaBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaBody(this); + } + } + + public final LambdaBodyContext lambdaBody() throws RecognitionException { + LambdaBodyContext _localctx = new LambdaBodyContext(_ctx, getState()); + enterRule(_localctx, 422, RULE_lambdaBody); + try { + setState(2616); + switch (_input.LA(1)) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case NEW: + case SHORT: + case SUPER: + case THIS: + case VOID: + case IntegerLiteral: + case FloatingPointLiteral: + case BooleanLiteral: + case CharacterLiteral: + case StringLiteral: + case NullLiteral: + case LPAREN: + case BANG: + case TILDE: + case INC: + case DEC: + case ADD: + case SUB: + case Identifier: + case AT: + enterOuterAlt(_localctx, 1); + { + setState(2614); + expression(); + } + break; + case LBRACE: + enterOuterAlt(_localctx, 2); + { + setState(2615); + block(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssignmentExpressionContext extends ParserRuleContext { + public ConditionalExpressionContext conditionalExpression() { + return getRuleContext(ConditionalExpressionContext.class,0); + } + public AssignmentContext assignment() { + return getRuleContext(AssignmentContext.class,0); + } + public AssignmentExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assignmentExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignmentExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignmentExpression(this); + } + } + + public final AssignmentExpressionContext assignmentExpression() throws RecognitionException { + AssignmentExpressionContext _localctx = new AssignmentExpressionContext(_ctx, getState()); + enterRule(_localctx, 424, RULE_assignmentExpression); + try { + setState(2620); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,299,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2618); + conditionalExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2619); + assignment(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssignmentContext extends ParserRuleContext { + public LeftHandSideContext leftHandSide() { + return getRuleContext(LeftHandSideContext.class,0); + } + public AssignmentOperatorContext assignmentOperator() { + return getRuleContext(AssignmentOperatorContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public AssignmentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assignment; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignment(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignment(this); + } + } + + public final AssignmentContext assignment() throws RecognitionException { + AssignmentContext _localctx = new AssignmentContext(_ctx, getState()); + enterRule(_localctx, 426, RULE_assignment); + try { + enterOuterAlt(_localctx, 1); + { + setState(2622); + leftHandSide(); + setState(2623); + assignmentOperator(); + setState(2624); + expression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LeftHandSideContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public FieldAccessContext fieldAccess() { + return getRuleContext(FieldAccessContext.class,0); + } + public ArrayAccessContext arrayAccess() { + return getRuleContext(ArrayAccessContext.class,0); + } + public LeftHandSideContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_leftHandSide; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLeftHandSide(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLeftHandSide(this); + } + } + + public final LeftHandSideContext leftHandSide() throws RecognitionException { + LeftHandSideContext _localctx = new LeftHandSideContext(_ctx, getState()); + enterRule(_localctx, 428, RULE_leftHandSide); + try { + setState(2629); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2626); + expressionName(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2627); + fieldAccess(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2628); + arrayAccess(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssignmentOperatorContext extends ParserRuleContext { + public AssignmentOperatorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assignmentOperator; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignmentOperator(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignmentOperator(this); + } + } + + public final AssignmentOperatorContext assignmentOperator() throws RecognitionException { + AssignmentOperatorContext _localctx = new AssignmentOperatorContext(_ctx, getState()); + enterRule(_localctx, 430, RULE_assignmentOperator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2631); + _la = _input.LA(1); + if ( !(((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (ASSIGN - 66)) | (1L << (ADD_ASSIGN - 66)) | (1L << (SUB_ASSIGN - 66)) | (1L << (MUL_ASSIGN - 66)) | (1L << (DIV_ASSIGN - 66)) | (1L << (AND_ASSIGN - 66)) | (1L << (OR_ASSIGN - 66)) | (1L << (XOR_ASSIGN - 66)) | (1L << (MOD_ASSIGN - 66)) | (1L << (LSHIFT_ASSIGN - 66)) | (1L << (RSHIFT_ASSIGN - 66)) | (1L << (URSHIFT_ASSIGN - 66)))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConditionalExpressionContext extends ParserRuleContext { + public ConditionalOrExpressionContext conditionalOrExpression() { + return getRuleContext(ConditionalOrExpressionContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ConditionalExpressionContext conditionalExpression() { + return getRuleContext(ConditionalExpressionContext.class,0); + } + public ConditionalExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_conditionalExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalExpression(this); + } + } + + public final ConditionalExpressionContext conditionalExpression() throws RecognitionException { + ConditionalExpressionContext _localctx = new ConditionalExpressionContext(_ctx, getState()); + enterRule(_localctx, 432, RULE_conditionalExpression); + try { + setState(2640); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2633); + conditionalOrExpression(0); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2634); + conditionalOrExpression(0); + setState(2635); + match(QUESTION); + setState(2636); + expression(); + setState(2637); + match(COLON); + setState(2638); + conditionalExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConditionalOrExpressionContext extends ParserRuleContext { + public ConditionalAndExpressionContext conditionalAndExpression() { + return getRuleContext(ConditionalAndExpressionContext.class,0); + } + public ConditionalOrExpressionContext conditionalOrExpression() { + return getRuleContext(ConditionalOrExpressionContext.class,0); + } + public ConditionalOrExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_conditionalOrExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalOrExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalOrExpression(this); + } + } + + public final ConditionalOrExpressionContext conditionalOrExpression() throws RecognitionException { + return conditionalOrExpression(0); + } + + private ConditionalOrExpressionContext conditionalOrExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ConditionalOrExpressionContext _localctx = new ConditionalOrExpressionContext(_ctx, _parentState); + ConditionalOrExpressionContext _prevctx = _localctx; + int _startState = 434; + enterRecursionRule(_localctx, 434, RULE_conditionalOrExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2643); + conditionalAndExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2650); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,302,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new ConditionalOrExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_conditionalOrExpression); + setState(2645); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2646); + match(OR); + setState(2647); + conditionalAndExpression(0); + } + } + } + setState(2652); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,302,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ConditionalAndExpressionContext extends ParserRuleContext { + public InclusiveOrExpressionContext inclusiveOrExpression() { + return getRuleContext(InclusiveOrExpressionContext.class,0); + } + public ConditionalAndExpressionContext conditionalAndExpression() { + return getRuleContext(ConditionalAndExpressionContext.class,0); + } + public ConditionalAndExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_conditionalAndExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalAndExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalAndExpression(this); + } + } + + public final ConditionalAndExpressionContext conditionalAndExpression() throws RecognitionException { + return conditionalAndExpression(0); + } + + private ConditionalAndExpressionContext conditionalAndExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ConditionalAndExpressionContext _localctx = new ConditionalAndExpressionContext(_ctx, _parentState); + ConditionalAndExpressionContext _prevctx = _localctx; + int _startState = 436; + enterRecursionRule(_localctx, 436, RULE_conditionalAndExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2654); + inclusiveOrExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2661); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,303,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new ConditionalAndExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_conditionalAndExpression); + setState(2656); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2657); + match(AND); + setState(2658); + inclusiveOrExpression(0); + } + } + } + setState(2663); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,303,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class InclusiveOrExpressionContext extends ParserRuleContext { + public ExclusiveOrExpressionContext exclusiveOrExpression() { + return getRuleContext(ExclusiveOrExpressionContext.class,0); + } + public InclusiveOrExpressionContext inclusiveOrExpression() { + return getRuleContext(InclusiveOrExpressionContext.class,0); + } + public InclusiveOrExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inclusiveOrExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInclusiveOrExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInclusiveOrExpression(this); + } + } + + public final InclusiveOrExpressionContext inclusiveOrExpression() throws RecognitionException { + return inclusiveOrExpression(0); + } + + private InclusiveOrExpressionContext inclusiveOrExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + InclusiveOrExpressionContext _localctx = new InclusiveOrExpressionContext(_ctx, _parentState); + InclusiveOrExpressionContext _prevctx = _localctx; + int _startState = 438; + enterRecursionRule(_localctx, 438, RULE_inclusiveOrExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2665); + exclusiveOrExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2672); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,304,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new InclusiveOrExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_inclusiveOrExpression); + setState(2667); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2668); + match(BITOR); + setState(2669); + exclusiveOrExpression(0); + } + } + } + setState(2674); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,304,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ExclusiveOrExpressionContext extends ParserRuleContext { + public AndExpressionContext andExpression() { + return getRuleContext(AndExpressionContext.class,0); + } + public ExclusiveOrExpressionContext exclusiveOrExpression() { + return getRuleContext(ExclusiveOrExpressionContext.class,0); + } + public ExclusiveOrExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_exclusiveOrExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExclusiveOrExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExclusiveOrExpression(this); + } + } + + public final ExclusiveOrExpressionContext exclusiveOrExpression() throws RecognitionException { + return exclusiveOrExpression(0); + } + + private ExclusiveOrExpressionContext exclusiveOrExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ExclusiveOrExpressionContext _localctx = new ExclusiveOrExpressionContext(_ctx, _parentState); + ExclusiveOrExpressionContext _prevctx = _localctx; + int _startState = 440; + enterRecursionRule(_localctx, 440, RULE_exclusiveOrExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2676); + andExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2683); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,305,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new ExclusiveOrExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_exclusiveOrExpression); + setState(2678); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2679); + match(CARET); + setState(2680); + andExpression(0); + } + } + } + setState(2685); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,305,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class AndExpressionContext extends ParserRuleContext { + public EqualityExpressionContext equalityExpression() { + return getRuleContext(EqualityExpressionContext.class,0); + } + public AndExpressionContext andExpression() { + return getRuleContext(AndExpressionContext.class,0); + } + public AndExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_andExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAndExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAndExpression(this); + } + } + + public final AndExpressionContext andExpression() throws RecognitionException { + return andExpression(0); + } + + private AndExpressionContext andExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + AndExpressionContext _localctx = new AndExpressionContext(_ctx, _parentState); + AndExpressionContext _prevctx = _localctx; + int _startState = 442; + enterRecursionRule(_localctx, 442, RULE_andExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2687); + equalityExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2694); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,306,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new AndExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_andExpression); + setState(2689); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2690); + match(BITAND); + setState(2691); + equalityExpression(0); + } + } + } + setState(2696); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,306,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class EqualityExpressionContext extends ParserRuleContext { + public RelationalExpressionContext relationalExpression() { + return getRuleContext(RelationalExpressionContext.class,0); + } + public EqualityExpressionContext equalityExpression() { + return getRuleContext(EqualityExpressionContext.class,0); + } + public EqualityExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_equalityExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEqualityExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEqualityExpression(this); + } + } + + public final EqualityExpressionContext equalityExpression() throws RecognitionException { + return equalityExpression(0); + } + + private EqualityExpressionContext equalityExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + EqualityExpressionContext _localctx = new EqualityExpressionContext(_ctx, _parentState); + EqualityExpressionContext _prevctx = _localctx; + int _startState = 444; + enterRecursionRule(_localctx, 444, RULE_equalityExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2698); + relationalExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2708); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,308,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2706); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,307,_ctx) ) { + case 1: + { + _localctx = new EqualityExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); + setState(2700); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2701); + match(EQUAL); + setState(2702); + relationalExpression(0); + } + break; + case 2: + { + _localctx = new EqualityExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); + setState(2703); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2704); + match(NOTEQUAL); + setState(2705); + relationalExpression(0); + } + break; + } + } + } + setState(2710); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,308,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class RelationalExpressionContext extends ParserRuleContext { + public ShiftExpressionContext shiftExpression() { + return getRuleContext(ShiftExpressionContext.class,0); + } + public RelationalExpressionContext relationalExpression() { + return getRuleContext(RelationalExpressionContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public RelationalExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_relationalExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterRelationalExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitRelationalExpression(this); + } + } + + public final RelationalExpressionContext relationalExpression() throws RecognitionException { + return relationalExpression(0); + } + + private RelationalExpressionContext relationalExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + RelationalExpressionContext _localctx = new RelationalExpressionContext(_ctx, _parentState); + RelationalExpressionContext _prevctx = _localctx; + int _startState = 446; + enterRecursionRule(_localctx, 446, RULE_relationalExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2712); + shiftExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2731); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,310,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2729); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,309,_ctx) ) { + case 1: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2714); + if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); + setState(2715); + match(LT); + setState(2716); + shiftExpression(0); + } + break; + case 2: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2717); + if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); + setState(2718); + match(GT); + setState(2719); + shiftExpression(0); + } + break; + case 3: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2720); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2721); + match(LE); + setState(2722); + shiftExpression(0); + } + break; + case 4: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2723); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2724); + match(GE); + setState(2725); + shiftExpression(0); + } + break; + case 5: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2726); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2727); + match(INSTANCEOF); + setState(2728); + referenceType(); + } + break; + } + } + } + setState(2733); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,310,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ShiftExpressionContext extends ParserRuleContext { + public AdditiveExpressionContext additiveExpression() { + return getRuleContext(AdditiveExpressionContext.class,0); + } + public ShiftExpressionContext shiftExpression() { + return getRuleContext(ShiftExpressionContext.class,0); + } + public ShiftExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_shiftExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterShiftExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitShiftExpression(this); + } + } + + public final ShiftExpressionContext shiftExpression() throws RecognitionException { + return shiftExpression(0); + } + + private ShiftExpressionContext shiftExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ShiftExpressionContext _localctx = new ShiftExpressionContext(_ctx, _parentState); + ShiftExpressionContext _prevctx = _localctx; + int _startState = 448; + enterRecursionRule(_localctx, 448, RULE_shiftExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2735); + additiveExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2752); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,312,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2750); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,311,_ctx) ) { + case 1: + { + _localctx = new ShiftExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); + setState(2737); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2738); + match(LT); + setState(2739); + match(LT); + setState(2740); + additiveExpression(0); + } + break; + case 2: + { + _localctx = new ShiftExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); + setState(2741); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2742); + match(GT); + setState(2743); + match(GT); + setState(2744); + additiveExpression(0); + } + break; + case 3: + { + _localctx = new ShiftExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); + setState(2745); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2746); + match(GT); + setState(2747); + match(GT); + setState(2748); + match(GT); + setState(2749); + additiveExpression(0); + } + break; + } + } + } + setState(2754); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,312,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class AdditiveExpressionContext extends ParserRuleContext { + public MultiplicativeExpressionContext multiplicativeExpression() { + return getRuleContext(MultiplicativeExpressionContext.class,0); + } + public AdditiveExpressionContext additiveExpression() { + return getRuleContext(AdditiveExpressionContext.class,0); + } + public AdditiveExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_additiveExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAdditiveExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAdditiveExpression(this); + } + } + + public final AdditiveExpressionContext additiveExpression() throws RecognitionException { + return additiveExpression(0); + } + + private AdditiveExpressionContext additiveExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + AdditiveExpressionContext _localctx = new AdditiveExpressionContext(_ctx, _parentState); + AdditiveExpressionContext _prevctx = _localctx; + int _startState = 450; + enterRecursionRule(_localctx, 450, RULE_additiveExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2756); + multiplicativeExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2766); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,314,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2764); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,313,_ctx) ) { + case 1: + { + _localctx = new AdditiveExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); + setState(2758); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2759); + match(ADD); + setState(2760); + multiplicativeExpression(0); + } + break; + case 2: + { + _localctx = new AdditiveExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); + setState(2761); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2762); + match(SUB); + setState(2763); + multiplicativeExpression(0); + } + break; + } + } + } + setState(2768); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,314,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class MultiplicativeExpressionContext extends ParserRuleContext { + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public MultiplicativeExpressionContext multiplicativeExpression() { + return getRuleContext(MultiplicativeExpressionContext.class,0); + } + public MultiplicativeExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_multiplicativeExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMultiplicativeExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMultiplicativeExpression(this); + } + } + + public final MultiplicativeExpressionContext multiplicativeExpression() throws RecognitionException { + return multiplicativeExpression(0); + } + + private MultiplicativeExpressionContext multiplicativeExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + MultiplicativeExpressionContext _localctx = new MultiplicativeExpressionContext(_ctx, _parentState); + MultiplicativeExpressionContext _prevctx = _localctx; + int _startState = 452; + enterRecursionRule(_localctx, 452, RULE_multiplicativeExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2770); + unaryExpression(); + } + _ctx.stop = _input.LT(-1); + setState(2783); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,316,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2781); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,315,_ctx) ) { + case 1: + { + _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); + setState(2772); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2773); + match(MUL); + setState(2774); + unaryExpression(); + } + break; + case 2: + { + _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); + setState(2775); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2776); + match(DIV); + setState(2777); + unaryExpression(); + } + break; + case 3: + { + _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); + setState(2778); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2779); + match(MOD); + setState(2780); + unaryExpression(); + } + break; + } + } + } + setState(2785); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,316,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class UnaryExpressionContext extends ParserRuleContext { + public PreIncrementExpressionContext preIncrementExpression() { + return getRuleContext(PreIncrementExpressionContext.class,0); + } + public PreDecrementExpressionContext preDecrementExpression() { + return getRuleContext(PreDecrementExpressionContext.class,0); + } + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() { + return getRuleContext(UnaryExpressionNotPlusMinusContext.class,0); + } + public UnaryExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unaryExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnaryExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnaryExpression(this); + } + } + + public final UnaryExpressionContext unaryExpression() throws RecognitionException { + UnaryExpressionContext _localctx = new UnaryExpressionContext(_ctx, getState()); + enterRule(_localctx, 454, RULE_unaryExpression); + try { + setState(2793); + switch (_input.LA(1)) { + case INC: + enterOuterAlt(_localctx, 1); + { + setState(2786); + preIncrementExpression(); + } + break; + case DEC: + enterOuterAlt(_localctx, 2); + { + setState(2787); + preDecrementExpression(); + } + break; + case ADD: + enterOuterAlt(_localctx, 3); + { + setState(2788); + match(ADD); + setState(2789); + unaryExpression(); + } + break; + case SUB: + enterOuterAlt(_localctx, 4); + { + setState(2790); + match(SUB); + setState(2791); + unaryExpression(); + } + break; + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case NEW: + case SHORT: + case SUPER: + case THIS: + case VOID: + case IntegerLiteral: + case FloatingPointLiteral: + case BooleanLiteral: + case CharacterLiteral: + case StringLiteral: + case NullLiteral: + case LPAREN: + case BANG: + case TILDE: + case Identifier: + case AT: + enterOuterAlt(_localctx, 5); + { + setState(2792); + unaryExpressionNotPlusMinus(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PreIncrementExpressionContext extends ParserRuleContext { + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public PreIncrementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_preIncrementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPreIncrementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPreIncrementExpression(this); + } + } + + public final PreIncrementExpressionContext preIncrementExpression() throws RecognitionException { + PreIncrementExpressionContext _localctx = new PreIncrementExpressionContext(_ctx, getState()); + enterRule(_localctx, 456, RULE_preIncrementExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2795); + match(INC); + setState(2796); + unaryExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PreDecrementExpressionContext extends ParserRuleContext { + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public PreDecrementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_preDecrementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPreDecrementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPreDecrementExpression(this); + } + } + + public final PreDecrementExpressionContext preDecrementExpression() throws RecognitionException { + PreDecrementExpressionContext _localctx = new PreDecrementExpressionContext(_ctx, getState()); + enterRule(_localctx, 458, RULE_preDecrementExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2798); + match(DEC); + setState(2799); + unaryExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnaryExpressionNotPlusMinusContext extends ParserRuleContext { + public PostfixExpressionContext postfixExpression() { + return getRuleContext(PostfixExpressionContext.class,0); + } + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public CastExpressionContext castExpression() { + return getRuleContext(CastExpressionContext.class,0); + } + public UnaryExpressionNotPlusMinusContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unaryExpressionNotPlusMinus; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnaryExpressionNotPlusMinus(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnaryExpressionNotPlusMinus(this); + } + } + + public final UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() throws RecognitionException { + UnaryExpressionNotPlusMinusContext _localctx = new UnaryExpressionNotPlusMinusContext(_ctx, getState()); + enterRule(_localctx, 460, RULE_unaryExpressionNotPlusMinus); + try { + setState(2807); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,318,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2801); + postfixExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2802); + match(TILDE); + setState(2803); + unaryExpression(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2804); + match(BANG); + setState(2805); + unaryExpression(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2806); + castExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostfixExpressionContext extends ParserRuleContext { + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public List postIncrementExpression_lf_postfixExpression() { + return getRuleContexts(PostIncrementExpression_lf_postfixExpressionContext.class); + } + public PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression(int i) { + return getRuleContext(PostIncrementExpression_lf_postfixExpressionContext.class,i); + } + public List postDecrementExpression_lf_postfixExpression() { + return getRuleContexts(PostDecrementExpression_lf_postfixExpressionContext.class); + } + public PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression(int i) { + return getRuleContext(PostDecrementExpression_lf_postfixExpressionContext.class,i); + } + public PostfixExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postfixExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostfixExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostfixExpression(this); + } + } + + public final PostfixExpressionContext postfixExpression() throws RecognitionException { + PostfixExpressionContext _localctx = new PostfixExpressionContext(_ctx, getState()); + enterRule(_localctx, 462, RULE_postfixExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(2811); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) { + case 1: + { + setState(2809); + primary(); + } + break; + case 2: + { + setState(2810); + expressionName(); + } + break; + } + setState(2817); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,321,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + setState(2815); + switch (_input.LA(1)) { + case INC: + { + setState(2813); + postIncrementExpression_lf_postfixExpression(); + } + break; + case DEC: + { + setState(2814); + postDecrementExpression_lf_postfixExpression(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + setState(2819); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,321,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostIncrementExpressionContext extends ParserRuleContext { + public PostfixExpressionContext postfixExpression() { + return getRuleContext(PostfixExpressionContext.class,0); + } + public PostIncrementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postIncrementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostIncrementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostIncrementExpression(this); + } + } + + public final PostIncrementExpressionContext postIncrementExpression() throws RecognitionException { + PostIncrementExpressionContext _localctx = new PostIncrementExpressionContext(_ctx, getState()); + enterRule(_localctx, 464, RULE_postIncrementExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2820); + postfixExpression(); + setState(2821); + match(INC); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostIncrementExpression_lf_postfixExpressionContext extends ParserRuleContext { + public PostIncrementExpression_lf_postfixExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postIncrementExpression_lf_postfixExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostIncrementExpression_lf_postfixExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostIncrementExpression_lf_postfixExpression(this); + } + } + + public final PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression() throws RecognitionException { + PostIncrementExpression_lf_postfixExpressionContext _localctx = new PostIncrementExpression_lf_postfixExpressionContext(_ctx, getState()); + enterRule(_localctx, 466, RULE_postIncrementExpression_lf_postfixExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2823); + match(INC); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostDecrementExpressionContext extends ParserRuleContext { + public PostfixExpressionContext postfixExpression() { + return getRuleContext(PostfixExpressionContext.class,0); + } + public PostDecrementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postDecrementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostDecrementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostDecrementExpression(this); + } + } + + public final PostDecrementExpressionContext postDecrementExpression() throws RecognitionException { + PostDecrementExpressionContext _localctx = new PostDecrementExpressionContext(_ctx, getState()); + enterRule(_localctx, 468, RULE_postDecrementExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2825); + postfixExpression(); + setState(2826); + match(DEC); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostDecrementExpression_lf_postfixExpressionContext extends ParserRuleContext { + public PostDecrementExpression_lf_postfixExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postDecrementExpression_lf_postfixExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostDecrementExpression_lf_postfixExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostDecrementExpression_lf_postfixExpression(this); + } + } + + public final PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression() throws RecognitionException { + PostDecrementExpression_lf_postfixExpressionContext _localctx = new PostDecrementExpression_lf_postfixExpressionContext(_ctx, getState()); + enterRule(_localctx, 470, RULE_postDecrementExpression_lf_postfixExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2828); + match(DEC); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CastExpressionContext extends ParserRuleContext { + public PrimitiveTypeContext primitiveType() { + return getRuleContext(PrimitiveTypeContext.class,0); + } + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() { + return getRuleContext(UnaryExpressionNotPlusMinusContext.class,0); + } + public List additionalBound() { + return getRuleContexts(AdditionalBoundContext.class); + } + public AdditionalBoundContext additionalBound(int i) { + return getRuleContext(AdditionalBoundContext.class,i); + } + public LambdaExpressionContext lambdaExpression() { + return getRuleContext(LambdaExpressionContext.class,0); + } + public CastExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_castExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCastExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCastExpression(this); + } + } + + public final CastExpressionContext castExpression() throws RecognitionException { + CastExpressionContext _localctx = new CastExpressionContext(_ctx, getState()); + enterRule(_localctx, 472, RULE_castExpression); + int _la; + try { + setState(2857); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,324,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2830); + match(LPAREN); + setState(2831); + primitiveType(); + setState(2832); + match(RPAREN); + setState(2833); + unaryExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2835); + match(LPAREN); + setState(2836); + referenceType(); + setState(2840); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==BITAND) { + { + { + setState(2837); + additionalBound(); + } + } + setState(2842); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2843); + match(RPAREN); + setState(2844); + unaryExpressionNotPlusMinus(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2846); + match(LPAREN); + setState(2847); + referenceType(); + setState(2851); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==BITAND) { + { + { + setState(2848); + additionalBound(); + } + } + setState(2853); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2854); + match(RPAREN); + setState(2855); + lambdaExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { + switch (ruleIndex) { + case 26: + return packageName_sempred((PackageNameContext)_localctx, predIndex); + case 28: + return packageOrTypeName_sempred((PackageOrTypeNameContext)_localctx, predIndex); + case 31: + return ambiguousName_sempred((AmbiguousNameContext)_localctx, predIndex); + case 217: + return conditionalOrExpression_sempred((ConditionalOrExpressionContext)_localctx, predIndex); + case 218: + return conditionalAndExpression_sempred((ConditionalAndExpressionContext)_localctx, predIndex); + case 219: + return inclusiveOrExpression_sempred((InclusiveOrExpressionContext)_localctx, predIndex); + case 220: + return exclusiveOrExpression_sempred((ExclusiveOrExpressionContext)_localctx, predIndex); + case 221: + return andExpression_sempred((AndExpressionContext)_localctx, predIndex); + case 222: + return equalityExpression_sempred((EqualityExpressionContext)_localctx, predIndex); + case 223: + return relationalExpression_sempred((RelationalExpressionContext)_localctx, predIndex); + case 224: + return shiftExpression_sempred((ShiftExpressionContext)_localctx, predIndex); + case 225: + return additiveExpression_sempred((AdditiveExpressionContext)_localctx, predIndex); + case 226: + return multiplicativeExpression_sempred((MultiplicativeExpressionContext)_localctx, predIndex); + } + return true; + } + private boolean packageName_sempred(PackageNameContext _localctx, int predIndex) { + switch (predIndex) { + case 0: + return precpred(_ctx, 1); + } + return true; + } + private boolean packageOrTypeName_sempred(PackageOrTypeNameContext _localctx, int predIndex) { + switch (predIndex) { + case 1: + return precpred(_ctx, 1); + } + return true; + } + private boolean ambiguousName_sempred(AmbiguousNameContext _localctx, int predIndex) { + switch (predIndex) { + case 2: + return precpred(_ctx, 1); + } + return true; + } + private boolean conditionalOrExpression_sempred(ConditionalOrExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 3: + return precpred(_ctx, 1); + } + return true; + } + private boolean conditionalAndExpression_sempred(ConditionalAndExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 4: + return precpred(_ctx, 1); + } + return true; + } + private boolean inclusiveOrExpression_sempred(InclusiveOrExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 5: + return precpred(_ctx, 1); + } + return true; + } + private boolean exclusiveOrExpression_sempred(ExclusiveOrExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 6: + return precpred(_ctx, 1); + } + return true; + } + private boolean andExpression_sempred(AndExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 7: + return precpred(_ctx, 1); + } + return true; + } + private boolean equalityExpression_sempred(EqualityExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 8: + return precpred(_ctx, 2); + case 9: + return precpred(_ctx, 1); + } + return true; + } + private boolean relationalExpression_sempred(RelationalExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 10: + return precpred(_ctx, 5); + case 11: + return precpred(_ctx, 4); + case 12: + return precpred(_ctx, 3); + case 13: + return precpred(_ctx, 2); + case 14: + return precpred(_ctx, 1); + } + return true; + } + private boolean shiftExpression_sempred(ShiftExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 15: + return precpred(_ctx, 3); + case 16: + return precpred(_ctx, 2); + case 17: + return precpred(_ctx, 1); + } + return true; + } + private boolean additiveExpression_sempred(AdditiveExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 18: + return precpred(_ctx, 2); + case 19: + return precpred(_ctx, 1); + } + return true; + } + private boolean multiplicativeExpression_sempred(MultiplicativeExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 20: + return precpred(_ctx, 3); + case 21: + return precpred(_ctx, 2); + case 22: + return precpred(_ctx, 1); + } + return true; + } + + private static final int _serializedATNSegments = 2; + private static final String _serializedATNSegment0 = + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3m\u0b2e\4\2\t\2\4"+ + "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ + "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+ + "w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+ + "\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+ + "\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+ + "\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+ + "\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+ + "\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095\4\u0096\t\u0096\4\u0097"+ + "\t\u0097\4\u0098\t\u0098\4\u0099\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b"+ + "\4\u009c\t\u009c\4\u009d\t\u009d\4\u009e\t\u009e\4\u009f\t\u009f\4\u00a0"+ + "\t\u00a0\4\u00a1\t\u00a1\4\u00a2\t\u00a2\4\u00a3\t\u00a3\4\u00a4\t\u00a4"+ + "\4\u00a5\t\u00a5\4\u00a6\t\u00a6\4\u00a7\t\u00a7\4\u00a8\t\u00a8\4\u00a9"+ + "\t\u00a9\4\u00aa\t\u00aa\4\u00ab\t\u00ab\4\u00ac\t\u00ac\4\u00ad\t\u00ad"+ + "\4\u00ae\t\u00ae\4\u00af\t\u00af\4\u00b0\t\u00b0\4\u00b1\t\u00b1\4\u00b2"+ + "\t\u00b2\4\u00b3\t\u00b3\4\u00b4\t\u00b4\4\u00b5\t\u00b5\4\u00b6\t\u00b6"+ + "\4\u00b7\t\u00b7\4\u00b8\t\u00b8\4\u00b9\t\u00b9\4\u00ba\t\u00ba\4\u00bb"+ + "\t\u00bb\4\u00bc\t\u00bc\4\u00bd\t\u00bd\4\u00be\t\u00be\4\u00bf\t\u00bf"+ + "\4\u00c0\t\u00c0\4\u00c1\t\u00c1\4\u00c2\t\u00c2\4\u00c3\t\u00c3\4\u00c4"+ + "\t\u00c4\4\u00c5\t\u00c5\4\u00c6\t\u00c6\4\u00c7\t\u00c7\4\u00c8\t\u00c8"+ + "\4\u00c9\t\u00c9\4\u00ca\t\u00ca\4\u00cb\t\u00cb\4\u00cc\t\u00cc\4\u00cd"+ + "\t\u00cd\4\u00ce\t\u00ce\4\u00cf\t\u00cf\4\u00d0\t\u00d0\4\u00d1\t\u00d1"+ + "\4\u00d2\t\u00d2\4\u00d3\t\u00d3\4\u00d4\t\u00d4\4\u00d5\t\u00d5\4\u00d6"+ + "\t\u00d6\4\u00d7\t\u00d7\4\u00d8\t\u00d8\4\u00d9\t\u00d9\4\u00da\t\u00da"+ + "\4\u00db\t\u00db\4\u00dc\t\u00dc\4\u00dd\t\u00dd\4\u00de\t\u00de\4\u00df"+ + "\t\u00df\4\u00e0\t\u00e0\4\u00e1\t\u00e1\4\u00e2\t\u00e2\4\u00e3\t\u00e3"+ + "\4\u00e4\t\u00e4\4\u00e5\t\u00e5\4\u00e6\t\u00e6\4\u00e7\t\u00e7\4\u00e8"+ + "\t\u00e8\4\u00e9\t\u00e9\4\u00ea\t\u00ea\4\u00eb\t\u00eb\4\u00ec\t\u00ec"+ + "\4\u00ed\t\u00ed\4\u00ee\t\u00ee\3\2\3\2\3\3\3\3\5\3\u01e1\n\3\3\4\7\4"+ + "\u01e4\n\4\f\4\16\4\u01e7\13\4\3\4\3\4\7\4\u01eb\n\4\f\4\16\4\u01ee\13"+ + "\4\3\4\5\4\u01f1\n\4\3\5\3\5\5\5\u01f5\n\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b"+ + "\5\b\u01fe\n\b\3\t\3\t\5\t\u0202\n\t\3\t\3\t\7\t\u0206\n\t\f\t\16\t\u0209"+ + "\13\t\3\n\7\n\u020c\n\n\f\n\16\n\u020f\13\n\3\n\3\n\5\n\u0213\n\n\3\n"+ + "\3\n\3\n\7\n\u0218\n\n\f\n\16\n\u021b\13\n\3\n\3\n\5\n\u021f\n\n\5\n\u0221"+ + "\n\n\3\13\3\13\7\13\u0225\n\13\f\13\16\13\u0228\13\13\3\13\3\13\5\13\u022c"+ + "\n\13\3\f\7\f\u022f\n\f\f\f\16\f\u0232\13\f\3\f\3\f\5\f\u0236\n\f\3\r"+ + "\3\r\3\16\3\16\3\17\3\17\3\20\7\20\u023f\n\20\f\20\16\20\u0242\13\20\3"+ + "\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u024f\n\21"+ + "\3\22\7\22\u0252\n\22\f\22\16\22\u0255\13\22\3\22\3\22\3\22\7\22\u025a"+ + "\n\22\f\22\16\22\u025d\13\22\3\22\3\22\7\22\u0261\n\22\f\22\16\22\u0264"+ + "\13\22\3\23\7\23\u0267\n\23\f\23\16\23\u026a\13\23\3\23\3\23\5\23\u026e"+ + "\n\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\7\25\u0277\n\25\f\25\16\25\u027a"+ + "\13\25\5\25\u027c\n\25\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3"+ + "\30\7\30\u0288\n\30\f\30\16\30\u028b\13\30\3\31\3\31\5\31\u028f\n\31\3"+ + "\32\7\32\u0292\n\32\f\32\16\32\u0295\13\32\3\32\3\32\5\32\u0299\n\32\3"+ + "\33\3\33\3\33\3\33\5\33\u029f\n\33\3\34\3\34\3\34\3\34\3\34\3\34\7\34"+ + "\u02a7\n\34\f\34\16\34\u02aa\13\34\3\35\3\35\3\35\3\35\3\35\5\35\u02b1"+ + "\n\35\3\36\3\36\3\36\3\36\3\36\3\36\7\36\u02b9\n\36\f\36\16\36\u02bc\13"+ + "\36\3\37\3\37\3\37\3\37\3\37\5\37\u02c3\n\37\3 \3 \3!\3!\3!\3!\3!\3!\7"+ + "!\u02cd\n!\f!\16!\u02d0\13!\3\"\5\"\u02d3\n\"\3\"\7\"\u02d6\n\"\f\"\16"+ + "\"\u02d9\13\"\3\"\7\"\u02dc\n\"\f\"\16\"\u02df\13\"\3\"\3\"\3#\7#\u02e4"+ + "\n#\f#\16#\u02e7\13#\3#\3#\3#\3#\7#\u02ed\n#\f#\16#\u02f0\13#\3#\3#\3"+ + "$\3$\3%\3%\3%\3%\5%\u02fa\n%\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3(\3"+ + "(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)\3*\3*\3*\5*\u0317\n*\3+\3+\5+\u031b"+ + "\n+\3,\7,\u031e\n,\f,\16,\u0321\13,\3,\3,\3,\5,\u0326\n,\3,\5,\u0329\n"+ + ",\3,\5,\u032c\n,\3,\3,\3-\3-\3-\3-\3-\3-\3-\3-\5-\u0338\n-\3.\3.\3.\3"+ + ".\3/\3/\3/\7/\u0341\n/\f/\16/\u0344\13/\3\60\3\60\3\60\3\61\3\61\3\61"+ + "\3\62\3\62\3\62\7\62\u034f\n\62\f\62\16\62\u0352\13\62\3\63\3\63\7\63"+ + "\u0356\n\63\f\63\16\63\u0359\13\63\3\63\3\63\3\64\3\64\3\64\3\64\5\64"+ + "\u0361\n\64\3\65\3\65\3\65\3\65\3\65\5\65\u0368\n\65\3\66\7\66\u036b\n"+ + "\66\f\66\16\66\u036e\13\66\3\66\5\66\u0371\n\66\3\66\3\66\3\66\3\67\3"+ + "\67\3\67\3\67\3\67\3\67\3\67\3\67\5\67\u037e\n\67\38\38\38\78\u0383\n"+ + "8\f8\168\u0386\138\39\39\39\59\u038b\n9\3:\3:\5:\u038f\n:\3;\3;\5;\u0393"+ + "\n;\3<\3<\5<\u0397\n<\3=\3=\5=\u039b\n=\3>\3>\3>\5>\u03a0\n>\3?\3?\5?"+ + "\u03a4\n?\3?\3?\7?\u03a8\n?\f?\16?\u03ab\13?\3@\3@\5@\u03af\n@\3@\3@\3"+ + "@\7@\u03b4\n@\f@\16@\u03b7\13@\3@\3@\5@\u03bb\n@\5@\u03bd\n@\3A\3A\7A"+ + "\u03c1\nA\fA\16A\u03c4\13A\3A\3A\5A\u03c8\nA\3B\3B\5B\u03cc\nB\3C\3C\3"+ + "D\3D\3E\3E\3F\3F\3G\3G\3G\3G\3G\3G\3G\3G\3G\5G\u03df\nG\3H\7H\u03e2\n"+ + "H\fH\16H\u03e5\13H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\5I\u03f4\nI"+ + "\3J\3J\3J\5J\u03f9\nJ\3J\3J\7J\u03fd\nJ\fJ\16J\u0400\13J\3J\3J\3J\5J\u0405"+ + "\nJ\5J\u0407\nJ\3K\3K\5K\u040b\nK\3L\3L\3L\5L\u0410\nL\3L\3L\5L\u0414"+ + "\nL\3M\3M\3M\3M\3M\5M\u041b\nM\3N\3N\3N\7N\u0420\nN\fN\16N\u0423\13N\3"+ + "N\3N\3N\7N\u0428\nN\fN\16N\u042b\13N\5N\u042d\nN\3O\7O\u0430\nO\fO\16"+ + "O\u0433\13O\3O\3O\3O\3P\3P\5P\u043a\nP\3Q\7Q\u043d\nQ\fQ\16Q\u0440\13"+ + "Q\3Q\3Q\7Q\u0444\nQ\fQ\16Q\u0447\13Q\3Q\3Q\3Q\3Q\5Q\u044d\nQ\3R\7R\u0450"+ + "\nR\fR\16R\u0453\13R\3R\3R\3R\5R\u0458\nR\3R\3R\3S\3S\3S\3T\3T\3T\7T\u0462"+ + "\nT\fT\16T\u0465\13T\3U\3U\5U\u0469\nU\3V\3V\5V\u046d\nV\3W\3W\3X\3X\3"+ + "X\3Y\7Y\u0475\nY\fY\16Y\u0478\13Y\3Y\3Y\5Y\u047c\nY\3Y\3Y\3Z\3Z\3Z\3Z"+ + "\5Z\u0484\nZ\3[\5[\u0487\n[\3[\3[\3[\5[\u048c\n[\3[\3[\3\\\3\\\3]\3]\5"+ + "]\u0494\n]\3]\5]\u0497\n]\3]\3]\3^\5^\u049c\n^\3^\3^\3^\5^\u04a1\n^\3"+ + "^\3^\3^\5^\u04a6\n^\3^\3^\3^\5^\u04ab\n^\3^\3^\3^\3^\3^\5^\u04b2\n^\3"+ + "^\3^\3^\5^\u04b7\n^\3^\3^\3^\3^\3^\3^\5^\u04bf\n^\3^\3^\3^\5^\u04c4\n"+ + "^\3^\3^\3^\5^\u04c9\n^\3_\7_\u04cc\n_\f_\16_\u04cf\13_\3_\3_\3_\5_\u04d4"+ + "\n_\3_\3_\3`\3`\5`\u04da\n`\3`\5`\u04dd\n`\3`\5`\u04e0\n`\3`\3`\3a\3a"+ + "\3a\7a\u04e7\na\fa\16a\u04ea\13a\3b\7b\u04ed\nb\fb\16b\u04f0\13b\3b\3"+ + "b\3b\5b\u04f5\nb\3b\5b\u04f8\nb\3b\5b\u04fb\nb\3c\3c\3d\3d\7d\u0501\n"+ + "d\fd\16d\u0504\13d\3e\3e\5e\u0508\ne\3f\7f\u050b\nf\ff\16f\u050e\13f\3"+ + "f\3f\3f\5f\u0513\nf\3f\5f\u0516\nf\3f\3f\3g\3g\3g\3g\3g\3g\3g\5g\u0521"+ + "\ng\3h\3h\3h\3i\3i\7i\u0528\ni\fi\16i\u052b\13i\3i\3i\3j\3j\3j\3j\3j\5"+ + "j\u0534\nj\3k\7k\u0537\nk\fk\16k\u053a\13k\3k\3k\3k\3k\3l\3l\3l\3l\5l"+ + "\u0544\nl\3m\7m\u0547\nm\fm\16m\u054a\13m\3m\3m\3m\3n\3n\3n\3n\3n\3n\5"+ + "n\u0555\nn\3o\7o\u0558\no\fo\16o\u055b\13o\3o\3o\3o\3o\3o\3p\3p\7p\u0564"+ + "\np\fp\16p\u0567\13p\3p\3p\3q\3q\3q\3q\3q\5q\u0570\nq\3r\7r\u0573\nr\f"+ + "r\16r\u0576\13r\3r\3r\3r\3r\3r\5r\u057d\nr\3r\5r\u0580\nr\3r\3r\3s\3s"+ + "\3s\5s\u0587\ns\3t\3t\3t\3u\3u\3u\5u\u058f\nu\3v\3v\3v\3v\5v\u0595\nv"+ + "\3v\3v\3w\3w\3w\7w\u059c\nw\fw\16w\u059f\13w\3x\3x\3x\3x\3y\3y\3y\5y\u05a8"+ + "\ny\3z\3z\5z\u05ac\nz\3z\5z\u05af\nz\3z\3z\3{\3{\3{\7{\u05b6\n{\f{\16"+ + "{\u05b9\13{\3|\3|\3|\3}\3}\3}\3}\3}\3}\3~\3~\5~\u05c6\n~\3~\5~\u05c9\n"+ + "~\3~\3~\3\177\3\177\3\177\7\177\u05d0\n\177\f\177\16\177\u05d3\13\177"+ + "\3\u0080\3\u0080\5\u0080\u05d7\n\u0080\3\u0080\3\u0080\3\u0081\3\u0081"+ + "\7\u0081\u05dd\n\u0081\f\u0081\16\u0081\u05e0\13\u0081\3\u0082\3\u0082"+ + "\3\u0082\5\u0082\u05e5\n\u0082\3\u0083\3\u0083\3\u0083\3\u0084\7\u0084"+ + "\u05eb\n\u0084\f\u0084\16\u0084\u05ee\13\u0084\3\u0084\3\u0084\3\u0084"+ + "\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085\5\u0085\u05f9\n\u0085"+ + "\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086\5\u0086\u0600\n\u0086\3\u0087"+ + "\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087"+ + "\3\u0087\3\u0087\5\u0087\u060e\n\u0087\3\u0088\3\u0088\3\u0089\3\u0089"+ + "\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b"+ + "\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\5\u008c\u0624"+ + "\n\u008c\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e"+ + "\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008f\3\u008f\3\u008f"+ + "\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090\3\u0090"+ + "\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\5\u0090\u0646\n\u0090"+ + "\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0092\3\u0092\7\u0092"+ + "\u0650\n\u0092\f\u0092\16\u0092\u0653\13\u0092\3\u0092\7\u0092\u0656\n"+ + "\u0092\f\u0092\16\u0092\u0659\13\u0092\3\u0092\3\u0092\3\u0093\3\u0093"+ + "\3\u0093\3\u0094\3\u0094\7\u0094\u0662\n\u0094\f\u0094\16\u0094\u0665"+ + "\13\u0094\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095"+ + "\3\u0095\3\u0095\5\u0095\u0671\n\u0095\3\u0096\3\u0096\3\u0097\3\u0097"+ + "\3\u0097\3\u0097\3\u0097\3\u0097\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098"+ + "\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099"+ + "\3\u009a\3\u009a\5\u009a\u068b\n\u009a\3\u009b\3\u009b\5\u009b\u068f\n"+ + "\u009b\3\u009c\3\u009c\3\u009c\5\u009c\u0694\n\u009c\3\u009c\3\u009c\5"+ + "\u009c\u0698\n\u009c\3\u009c\3\u009c\5\u009c\u069c\n\u009c\3\u009c\3\u009c"+ + "\3\u009c\3\u009d\3\u009d\3\u009d\5\u009d\u06a4\n\u009d\3\u009d\3\u009d"+ + "\5\u009d\u06a8\n\u009d\3\u009d\3\u009d\5\u009d\u06ac\n\u009d\3\u009d\3"+ + "\u009d\3\u009d\3\u009e\3\u009e\5\u009e\u06b3\n\u009e\3\u009f\3\u009f\3"+ + "\u00a0\3\u00a0\3\u00a0\7\u00a0\u06ba\n\u00a0\f\u00a0\16\u00a0\u06bd\13"+ + "\u00a0\3\u00a1\3\u00a1\3\u00a1\7\u00a1\u06c2\n\u00a1\f\u00a1\16\u00a1"+ + "\u06c5\13\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1"+ + "\3\u00a2\3\u00a2\3\u00a2\7\u00a2\u06d1\n\u00a2\f\u00a2\16\u00a2\u06d4"+ + "\13\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a3"+ + "\3\u00a3\5\u00a3\u06df\n\u00a3\3\u00a3\3\u00a3\3\u00a4\3\u00a4\5\u00a4"+ + "\u06e5\n\u00a4\3\u00a4\3\u00a4\3\u00a5\3\u00a5\5\u00a5\u06eb\n\u00a5\3"+ + "\u00a5\3\u00a5\3\u00a6\3\u00a6\3\u00a6\3\u00a6\3\u00a7\3\u00a7\3\u00a7"+ + "\3\u00a7\3\u00a7\3\u00a7\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8"+ + "\3\u00a8\5\u00a8\u0700\n\u00a8\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u0705\n"+ + "\u00a8\3\u00a9\3\u00a9\7\u00a9\u0709\n\u00a9\f\u00a9\16\u00a9\u070c\13"+ + "\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00ab\7\u00ab"+ + "\u0715\n\u00ab\f\u00ab\16\u00ab\u0718\13\u00ab\3\u00ab\3\u00ab\3\u00ab"+ + "\3\u00ac\3\u00ac\3\u00ac\7\u00ac\u0720\n\u00ac\f\u00ac\16\u00ac\u0723"+ + "\13\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ae\3\u00ae\3\u00ae\3\u00ae\5\u00ae"+ + "\u072c\n\u00ae\3\u00ae\5\u00ae\u072f\n\u00ae\3\u00af\3\u00af\3\u00af\5"+ + "\u00af\u0734\n\u00af\3\u00af\3\u00af\3\u00b0\3\u00b0\3\u00b0\7\u00b0\u073b"+ + "\n\u00b0\f\u00b0\16\u00b0\u073e\13\u00b0\3\u00b1\7\u00b1\u0741\n\u00b1"+ + "\f\u00b1\16\u00b1\u0744\13\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1"+ + "\3\u00b2\3\u00b2\5\u00b2\u074d\n\u00b2\3\u00b2\7\u00b2\u0750\n\u00b2\f"+ + "\u00b2\16\u00b2\u0753\13\u00b2\3\u00b3\3\u00b3\3\u00b3\3\u00b3\7\u00b3"+ + "\u0759\n\u00b3\f\u00b3\16\u00b3\u075c\13\u00b3\3\u00b3\3\u00b3\3\u00b3"+ + "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ + "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\5\u00b3"+ + "\u0772\n\u00b3\3\u00b4\3\u00b4\3\u00b5\3\u00b5\3\u00b5\3\u00b5\7\u00b5"+ + "\u077a\n\u00b5\f\u00b5\16\u00b5\u077d\13\u00b5\3\u00b5\3\u00b5\3\u00b5"+ + "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ + "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\5\u00b5\u0792"+ + "\n\u00b5\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\5\u00b6\u0799\n\u00b6"+ + "\3\u00b7\3\u00b7\3\u00b8\3\u00b8\3\u00b8\3\u00b8\5\u00b8\u07a1\n\u00b8"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9\u07a7\n\u00b9\f\u00b9\16\u00b9"+ + "\u07aa\13\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9"+ + "\u07b2\n\u00b9\f\u00b9\16\u00b9\u07b5\13\u00b9\3\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\5\u00b9"+ + "\u07cb\n\u00b9\3\u00ba\3\u00ba\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb"+ + "\u07d3\n\u00bb\f\u00bb\16\u00bb\u07d6\13\u00bb\3\u00bb\3\u00bb\3\u00bb"+ + "\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07de\n\u00bb\f\u00bb\16\u00bb\u07e1"+ + "\13\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ + "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ + "\3\u00bb\3\u00bb\5\u00bb\u07f6\n\u00bb\3\u00bc\3\u00bc\5\u00bc\u07fa\n"+ + "\u00bc\3\u00bc\7\u00bc\u07fd\n\u00bc\f\u00bc\16\u00bc\u0800\13\u00bc\3"+ + "\u00bc\3\u00bc\3\u00bc\7\u00bc\u0805\n\u00bc\f\u00bc\16\u00bc\u0808\13"+ + "\u00bc\3\u00bc\7\u00bc\u080b\n\u00bc\f\u00bc\16\u00bc\u080e\13\u00bc\3"+ + "\u00bc\5\u00bc\u0811\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0815\n\u00bc\3\u00bc"+ + "\3\u00bc\5\u00bc\u0819\n\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc"+ + "\u081f\n\u00bc\3\u00bc\7\u00bc\u0822\n\u00bc\f\u00bc\16\u00bc\u0825\13"+ + "\u00bc\3\u00bc\3\u00bc\5\u00bc\u0829\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u082d"+ + "\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0831\n\u00bc\3\u00bc\3\u00bc\3\u00bc"+ + "\3\u00bc\5\u00bc\u0837\n\u00bc\3\u00bc\7\u00bc\u083a\n\u00bc\f\u00bc\16"+ + "\u00bc\u083d\13\u00bc\3\u00bc\3\u00bc\5\u00bc\u0841\n\u00bc\3\u00bc\3"+ + "\u00bc\5\u00bc\u0845\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0849\n\u00bc\5\u00bc"+ + "\u084b\n\u00bc\3\u00bd\3\u00bd\3\u00bd\5\u00bd\u0850\n\u00bd\3\u00bd\7"+ + "\u00bd\u0853\n\u00bd\f\u00bd\16\u00bd\u0856\13\u00bd\3\u00bd\3\u00bd\5"+ + "\u00bd\u085a\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u085e\n\u00bd\3\u00bd\3\u00bd"+ + "\5\u00bd\u0862\n\u00bd\3\u00be\3\u00be\5\u00be\u0866\n\u00be\3\u00be\7"+ + "\u00be\u0869\n\u00be\f\u00be\16\u00be\u086c\13\u00be\3\u00be\3\u00be\3"+ + "\u00be\7\u00be\u0871\n\u00be\f\u00be\16\u00be\u0874\13\u00be\3\u00be\7"+ + "\u00be\u0877\n\u00be\f\u00be\16\u00be\u087a\13\u00be\3\u00be\5\u00be\u087d"+ + "\n\u00be\3\u00be\3\u00be\5\u00be\u0881\n\u00be\3\u00be\3\u00be\5\u00be"+ + "\u0885\n\u00be\3\u00be\3\u00be\3\u00be\3\u00be\5\u00be\u088b\n\u00be\3"+ + "\u00be\7\u00be\u088e\n\u00be\f\u00be\16\u00be\u0891\13\u00be\3\u00be\3"+ + "\u00be\5\u00be\u0895\n\u00be\3\u00be\3\u00be\5\u00be\u0899\n\u00be\3\u00be"+ + "\3\u00be\5\u00be\u089d\n\u00be\5\u00be\u089f\n\u00be\3\u00bf\3\u00bf\3"+ + "\u00bf\5\u00bf\u08a4\n\u00bf\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3"+ + "\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\5\u00c0"+ + "\u08b3\n\u00c0\3\u00c1\3\u00c1\3\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c2"+ + "\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\5\u00c2\u08c1\n\u00c2\3\u00c3"+ + "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3"+ + "\5\u00c3\u08cd\n\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\7\u00c3"+ + "\u08d4\n\u00c3\f\u00c3\16\u00c3\u08d7\13\u00c3\3\u00c4\3\u00c4\3\u00c4"+ + "\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\7\u00c4\u08e3"+ + "\n\u00c4\f\u00c4\16\u00c4\u08e6\13\u00c4\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ + "\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\5\u00c5\u08f2\n\u00c5"+ + "\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5\u08f9\n\u00c5\f\u00c5"+ + "\16\u00c5\u08fc\13\u00c5\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0901\n\u00c6"+ + "\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0908\n\u00c6\3\u00c6"+ + "\3\u00c6\3\u00c6\5\u00c6\u090d\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ + "\3\u00c6\5\u00c6\u0914\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0919\n"+ + "\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0920\n\u00c6\3"+ + "\u00c6\3\u00c6\3\u00c6\5\u00c6\u0925\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3"+ + "\u00c6\3\u00c6\5\u00c6\u092c\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0931"+ + "\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0939"+ + "\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u093e\n\u00c6\3\u00c6\3\u00c6"+ + "\5\u00c6\u0942\n\u00c6\3\u00c7\3\u00c7\5\u00c7\u0946\n\u00c7\3\u00c7\3"+ + "\u00c7\3\u00c7\5\u00c7\u094b\n\u00c7\3\u00c7\3\u00c7\3\u00c8\3\u00c8\3"+ + "\u00c8\5\u00c8\u0952\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5"+ + "\u00c8\u0959\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u095e\n\u00c8\3\u00c8"+ + "\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0965\n\u00c8\3\u00c8\3\u00c8"+ + "\3\u00c8\5\u00c8\u096a\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8"+ + "\5\u00c8\u0971\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0976\n\u00c8\3"+ + "\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u097e\n\u00c8\3"+ + "\u00c8\3\u00c8\3\u00c8\5\u00c8\u0983\n\u00c8\3\u00c8\3\u00c8\5\u00c8\u0987"+ + "\n\u00c8\3\u00c9\3\u00c9\3\u00c9\7\u00c9\u098c\n\u00c9\f\u00c9\16\u00c9"+ + "\u098f\13\u00c9\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u0994\n\u00ca\3\u00ca"+ + "\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u099b\n\u00ca\3\u00ca\3\u00ca"+ + "\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09a2\n\u00ca\3\u00ca\3\u00ca\3\u00ca"+ + "\3\u00ca\3\u00ca\5\u00ca\u09a9\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ + "\3\u00ca\3\u00ca\5\u00ca\u09b1\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ + "\3\u00ca\5\u00ca\u09b8\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ + "\3\u00ca\5\u00ca\u09c0\n\u00ca\3\u00cb\3\u00cb\5\u00cb\u09c4\n\u00cb\3"+ + "\u00cb\3\u00cb\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09cb\n\u00cc\3\u00cc\3"+ + "\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09d2\n\u00cc\3\u00cc\3\u00cc\3"+ + "\u00cc\3\u00cc\3\u00cc\5\u00cc\u09d9\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3"+ + "\u00cc\3\u00cc\3\u00cc\5\u00cc\u09e1\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3"+ + "\u00cc\3\u00cc\5\u00cc\u09e8\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3"+ + "\u00cc\3\u00cc\5\u00cc\u09f0\n\u00cc\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5"+ + "\u00cd\u09f6\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09fc\n\u00cd"+ + "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ + "\3\u00cd\5\u00cd\u0a08\n\u00cd\3\u00ce\3\u00ce\7\u00ce\u0a0c\n\u00ce\f"+ + "\u00ce\16\u00ce\u0a0f\13\u00ce\3\u00cf\7\u00cf\u0a12\n\u00cf\f\u00cf\16"+ + "\u00cf\u0a15\13\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00d0\3\u00d0"+ + "\3\u00d1\3\u00d1\5\u00d1\u0a1f\n\u00d1\3\u00d2\3\u00d2\3\u00d2\3\u00d2"+ + "\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a28\n\u00d3\3\u00d3\3\u00d3\3\u00d3"+ + "\3\u00d3\3\u00d3\5\u00d3\u0a2f\n\u00d3\3\u00d4\3\u00d4\3\u00d4\7\u00d4"+ + "\u0a34\n\u00d4\f\u00d4\16\u00d4\u0a37\13\u00d4\3\u00d5\3\u00d5\5\u00d5"+ + "\u0a3b\n\u00d5\3\u00d6\3\u00d6\5\u00d6\u0a3f\n\u00d6\3\u00d7\3\u00d7\3"+ + "\u00d7\3\u00d7\3\u00d8\3\u00d8\3\u00d8\5\u00d8\u0a48\n\u00d8\3\u00d9\3"+ + "\u00d9\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\5\u00da"+ + "\u0a53\n\u00da\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\7\u00db"+ + "\u0a5b\n\u00db\f\u00db\16\u00db\u0a5e\13\u00db\3\u00dc\3\u00dc\3\u00dc"+ + "\3\u00dc\3\u00dc\3\u00dc\7\u00dc\u0a66\n\u00dc\f\u00dc\16\u00dc\u0a69"+ + "\13\u00dc\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00dd\7\u00dd\u0a71"+ + "\n\u00dd\f\u00dd\16\u00dd\u0a74\13\u00dd\3\u00de\3\u00de\3\u00de\3\u00de"+ + "\3\u00de\3\u00de\7\u00de\u0a7c\n\u00de\f\u00de\16\u00de\u0a7f\13\u00de"+ + "\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\7\u00df\u0a87\n\u00df"+ + "\f\u00df\16\u00df\u0a8a\13\u00df\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0"+ + "\3\u00e0\3\u00e0\3\u00e0\3\u00e0\7\u00e0\u0a95\n\u00e0\f\u00e0\16\u00e0"+ + "\u0a98\13\u00e0\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ + "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ + "\3\u00e1\3\u00e1\7\u00e1\u0aac\n\u00e1\f\u00e1\16\u00e1\u0aaf\13\u00e1"+ + "\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ + "\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\7\u00e2\u0ac1"+ + "\n\u00e2\f\u00e2\16\u00e2\u0ac4\13\u00e2\3\u00e3\3\u00e3\3\u00e3\3\u00e3"+ + "\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\7\u00e3\u0acf\n\u00e3\f\u00e3"+ + "\16\u00e3\u0ad2\13\u00e3\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4"+ + "\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\7\u00e4\u0ae0\n\u00e4"+ + "\f\u00e4\16\u00e4\u0ae3\13\u00e4\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5"+ + "\3\u00e5\3\u00e5\5\u00e5\u0aec\n\u00e5\3\u00e6\3\u00e6\3\u00e6\3\u00e7"+ + "\3\u00e7\3\u00e7\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\5\u00e8"+ + "\u0afa\n\u00e8\3\u00e9\3\u00e9\5\u00e9\u0afe\n\u00e9\3\u00e9\3\u00e9\7"+ + "\u00e9\u0b02\n\u00e9\f\u00e9\16\u00e9\u0b05\13\u00e9\3\u00ea\3\u00ea\3"+ + "\u00ea\3\u00eb\3\u00eb\3\u00ec\3\u00ec\3\u00ec\3\u00ed\3\u00ed\3\u00ee"+ + "\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b19"+ + "\n\u00ee\f\u00ee\16\u00ee\u0b1c\13\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee"+ + "\3\u00ee\3\u00ee\7\u00ee\u0b24\n\u00ee\f\u00ee\16\u00ee\u0b27\13\u00ee"+ + "\3\u00ee\3\u00ee\3\u00ee\5\u00ee\u0b2c\n\u00ee\3\u00ee\2\17\66:@\u01b4"+ + "\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4\u01c6\u00ef\2\4\6\b\n"+ + "\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\"+ + "^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090"+ + "\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8"+ + "\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0"+ + "\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8"+ + "\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0"+ + "\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104\u0106\u0108"+ + "\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120"+ + "\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0138"+ + "\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a\u014c\u014e\u0150"+ + "\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168"+ + "\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a\u017c\u017e\u0180"+ + "\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192\u0194\u0196\u0198"+ + "\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa\u01ac\u01ae\u01b0"+ + "\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4\u01c6\u01c8"+ + "\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\2\6\3\2\65:\7\2"+ + "\7\7\n\n\35\35\37\37\'\'\4\2\20\20\26\26\4\2DD]g\u0c20\2\u01dc\3\2\2\2"+ + "\4\u01e0\3\2\2\2\6\u01f0\3\2\2\2\b\u01f4\3\2\2\2\n\u01f6\3\2\2\2\f\u01f8"+ + "\3\2\2\2\16\u01fd\3\2\2\2\20\u0201\3\2\2\2\22\u0220\3\2\2\2\24\u0222\3"+ + "\2\2\2\26\u0230\3\2\2\2\30\u0237\3\2\2\2\32\u0239\3\2\2\2\34\u023b\3\2"+ + "\2\2\36\u0240\3\2\2\2 \u024e\3\2\2\2\"\u0253\3\2\2\2$\u0268\3\2\2\2&\u026f"+ + "\3\2\2\2(\u027b\3\2\2\2*\u027d\3\2\2\2,\u0280\3\2\2\2.\u0284\3\2\2\2\60"+ + "\u028e\3\2\2\2\62\u0293\3\2\2\2\64\u029e\3\2\2\2\66\u02a0\3\2\2\28\u02b0"+ + "\3\2\2\2:\u02b2\3\2\2\2<\u02c2\3\2\2\2>\u02c4\3\2\2\2@\u02c6\3\2\2\2B"+ + "\u02d2\3\2\2\2D\u02e5\3\2\2\2F\u02f3\3\2\2\2H\u02f9\3\2\2\2J\u02fb\3\2"+ + "\2\2L\u02ff\3\2\2\2N\u0305\3\2\2\2P\u030c\3\2\2\2R\u0316\3\2\2\2T\u031a"+ + "\3\2\2\2V\u031f\3\2\2\2X\u0337\3\2\2\2Z\u0339\3\2\2\2\\\u033d\3\2\2\2"+ + "^\u0345\3\2\2\2`\u0348\3\2\2\2b\u034b\3\2\2\2d\u0353\3\2\2\2f\u0360\3"+ + "\2\2\2h\u0367\3\2\2\2j\u036c\3\2\2\2l\u037d\3\2\2\2n\u037f\3\2\2\2p\u0387"+ + "\3\2\2\2r\u038c\3\2\2\2t\u0392\3\2\2\2v\u0396\3\2\2\2x\u039a\3\2\2\2z"+ + "\u039f\3\2\2\2|\u03a3\3\2\2\2~\u03bc\3\2\2\2\u0080\u03be\3\2\2\2\u0082"+ + "\u03c9\3\2\2\2\u0084\u03cd\3\2\2\2\u0086\u03cf\3\2\2\2\u0088\u03d1\3\2"+ + "\2\2\u008a\u03d3\3\2\2\2\u008c\u03de\3\2\2\2\u008e\u03e3\3\2\2\2\u0090"+ + "\u03f3\3\2\2\2\u0092\u0406\3\2\2\2\u0094\u040a\3\2\2\2\u0096\u040c\3\2"+ + "\2\2\u0098\u041a\3\2\2\2\u009a\u042c\3\2\2\2\u009c\u0431\3\2\2\2\u009e"+ + "\u0439\3\2\2\2\u00a0\u044c\3\2\2\2\u00a2\u0451\3\2\2\2\u00a4\u045b\3\2"+ + "\2\2\u00a6\u045e\3\2\2\2\u00a8\u0468\3\2\2\2\u00aa\u046c\3\2\2\2\u00ac"+ + "\u046e\3\2\2\2\u00ae\u0470\3\2\2\2\u00b0\u0476\3\2\2\2\u00b2\u0483\3\2"+ + "\2\2\u00b4\u0486\3\2\2\2\u00b6\u048f\3\2\2\2\u00b8\u0491\3\2\2\2\u00ba"+ + "\u04c8\3\2\2\2\u00bc\u04cd\3\2\2\2\u00be\u04d7\3\2\2\2\u00c0\u04e3\3\2"+ + "\2\2\u00c2\u04ee\3\2\2\2\u00c4\u04fc\3\2\2\2\u00c6\u04fe\3\2\2\2\u00c8"+ + "\u0507\3\2\2\2\u00ca\u050c\3\2\2\2\u00cc\u0520\3\2\2\2\u00ce\u0522\3\2"+ + "\2\2\u00d0\u0525\3\2\2\2\u00d2\u0533\3\2\2\2\u00d4\u0538\3\2\2\2\u00d6"+ + "\u0543\3\2\2\2\u00d8\u0548\3\2\2\2\u00da\u0554\3\2\2\2\u00dc\u0559\3\2"+ + "\2\2\u00de\u0561\3\2\2\2\u00e0\u056f\3\2\2\2\u00e2\u0574\3\2\2\2\u00e4"+ + "\u0586\3\2\2\2\u00e6\u0588\3\2\2\2\u00e8\u058e\3\2\2\2\u00ea\u0590\3\2"+ + "\2\2\u00ec\u0598\3\2\2\2\u00ee\u05a0\3\2\2\2\u00f0\u05a7\3\2\2\2\u00f2"+ + "\u05a9\3\2\2\2\u00f4\u05b2\3\2\2\2\u00f6\u05ba\3\2\2\2\u00f8\u05bd\3\2"+ + "\2\2\u00fa\u05c3\3\2\2\2\u00fc\u05cc\3\2\2\2\u00fe\u05d4\3\2\2\2\u0100"+ + "\u05da\3\2\2\2\u0102\u05e4\3\2\2\2\u0104\u05e6\3\2\2\2\u0106\u05ec\3\2"+ + "\2\2\u0108\u05f8\3\2\2\2\u010a\u05ff\3\2\2\2\u010c\u060d\3\2\2\2\u010e"+ + "\u060f\3\2\2\2\u0110\u0611\3\2\2\2\u0112\u0615\3\2\2\2\u0114\u0619\3\2"+ + "\2\2\u0116\u0623\3\2\2\2\u0118\u0625\3\2\2\2\u011a\u062b\3\2\2\2\u011c"+ + "\u0633\3\2\2\2\u011e\u0645\3\2\2\2\u0120\u0647\3\2\2\2\u0122\u064d\3\2"+ + "\2\2\u0124\u065c\3\2\2\2\u0126\u065f\3\2\2\2\u0128\u0670\3\2\2\2\u012a"+ + "\u0672\3\2\2\2\u012c\u0674\3\2\2\2\u012e\u067a\3\2\2\2\u0130\u0680\3\2"+ + "\2\2\u0132\u068a\3\2\2\2\u0134\u068e\3\2\2\2\u0136\u0690\3\2\2\2\u0138"+ + "\u06a0\3\2\2\2\u013a\u06b2\3\2\2\2\u013c\u06b4\3\2\2\2\u013e\u06b6\3\2"+ + "\2\2\u0140\u06be\3\2\2\2\u0142\u06cd\3\2\2\2\u0144\u06dc\3\2\2\2\u0146"+ + "\u06e2\3\2\2\2\u0148\u06e8\3\2\2\2\u014a\u06ee\3\2\2\2\u014c\u06f2\3\2"+ + "\2\2\u014e\u0704\3\2\2\2\u0150\u0706\3\2\2\2\u0152\u070d\3\2\2\2\u0154"+ + "\u0716\3\2\2\2\u0156\u071c\3\2\2\2\u0158\u0724\3\2\2\2\u015a\u0727\3\2"+ + "\2\2\u015c\u0730\3\2\2\2\u015e\u0737\3\2\2\2\u0160\u0742\3\2\2\2\u0162"+ + "\u074c\3\2\2\2\u0164\u0771\3\2\2\2\u0166\u0773\3\2\2\2\u0168\u0791\3\2"+ + "\2\2\u016a\u0798\3\2\2\2\u016c\u079a\3\2\2\2\u016e\u07a0\3\2\2\2\u0170"+ + "\u07ca\3\2\2\2\u0172\u07cc\3\2\2\2\u0174\u07f5\3\2\2\2\u0176\u084a\3\2"+ + "\2\2\u0178\u084c\3\2\2\2\u017a\u089e\3\2\2\2\u017c\u08a3\3\2\2\2\u017e"+ + "\u08b2\3\2\2\2\u0180\u08b4\3\2\2\2\u0182\u08c0\3\2\2\2\u0184\u08cc\3\2"+ + "\2\2\u0186\u08d8\3\2\2\2\u0188\u08f1\3\2\2\2\u018a\u0941\3\2\2\2\u018c"+ + "\u0943\3\2\2\2\u018e\u0986\3\2\2\2\u0190\u0988\3\2\2\2\u0192\u09bf\3\2"+ + "\2\2\u0194\u09c1\3\2\2\2\u0196\u09ef\3\2\2\2\u0198\u0a07\3\2\2\2\u019a"+ + "\u0a09\3\2\2\2\u019c\u0a13\3\2\2\2\u019e\u0a1a\3\2\2\2\u01a0\u0a1e\3\2"+ + "\2\2\u01a2\u0a20\3\2\2\2\u01a4\u0a2e\3\2\2\2\u01a6\u0a30\3\2\2\2\u01a8"+ + "\u0a3a\3\2\2\2\u01aa\u0a3e\3\2\2\2\u01ac\u0a40\3\2\2\2\u01ae\u0a47\3\2"+ + "\2\2\u01b0\u0a49\3\2\2\2\u01b2\u0a52\3\2\2\2\u01b4\u0a54\3\2\2\2\u01b6"+ + "\u0a5f\3\2\2\2\u01b8\u0a6a\3\2\2\2\u01ba\u0a75\3\2\2\2\u01bc\u0a80\3\2"+ + "\2\2\u01be\u0a8b\3\2\2\2\u01c0\u0a99\3\2\2\2\u01c2\u0ab0\3\2\2\2\u01c4"+ + "\u0ac5\3\2\2\2\u01c6\u0ad3\3\2\2\2\u01c8\u0aeb\3\2\2\2\u01ca\u0aed\3\2"+ + "\2\2\u01cc\u0af0\3\2\2\2\u01ce\u0af9\3\2\2\2\u01d0\u0afd\3\2\2\2\u01d2"+ + "\u0b06\3\2\2\2\u01d4\u0b09\3\2\2\2\u01d6\u0b0b\3\2\2\2\u01d8\u0b0e\3\2"+ + "\2\2\u01da\u0b2b\3\2\2\2\u01dc\u01dd\t\2\2\2\u01dd\3\3\2\2\2\u01de\u01e1"+ + "\5\6\4\2\u01df\u01e1\5\16\b\2\u01e0\u01de\3\2\2\2\u01e0\u01df\3\2\2\2"+ + "\u01e1\5\3\2\2\2\u01e2\u01e4\5\u00e8u\2\u01e3\u01e2\3\2\2\2\u01e4\u01e7"+ + "\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6\u01e8\3\2\2\2\u01e7"+ + "\u01e5\3\2\2\2\u01e8\u01f1\5\b\5\2\u01e9\u01eb\5\u00e8u\2\u01ea\u01e9"+ + "\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea\3\2\2\2\u01ec\u01ed\3\2\2\2\u01ed"+ + "\u01ef\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef\u01f1\7\5\2\2\u01f0\u01e5\3\2"+ + "\2\2\u01f0\u01ec\3\2\2\2\u01f1\7\3\2\2\2\u01f2\u01f5\5\n\6\2\u01f3\u01f5"+ + "\5\f\7\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3\3\2\2\2\u01f5\t\3\2\2\2\u01f6"+ + "\u01f7\t\3\2\2\u01f7\13\3\2\2\2\u01f8\u01f9\t\4\2\2\u01f9\r\3\2\2\2\u01fa"+ + "\u01fe\5\20\t\2\u01fb\u01fe\5\36\20\2\u01fc\u01fe\5 \21\2\u01fd\u01fa"+ + "\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fd\u01fc\3\2\2\2\u01fe\17\3\2\2\2\u01ff"+ + "\u0202\5\26\f\2\u0200\u0202\5\34\17\2\u0201\u01ff\3\2\2\2\u0201\u0200"+ + "\3\2\2\2\u0202\u0207\3\2\2\2\u0203\u0206\5\24\13\2\u0204\u0206\5\32\16"+ + "\2\u0205\u0203\3\2\2\2\u0205\u0204\3\2\2\2\u0206\u0209\3\2\2\2\u0207\u0205"+ + "\3\2\2\2\u0207\u0208\3\2\2\2\u0208\21\3\2\2\2\u0209\u0207\3\2\2\2\u020a"+ + "\u020c\5\u00e8u\2\u020b\u020a\3\2\2\2\u020c\u020f\3\2\2\2\u020d\u020b"+ + "\3\2\2\2\u020d\u020e\3\2\2\2\u020e\u0210\3\2\2\2\u020f\u020d\3\2\2\2\u0210"+ + "\u0212\7h\2\2\u0211\u0213\5,\27\2\u0212\u0211\3\2\2\2\u0212\u0213\3\2"+ + "\2\2\u0213\u0221\3\2\2\2\u0214\u0215\5\20\t\2\u0215\u0219\7C\2\2\u0216"+ + "\u0218\5\u00e8u\2\u0217\u0216\3\2\2\2\u0218\u021b\3\2\2\2\u0219\u0217"+ + "\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021c\3\2\2\2\u021b\u0219\3\2\2\2\u021c"+ + "\u021e\7h\2\2\u021d\u021f\5,\27\2\u021e\u021d\3\2\2\2\u021e\u021f\3\2"+ + "\2\2\u021f\u0221\3\2\2\2\u0220\u020d\3\2\2\2\u0220\u0214\3\2\2\2\u0221"+ + "\23\3\2\2\2\u0222\u0226\7C\2\2\u0223\u0225\5\u00e8u\2\u0224\u0223\3\2"+ + "\2\2\u0225\u0228\3\2\2\2\u0226\u0224\3\2\2\2\u0226\u0227\3\2\2\2\u0227"+ + "\u0229\3\2\2\2\u0228\u0226\3\2\2\2\u0229\u022b\7h\2\2\u022a\u022c\5,\27"+ + "\2\u022b\u022a\3\2\2\2\u022b\u022c\3\2\2\2\u022c\25\3\2\2\2\u022d\u022f"+ + "\5\u00e8u\2\u022e\u022d\3\2\2\2\u022f\u0232\3\2\2\2\u0230\u022e\3\2\2"+ + "\2\u0230\u0231\3\2\2\2\u0231\u0233\3\2\2\2\u0232\u0230\3\2\2\2\u0233\u0235"+ + "\7h\2\2\u0234\u0236\5,\27\2\u0235\u0234\3\2\2\2\u0235\u0236\3\2\2\2\u0236"+ + "\27\3\2\2\2\u0237\u0238\5\22\n\2\u0238\31\3\2\2\2\u0239\u023a\5\24\13"+ + "\2\u023a\33\3\2\2\2\u023b\u023c\5\26\f\2\u023c\35\3\2\2\2\u023d\u023f"+ + "\5\u00e8u\2\u023e\u023d\3\2\2\2\u023f\u0242\3\2\2\2\u0240\u023e\3\2\2"+ + "\2\u0240\u0241\3\2\2\2\u0241\u0243\3\2\2\2\u0242\u0240\3\2\2\2\u0243\u0244"+ + "\7h\2\2\u0244\37\3\2\2\2\u0245\u0246\5\6\4\2\u0246\u0247\5\"\22\2\u0247"+ + "\u024f\3\2\2\2\u0248\u0249\5\20\t\2\u0249\u024a\5\"\22\2\u024a\u024f\3"+ + "\2\2\2\u024b\u024c\5\36\20\2\u024c\u024d\5\"\22\2\u024d\u024f\3\2\2\2"+ + "\u024e\u0245\3\2\2\2\u024e\u0248\3\2\2\2\u024e\u024b\3\2\2\2\u024f!\3"+ + "\2\2\2\u0250\u0252\5\u00e8u\2\u0251\u0250\3\2\2\2\u0252\u0255\3\2\2\2"+ + "\u0253\u0251\3\2\2\2\u0253\u0254\3\2\2\2\u0254\u0256\3\2\2\2\u0255\u0253"+ + "\3\2\2\2\u0256\u0257\7?\2\2\u0257\u0262\7@\2\2\u0258\u025a\5\u00e8u\2"+ + "\u0259\u0258\3\2\2\2\u025a\u025d\3\2\2\2\u025b\u0259\3\2\2\2\u025b\u025c"+ + "\3\2\2\2\u025c\u025e\3\2\2\2\u025d\u025b\3\2\2\2\u025e\u025f\7?\2\2\u025f"+ + "\u0261\7@\2\2\u0260\u025b\3\2\2\2\u0261\u0264\3\2\2\2\u0262\u0260\3\2"+ + "\2\2\u0262\u0263\3\2\2\2\u0263#\3\2\2\2\u0264\u0262\3\2\2\2\u0265\u0267"+ + "\5&\24\2\u0266\u0265\3\2\2\2\u0267\u026a\3\2\2\2\u0268\u0266\3\2\2\2\u0268"+ + "\u0269\3\2\2\2\u0269\u026b\3\2\2\2\u026a\u0268\3\2\2\2\u026b\u026d\7h"+ + "\2\2\u026c\u026e\5(\25\2\u026d\u026c\3\2\2\2\u026d\u026e\3\2\2\2\u026e"+ + "%\3\2\2\2\u026f\u0270\5\u00e8u\2\u0270\'\3\2\2\2\u0271\u0272\7\23\2\2"+ + "\u0272\u027c\5\36\20\2\u0273\u0274\7\23\2\2\u0274\u0278\5\20\t\2\u0275"+ + "\u0277\5*\26\2\u0276\u0275\3\2\2\2\u0277\u027a\3\2\2\2\u0278\u0276\3\2"+ + "\2\2\u0278\u0279\3\2\2\2\u0279\u027c\3\2\2\2\u027a\u0278\3\2\2\2\u027b"+ + "\u0271\3\2\2\2\u027b\u0273\3\2\2\2\u027c)\3\2\2\2\u027d\u027e\7W\2\2\u027e"+ + "\u027f\5\30\r\2\u027f+\3\2\2\2\u0280\u0281\7F\2\2\u0281\u0282\5.\30\2"+ + "\u0282\u0283\7E\2\2\u0283-\3\2\2\2\u0284\u0289\5\60\31\2\u0285\u0286\7"+ + "B\2\2\u0286\u0288\5\60\31\2\u0287\u0285\3\2\2\2\u0288\u028b\3\2\2\2\u0289"+ + "\u0287\3\2\2\2\u0289\u028a\3\2\2\2\u028a/\3\2\2\2\u028b\u0289\3\2\2\2"+ + "\u028c\u028f\5\16\b\2\u028d\u028f\5\62\32\2\u028e\u028c\3\2\2\2\u028e"+ + "\u028d\3\2\2\2\u028f\61\3\2\2\2\u0290\u0292\5\u00e8u\2\u0291\u0290\3\2"+ + "\2\2\u0292\u0295\3\2\2\2\u0293\u0291\3\2\2\2\u0293\u0294\3\2\2\2\u0294"+ + "\u0296\3\2\2\2\u0295\u0293\3\2\2\2\u0296\u0298\7I\2\2\u0297\u0299\5\64"+ + "\33\2\u0298\u0297\3\2\2\2\u0298\u0299\3\2\2\2\u0299\63\3\2\2\2\u029a\u029b"+ + "\7\23\2\2\u029b\u029f\5\16\b\2\u029c\u029d\7*\2\2\u029d\u029f\5\16\b\2"+ + "\u029e\u029a\3\2\2\2\u029e\u029c\3\2\2\2\u029f\65\3\2\2\2\u02a0\u02a1"+ + "\b\34\1\2\u02a1\u02a2\7h\2\2\u02a2\u02a8\3\2\2\2\u02a3\u02a4\f\3\2\2\u02a4"+ + "\u02a5\7C\2\2\u02a5\u02a7\7h\2\2\u02a6\u02a3\3\2\2\2\u02a7\u02aa\3\2\2"+ + "\2\u02a8\u02a6\3\2\2\2\u02a8\u02a9\3\2\2\2\u02a9\67\3\2\2\2\u02aa\u02a8"+ + "\3\2\2\2\u02ab\u02b1\7h\2\2\u02ac\u02ad\5:\36\2\u02ad\u02ae\7C\2\2\u02ae"+ + "\u02af\7h\2\2\u02af\u02b1\3\2\2\2\u02b0\u02ab\3\2\2\2\u02b0\u02ac\3\2"+ + "\2\2\u02b19\3\2\2\2\u02b2\u02b3\b\36\1\2\u02b3\u02b4\7h\2\2\u02b4\u02ba"+ + "\3\2\2\2\u02b5\u02b6\f\3\2\2\u02b6\u02b7\7C\2\2\u02b7\u02b9\7h\2\2\u02b8"+ + "\u02b5\3\2\2\2\u02b9\u02bc\3\2\2\2\u02ba\u02b8\3\2\2\2\u02ba\u02bb\3\2"+ + "\2\2\u02bb;\3\2\2\2\u02bc\u02ba\3\2\2\2\u02bd\u02c3\7h\2\2\u02be\u02bf"+ + "\5@!\2\u02bf\u02c0\7C\2\2\u02c0\u02c1\7h\2\2\u02c1\u02c3\3\2\2\2\u02c2"+ + "\u02bd\3\2\2\2\u02c2\u02be\3\2\2\2\u02c3=\3\2\2\2\u02c4\u02c5\7h\2\2\u02c5"+ + "?\3\2\2\2\u02c6\u02c7\b!\1\2\u02c7\u02c8\7h\2\2\u02c8\u02ce\3\2\2\2\u02c9"+ + "\u02ca\f\3\2\2\u02ca\u02cb\7C\2\2\u02cb\u02cd\7h\2\2\u02cc\u02c9\3\2\2"+ + "\2\u02cd\u02d0\3\2\2\2\u02ce\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cfA"+ + "\3\2\2\2\u02d0\u02ce\3\2\2\2\u02d1\u02d3\5D#\2\u02d2\u02d1\3\2\2\2\u02d2"+ + "\u02d3\3\2\2\2\u02d3\u02d7\3\2\2\2\u02d4\u02d6\5H%\2\u02d5\u02d4\3\2\2"+ + "\2\u02d6\u02d9\3\2\2\2\u02d7\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u02dd"+ + "\3\2\2\2\u02d9\u02d7\3\2\2\2\u02da\u02dc\5R*\2\u02db\u02da\3\2\2\2\u02dc"+ + "\u02df\3\2\2\2\u02dd\u02db\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02e0\3\2"+ + "\2\2\u02df\u02dd\3\2\2\2\u02e0\u02e1\7\2\2\3\u02e1C\3\2\2\2\u02e2\u02e4"+ + "\5F$\2\u02e3\u02e2\3\2\2\2\u02e4\u02e7\3\2\2\2\u02e5\u02e3\3\2\2\2\u02e5"+ + "\u02e6\3\2\2\2\u02e6\u02e8\3\2\2\2\u02e7\u02e5\3\2\2\2\u02e8\u02e9\7\""+ + "\2\2\u02e9\u02ee\7h\2\2\u02ea\u02eb\7C\2\2\u02eb\u02ed\7h\2\2\u02ec\u02ea"+ + "\3\2\2\2\u02ed\u02f0\3\2\2\2\u02ee\u02ec\3\2\2\2\u02ee\u02ef\3\2\2\2\u02ef"+ + "\u02f1\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f1\u02f2\7A\2\2\u02f2E\3\2\2\2\u02f3"+ + "\u02f4\5\u00e8u\2\u02f4G\3\2\2\2\u02f5\u02fa\5J&\2\u02f6\u02fa\5L\'\2"+ + "\u02f7\u02fa\5N(\2\u02f8\u02fa\5P)\2\u02f9\u02f5\3\2\2\2\u02f9\u02f6\3"+ + "\2\2\2\u02f9\u02f7\3\2\2\2\u02f9\u02f8\3\2\2\2\u02faI\3\2\2\2\u02fb\u02fc"+ + "\7\33\2\2\u02fc\u02fd\58\35\2\u02fd\u02fe\7A\2\2\u02feK\3\2\2\2\u02ff"+ + "\u0300\7\33\2\2\u0300\u0301\5:\36\2\u0301\u0302\7C\2\2\u0302\u0303\7U"+ + "\2\2\u0303\u0304\7A\2\2\u0304M\3\2\2\2\u0305\u0306\7\33\2\2\u0306\u0307"+ + "\7(\2\2\u0307\u0308\58\35\2\u0308\u0309\7C\2\2\u0309\u030a\7h\2\2\u030a"+ + "\u030b\7A\2\2\u030bO\3\2\2\2\u030c\u030d\7\33\2\2\u030d\u030e\7(\2\2\u030e"+ + "\u030f\58\35\2\u030f\u0310\7C\2\2\u0310\u0311\7U\2\2\u0311\u0312\7A\2"+ + "\2\u0312Q\3\2\2\2\u0313\u0317\5T+\2\u0314\u0317\5\u00c8e\2\u0315\u0317"+ + "\7A\2\2\u0316\u0313\3\2\2\2\u0316\u0314\3\2\2\2\u0316\u0315\3\2\2\2\u0317"+ + "S\3\2\2\2\u0318\u031b\5V,\2\u0319\u031b\5\u00bc_\2\u031a\u0318\3\2\2\2"+ + "\u031a\u0319\3\2\2\2\u031bU\3\2\2\2\u031c\u031e\5X-\2\u031d\u031c\3\2"+ + "\2\2\u031e\u0321\3\2\2\2\u031f\u031d\3\2\2\2\u031f\u0320\3\2\2\2\u0320"+ + "\u0322\3\2\2\2\u0321\u031f\3\2\2\2\u0322\u0323\7\13\2\2\u0323\u0325\7"+ + "h\2\2\u0324\u0326\5Z.\2\u0325\u0324\3\2\2\2\u0325\u0326\3\2\2\2\u0326"+ + "\u0328\3\2\2\2\u0327\u0329\5^\60\2\u0328\u0327\3\2\2\2\u0328\u0329\3\2"+ + "\2\2\u0329\u032b\3\2\2\2\u032a\u032c\5`\61\2\u032b\u032a\3\2\2\2\u032b"+ + "\u032c\3\2\2\2\u032c\u032d\3\2\2\2\u032d\u032e\5d\63\2\u032eW\3\2\2\2"+ + "\u032f\u0338\5\u00e8u\2\u0330\u0338\7%\2\2\u0331\u0338\7$\2\2\u0332\u0338"+ + "\7#\2\2\u0333\u0338\7\3\2\2\u0334\u0338\7(\2\2\u0335\u0338\7\24\2\2\u0336"+ + "\u0338\7)\2\2\u0337\u032f\3\2\2\2\u0337\u0330\3\2\2\2\u0337\u0331\3\2"+ + "\2\2\u0337\u0332\3\2\2\2\u0337\u0333\3\2\2\2\u0337\u0334\3\2\2\2\u0337"+ + "\u0335\3\2\2\2\u0337\u0336\3\2\2\2\u0338Y\3\2\2\2\u0339\u033a\7F\2\2\u033a"+ + "\u033b\5\\/\2\u033b\u033c\7E\2\2\u033c[\3\2\2\2\u033d\u0342\5$\23\2\u033e"+ + "\u033f\7B\2\2\u033f\u0341\5$\23\2\u0340\u033e\3\2\2\2\u0341\u0344\3\2"+ + "\2\2\u0342\u0340\3\2\2\2\u0342\u0343\3\2\2\2\u0343]\3\2\2\2\u0344\u0342"+ + "\3\2\2\2\u0345\u0346\7\23\2\2\u0346\u0347\5\22\n\2\u0347_\3\2\2\2\u0348"+ + "\u0349\7\32\2\2\u0349\u034a\5b\62\2\u034aa\3\2\2\2\u034b\u0350\5\30\r"+ + "\2\u034c\u034d\7B\2\2\u034d\u034f\5\30\r\2\u034e\u034c\3\2\2\2\u034f\u0352"+ + "\3\2\2\2\u0350\u034e\3\2\2\2\u0350\u0351\3\2\2\2\u0351c\3\2\2\2\u0352"+ + "\u0350\3\2\2\2\u0353\u0357\7=\2\2\u0354\u0356\5f\64\2\u0355\u0354\3\2"+ + "\2\2\u0356\u0359\3\2\2\2\u0357\u0355\3\2\2\2\u0357\u0358\3\2\2\2\u0358"+ + "\u035a\3\2\2\2\u0359\u0357\3\2\2\2\u035a\u035b\7>\2\2\u035be\3\2\2\2\u035c"+ + "\u0361\5h\65\2\u035d\u0361\5\u00acW\2\u035e\u0361\5\u00aeX\2\u035f\u0361"+ + "\5\u00b0Y\2\u0360\u035c\3\2\2\2\u0360\u035d\3\2\2\2\u0360\u035e\3\2\2"+ + "\2\u0360\u035f\3\2\2\2\u0361g\3\2\2\2\u0362\u0368\5j\66\2\u0363\u0368"+ + "\5\u008eH\2\u0364\u0368\5T+\2\u0365\u0368\5\u00c8e\2\u0366\u0368\7A\2"+ + "\2\u0367\u0362\3\2\2\2\u0367\u0363\3\2\2\2\u0367\u0364\3\2\2\2\u0367\u0365"+ + "\3\2\2\2\u0367\u0366\3\2\2\2\u0368i\3\2\2\2\u0369\u036b\5l\67\2\u036a"+ + "\u0369\3\2\2\2\u036b\u036e\3\2\2\2\u036c\u036a\3\2\2\2\u036c\u036d\3\2"+ + "\2\2\u036d\u0370\3\2\2\2\u036e\u036c\3\2\2\2\u036f\u0371\5v<\2\u0370\u036f"+ + "\3\2\2\2\u0370\u0371\3\2\2\2\u0371\u0372\3\2\2\2\u0372\u0373\5n8\2\u0373"+ + "\u0374\7A\2\2\u0374k\3\2\2\2\u0375\u037e\5\u00e8u\2\u0376\u037e\7%\2\2"+ + "\u0377\u037e\7$\2\2\u0378\u037e\7#\2\2\u0379\u037e\7(\2\2\u037a\u037e"+ + "\7\24\2\2\u037b\u037e\7\60\2\2\u037c\u037e\7\63\2\2\u037d\u0375\3\2\2"+ + "\2\u037d\u0376\3\2\2\2\u037d\u0377\3\2\2\2\u037d\u0378\3\2\2\2\u037d\u0379"+ + "\3\2\2\2\u037d\u037a\3\2\2\2\u037d\u037b\3\2\2\2\u037d\u037c\3\2\2\2\u037e"+ + "m\3\2\2\2\u037f\u0384\5p9\2\u0380\u0381\7B\2\2\u0381\u0383\5p9\2\u0382"+ + "\u0380\3\2\2\2\u0383\u0386\3\2\2\2\u0384\u0382\3\2\2\2\u0384\u0385\3\2"+ + "\2\2\u0385o\3\2\2\2\u0386\u0384\3\2\2\2\u0387\u038a\5r:\2\u0388\u0389"+ + "\7D\2\2\u0389\u038b\5t;\2\u038a\u0388\3\2\2\2\u038a\u038b\3\2\2\2\u038b"+ + "q\3\2\2\2\u038c\u038e\7h\2\2\u038d\u038f\5\"\22\2\u038e\u038d\3\2\2\2"+ + "\u038e\u038f\3\2\2\2\u038fs\3\2\2\2\u0390\u0393\5\u01a0\u00d1\2\u0391"+ + "\u0393\5\u00fa~\2\u0392\u0390\3\2\2\2\u0392\u0391\3\2\2\2\u0393u\3\2\2"+ + "\2\u0394\u0397\5x=\2\u0395\u0397\5z>\2\u0396\u0394\3\2\2\2\u0396\u0395"+ + "\3\2\2\2\u0397w\3\2\2\2\u0398\u039b\5\b\5\2\u0399\u039b\7\5\2\2\u039a"+ + "\u0398\3\2\2\2\u039a\u0399\3\2\2\2\u039by\3\2\2\2\u039c\u03a0\5|?\2\u039d"+ + "\u03a0\5\u008aF\2\u039e\u03a0\5\u008cG\2\u039f\u039c\3\2\2\2\u039f\u039d"+ + "\3\2\2\2\u039f\u039e\3\2\2\2\u03a0{\3\2\2\2\u03a1\u03a4\5\u0082B\2\u03a2"+ + "\u03a4\5\u0088E\2\u03a3\u03a1\3\2\2\2\u03a3\u03a2\3\2\2\2\u03a4\u03a9"+ + "\3\2\2\2\u03a5\u03a8\5\u0080A\2\u03a6\u03a8\5\u0086D\2\u03a7\u03a5\3\2"+ + "\2\2\u03a7\u03a6\3\2\2\2\u03a8\u03ab\3\2\2\2\u03a9\u03a7\3\2\2\2\u03a9"+ + "\u03aa\3\2\2\2\u03aa}\3\2\2\2\u03ab\u03a9\3\2\2\2\u03ac\u03ae\7h\2\2\u03ad"+ + "\u03af\5,\27\2\u03ae\u03ad\3\2\2\2\u03ae\u03af\3\2\2\2\u03af\u03bd\3\2"+ + "\2\2\u03b0\u03b1\5|?\2\u03b1\u03b5\7C\2\2\u03b2\u03b4\5\u00e8u\2\u03b3"+ + "\u03b2\3\2\2\2\u03b4\u03b7\3\2\2\2\u03b5\u03b3\3\2\2\2\u03b5\u03b6\3\2"+ + "\2\2\u03b6\u03b8\3\2\2\2\u03b7\u03b5\3\2\2\2\u03b8\u03ba\7h\2\2\u03b9"+ + "\u03bb\5,\27\2\u03ba\u03b9\3\2\2\2\u03ba\u03bb\3\2\2\2\u03bb\u03bd\3\2"+ + "\2\2\u03bc\u03ac\3\2\2\2\u03bc\u03b0\3\2\2\2\u03bd\177\3\2\2\2\u03be\u03c2"+ + "\7C\2\2\u03bf\u03c1\5\u00e8u\2\u03c0\u03bf\3\2\2\2\u03c1\u03c4\3\2\2\2"+ + "\u03c2\u03c0\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3\u03c5\3\2\2\2\u03c4\u03c2"+ + "\3\2\2\2\u03c5\u03c7\7h\2\2\u03c6\u03c8\5,\27\2\u03c7\u03c6\3\2\2\2\u03c7"+ + "\u03c8\3\2\2\2\u03c8\u0081\3\2\2\2\u03c9\u03cb\7h\2\2\u03ca\u03cc\5,\27"+ + "\2\u03cb\u03ca\3\2\2\2\u03cb\u03cc\3\2\2\2\u03cc\u0083\3\2\2\2\u03cd\u03ce"+ + "\5~@\2\u03ce\u0085\3\2\2\2\u03cf\u03d0\5\u0080A\2\u03d0\u0087\3\2\2\2"+ + "\u03d1\u03d2\5\u0082B\2\u03d2\u0089\3\2\2\2\u03d3\u03d4\7h\2\2\u03d4\u008b"+ + "\3\2\2\2\u03d5\u03d6\5x=\2\u03d6\u03d7\5\"\22\2\u03d7\u03df\3\2\2\2\u03d8"+ + "\u03d9\5|?\2\u03d9\u03da\5\"\22\2\u03da\u03df\3\2\2\2\u03db\u03dc\5\u008a"+ + "F\2\u03dc\u03dd\5\"\22\2\u03dd\u03df\3\2\2\2\u03de\u03d5\3\2\2\2\u03de"+ + "\u03d8\3\2\2\2\u03de\u03db\3\2\2\2\u03df\u008d\3\2\2\2\u03e0\u03e2\5\u0090"+ + "I\2\u03e1\u03e0\3\2\2\2\u03e2\u03e5\3\2\2\2\u03e3\u03e1\3\2\2\2\u03e3"+ + "\u03e4\3\2\2\2\u03e4\u03e6\3\2\2\2\u03e5\u03e3\3\2\2\2\u03e6\u03e7\5\u0092"+ + "J\2\u03e7\u03e8\5\u00aaV\2\u03e8\u008f\3\2\2\2\u03e9\u03f4\5\u00e8u\2"+ + "\u03ea\u03f4\7%\2\2\u03eb\u03f4\7$\2\2\u03ec\u03f4\7#\2\2\u03ed\u03f4"+ + "\7\3\2\2\u03ee\u03f4\7(\2\2\u03ef\u03f4\7\24\2\2\u03f0\u03f4\7,\2\2\u03f1"+ + "\u03f4\7 \2\2\u03f2\u03f4\7)\2\2\u03f3\u03e9\3\2\2\2\u03f3\u03ea\3\2\2"+ + "\2\u03f3\u03eb\3\2\2\2\u03f3\u03ec\3\2\2\2\u03f3\u03ed\3\2\2\2\u03f3\u03ee"+ + "\3\2\2\2\u03f3\u03ef\3\2\2\2\u03f3\u03f0\3\2\2\2\u03f3\u03f1\3\2\2\2\u03f3"+ + "\u03f2\3\2\2\2\u03f4\u0091\3\2\2\2\u03f5\u03f6\5\u0094K\2\u03f6\u03f8"+ + "\5\u0096L\2\u03f7\u03f9\5\u00a4S\2\u03f8\u03f7\3\2\2\2\u03f8\u03f9\3\2"+ + "\2\2\u03f9\u0407\3\2\2\2\u03fa\u03fe\5Z.\2\u03fb\u03fd\5\u00e8u\2\u03fc"+ + "\u03fb\3\2\2\2\u03fd\u0400\3\2\2\2\u03fe\u03fc\3\2\2\2\u03fe\u03ff\3\2"+ + "\2\2\u03ff\u0401\3\2\2\2\u0400\u03fe\3\2\2\2\u0401\u0402\5\u0094K\2\u0402"+ + "\u0404\5\u0096L\2\u0403\u0405\5\u00a4S\2\u0404\u0403\3\2\2\2\u0404\u0405"+ + "\3\2\2\2\u0405\u0407\3\2\2\2\u0406\u03f5\3\2\2\2\u0406\u03fa\3\2\2\2\u0407"+ + "\u0093\3\2\2\2\u0408\u040b\5v<\2\u0409\u040b\7\62\2\2\u040a\u0408\3\2"+ + "\2\2\u040a\u0409\3\2\2\2\u040b\u0095\3\2\2\2\u040c\u040d\7h\2\2\u040d"+ + "\u040f\7;\2\2\u040e\u0410\5\u0098M\2\u040f\u040e\3\2\2\2\u040f\u0410\3"+ + "\2\2\2\u0410\u0411\3\2\2\2\u0411\u0413\7<\2\2\u0412\u0414\5\"\22\2\u0413"+ + "\u0412\3\2\2\2\u0413\u0414\3\2\2\2\u0414\u0097\3\2\2\2\u0415\u0416\5\u009a"+ + "N\2\u0416\u0417\7B\2\2\u0417\u0418\5\u00a0Q\2\u0418\u041b\3\2\2\2\u0419"+ + "\u041b\5\u00a0Q\2\u041a\u0415\3\2\2\2\u041a\u0419\3\2\2\2\u041b\u0099"+ + "\3\2\2\2\u041c\u0421\5\u009cO\2\u041d\u041e\7B\2\2\u041e\u0420\5\u009c"+ + "O\2\u041f\u041d\3\2\2\2\u0420\u0423\3\2\2\2\u0421\u041f\3\2\2\2\u0421"+ + "\u0422\3\2\2\2\u0422\u042d\3\2\2\2\u0423\u0421\3\2\2\2\u0424\u0429\5\u00a2"+ + "R\2\u0425\u0426\7B\2\2\u0426\u0428\5\u009cO\2\u0427\u0425\3\2\2\2\u0428"+ + "\u042b\3\2\2\2\u0429\u0427\3\2\2\2\u0429\u042a\3\2\2\2\u042a\u042d\3\2"+ + "\2\2\u042b\u0429\3\2\2\2\u042c\u041c\3\2\2\2\u042c\u0424\3\2\2\2\u042d"+ + "\u009b\3\2\2\2\u042e\u0430\5\u009eP\2\u042f\u042e\3\2\2\2\u0430\u0433"+ + "\3\2\2\2\u0431\u042f\3\2\2\2\u0431\u0432\3\2\2\2\u0432\u0434\3\2\2\2\u0433"+ + "\u0431\3\2\2\2\u0434\u0435\5v<\2\u0435\u0436\5r:\2\u0436\u009d\3\2\2\2"+ + "\u0437\u043a\5\u00e8u\2\u0438\u043a\7\24\2\2\u0439\u0437\3\2\2\2\u0439"+ + "\u0438\3\2\2\2\u043a\u009f\3\2\2\2\u043b\u043d\5\u009eP\2\u043c\u043b"+ + "\3\2\2\2\u043d\u0440\3\2\2\2\u043e\u043c\3\2\2\2\u043e\u043f\3\2\2\2\u043f"+ + "\u0441\3\2\2\2\u0440\u043e\3\2\2\2\u0441\u0445\5v<\2\u0442\u0444\5\u00e8"+ + "u\2\u0443\u0442\3\2\2\2\u0444\u0447\3\2\2\2\u0445\u0443\3\2\2\2\u0445"+ + "\u0446\3\2\2\2\u0446\u0448\3\2\2\2\u0447\u0445\3\2\2\2\u0448\u0449\7j"+ + "\2\2\u0449\u044a\5r:\2\u044a\u044d\3\2\2\2\u044b\u044d\5\u009cO\2\u044c"+ + "\u043e\3\2\2\2\u044c\u044b\3\2\2\2\u044d\u00a1\3\2\2\2\u044e\u0450\5\u00e8"+ + "u\2\u044f\u044e\3\2\2\2\u0450\u0453\3\2\2\2\u0451\u044f\3\2\2\2\u0451"+ + "\u0452\3\2\2\2\u0452\u0454\3\2\2\2\u0453\u0451\3\2\2\2\u0454\u0457\5v"+ + "<\2\u0455\u0456\7h\2\2\u0456\u0458\7C\2\2\u0457\u0455\3\2\2\2\u0457\u0458"+ + "\3\2\2\2\u0458\u0459\3\2\2\2\u0459\u045a\7-\2\2\u045a\u00a3\3\2\2\2\u045b"+ + "\u045c\7/\2\2\u045c\u045d\5\u00a6T\2\u045d\u00a5\3\2\2\2\u045e\u0463\5"+ + "\u00a8U\2\u045f\u0460\7B\2\2\u0460\u0462\5\u00a8U\2\u0461\u045f\3\2\2"+ + "\2\u0462\u0465\3\2\2\2\u0463\u0461\3\2\2\2\u0463\u0464\3\2\2\2\u0464\u00a7"+ + "\3\2\2\2\u0465\u0463\3\2\2\2\u0466\u0469\5\22\n\2\u0467\u0469\5\36\20"+ + "\2\u0468\u0466\3\2\2\2\u0468\u0467\3\2\2\2\u0469\u00a9\3\2\2\2\u046a\u046d"+ + "\5\u00fe\u0080\2\u046b\u046d\7A\2\2\u046c\u046a\3\2\2\2\u046c\u046b\3"+ + "\2\2\2\u046d\u00ab\3\2\2\2\u046e\u046f\5\u00fe\u0080\2\u046f\u00ad\3\2"+ + "\2\2\u0470\u0471\7(\2\2\u0471\u0472\5\u00fe\u0080\2\u0472\u00af\3\2\2"+ + "\2\u0473\u0475\5\u00b2Z\2\u0474\u0473\3\2\2\2\u0475\u0478\3\2\2\2\u0476"+ + "\u0474\3\2\2\2\u0476\u0477\3\2\2\2\u0477\u0479\3\2\2\2\u0478\u0476\3\2"+ + "\2\2\u0479\u047b\5\u00b4[\2\u047a\u047c\5\u00a4S\2\u047b\u047a\3\2\2\2"+ + "\u047b\u047c\3\2\2\2\u047c\u047d\3\2\2\2\u047d\u047e\5\u00b8]\2\u047e"+ + "\u00b1\3\2\2\2\u047f\u0484\5\u00e8u\2\u0480\u0484\7%\2\2\u0481\u0484\7"+ + "$\2\2\u0482\u0484\7#\2\2\u0483\u047f\3\2\2\2\u0483\u0480\3\2\2\2\u0483"+ + "\u0481\3\2\2\2\u0483\u0482\3\2\2\2\u0484\u00b3\3\2\2\2\u0485\u0487\5Z"+ + ".\2\u0486\u0485\3\2\2\2\u0486\u0487\3\2\2\2\u0487\u0488\3\2\2\2\u0488"+ + "\u0489\5\u00b6\\\2\u0489\u048b\7;\2\2\u048a\u048c\5\u0098M\2\u048b\u048a"+ + "\3\2\2\2\u048b\u048c\3\2\2\2\u048c\u048d\3\2\2\2\u048d\u048e\7<\2\2\u048e"+ + "\u00b5\3\2\2\2\u048f\u0490\7h\2\2\u0490\u00b7\3\2\2\2\u0491\u0493\7=\2"+ + "\2\u0492\u0494\5\u00ba^\2\u0493\u0492\3\2\2\2\u0493\u0494\3\2\2\2\u0494"+ + "\u0496\3\2\2\2\u0495\u0497\5\u0100\u0081\2\u0496\u0495\3\2\2\2\u0496\u0497"+ + "\3\2\2\2\u0497\u0498\3\2\2\2\u0498\u0499\7>\2\2\u0499\u00b9\3\2\2\2\u049a"+ + "\u049c\5,\27\2\u049b\u049a\3\2\2\2\u049b\u049c\3\2\2\2\u049c\u049d\3\2"+ + "\2\2\u049d\u049e\7-\2\2\u049e\u04a0\7;\2\2\u049f\u04a1\5\u0190\u00c9\2"+ + "\u04a0\u049f\3\2\2\2\u04a0\u04a1\3\2\2\2\u04a1\u04a2\3\2\2\2\u04a2\u04a3"+ + "\7<\2\2\u04a3\u04c9\7A\2\2\u04a4\u04a6\5,\27\2\u04a5\u04a4\3\2\2\2\u04a5"+ + "\u04a6\3\2\2\2\u04a6\u04a7\3\2\2\2\u04a7\u04a8\7*\2\2\u04a8\u04aa\7;\2"+ + "\2\u04a9\u04ab\5\u0190\u00c9\2\u04aa\u04a9\3\2\2\2\u04aa\u04ab\3\2\2\2"+ + "\u04ab\u04ac\3\2\2\2\u04ac\u04ad\7<\2\2\u04ad\u04c9\7A\2\2\u04ae\u04af"+ + "\5<\37\2\u04af\u04b1\7C\2\2\u04b0\u04b2\5,\27\2\u04b1\u04b0\3\2\2\2\u04b1"+ + "\u04b2\3\2\2\2\u04b2\u04b3\3\2\2\2\u04b3\u04b4\7*\2\2\u04b4\u04b6\7;\2"+ + "\2\u04b5\u04b7\5\u0190\u00c9\2\u04b6\u04b5\3\2\2\2\u04b6\u04b7\3\2\2\2"+ + "\u04b7\u04b8\3\2\2\2\u04b8\u04b9\7<\2\2\u04b9\u04ba\7A\2\2\u04ba\u04c9"+ + "\3\2\2\2\u04bb\u04bc\5\u0162\u00b2\2\u04bc\u04be\7C\2\2\u04bd\u04bf\5"+ + ",\27\2\u04be\u04bd\3\2\2\2\u04be\u04bf\3\2\2\2\u04bf\u04c0\3\2\2\2\u04c0"+ + "\u04c1\7*\2\2\u04c1\u04c3\7;\2\2\u04c2\u04c4\5\u0190\u00c9\2\u04c3\u04c2"+ + "\3\2\2\2\u04c3\u04c4\3\2\2\2\u04c4\u04c5\3\2\2\2\u04c5\u04c6\7<\2\2\u04c6"+ + "\u04c7\7A\2\2\u04c7\u04c9\3\2\2\2\u04c8\u049b\3\2\2\2\u04c8\u04a5\3\2"+ + "\2\2\u04c8\u04ae\3\2\2\2\u04c8\u04bb\3\2\2\2\u04c9\u00bb\3\2\2\2\u04ca"+ + "\u04cc\5X-\2\u04cb\u04ca\3\2\2\2\u04cc\u04cf\3\2\2\2\u04cd\u04cb\3\2\2"+ + "\2\u04cd\u04ce\3\2\2\2\u04ce\u04d0\3\2\2\2\u04cf\u04cd\3\2\2\2\u04d0\u04d1"+ + "\7\22\2\2\u04d1\u04d3\7h\2\2\u04d2\u04d4\5`\61\2\u04d3\u04d2\3\2\2\2\u04d3"+ + "\u04d4\3\2\2\2\u04d4\u04d5\3\2\2\2\u04d5\u04d6\5\u00be`\2\u04d6\u00bd"+ + "\3\2\2\2\u04d7\u04d9\7=\2\2\u04d8\u04da\5\u00c0a\2\u04d9\u04d8\3\2\2\2"+ + "\u04d9\u04da\3\2\2\2\u04da\u04dc\3\2\2\2\u04db\u04dd\7B\2\2\u04dc\u04db"+ + "\3\2\2\2\u04dc\u04dd\3\2\2\2\u04dd\u04df\3\2\2\2\u04de\u04e0\5\u00c6d"+ + "\2\u04df\u04de\3\2\2\2\u04df\u04e0\3\2\2\2\u04e0\u04e1\3\2\2\2\u04e1\u04e2"+ + "\7>\2\2\u04e2\u00bf\3\2\2\2\u04e3\u04e8\5\u00c2b\2\u04e4\u04e5\7B\2\2"+ + "\u04e5\u04e7\5\u00c2b\2\u04e6\u04e4\3\2\2\2\u04e7\u04ea\3\2\2\2\u04e8"+ + "\u04e6\3\2\2\2\u04e8\u04e9\3\2\2\2\u04e9\u00c1\3\2\2\2\u04ea\u04e8\3\2"+ + "\2\2\u04eb\u04ed\5\u00c4c\2\u04ec\u04eb\3\2\2\2\u04ed\u04f0\3\2\2\2\u04ee"+ + "\u04ec\3\2\2\2\u04ee\u04ef\3\2\2\2\u04ef\u04f1\3\2\2\2\u04f0\u04ee\3\2"+ + "\2\2\u04f1\u04f7\7h\2\2\u04f2\u04f4\7;\2\2\u04f3\u04f5\5\u0190\u00c9\2"+ + "\u04f4\u04f3\3\2\2\2\u04f4\u04f5\3\2\2\2\u04f5\u04f6\3\2\2\2\u04f6\u04f8"+ + "\7<\2\2\u04f7\u04f2\3\2\2\2\u04f7\u04f8\3\2\2\2\u04f8\u04fa\3\2\2\2\u04f9"+ + "\u04fb\5d\63\2\u04fa\u04f9\3\2\2\2\u04fa\u04fb\3\2\2\2\u04fb\u00c3\3\2"+ + "\2\2\u04fc\u04fd\5\u00e8u\2\u04fd\u00c5\3\2\2\2\u04fe\u0502\7A\2\2\u04ff"+ + "\u0501\5f\64\2\u0500\u04ff\3\2\2\2\u0501\u0504\3\2\2\2\u0502\u0500\3\2"+ + "\2\2\u0502\u0503\3\2\2\2\u0503\u00c7\3\2\2\2\u0504\u0502\3\2\2\2\u0505"+ + "\u0508\5\u00caf\2\u0506\u0508\5\u00dco\2\u0507\u0505\3\2\2\2\u0507\u0506"+ + "\3\2\2\2\u0508\u00c9\3\2\2\2\u0509\u050b\5\u00ccg\2\u050a\u0509\3\2\2"+ + "\2\u050b\u050e\3\2\2\2\u050c\u050a\3\2\2\2\u050c\u050d\3\2\2\2\u050d\u050f"+ + "\3\2\2\2\u050e\u050c\3\2\2\2\u050f\u0510\7\36\2\2\u0510\u0512\7h\2\2\u0511"+ + "\u0513\5Z.\2\u0512\u0511\3\2\2\2\u0512\u0513\3\2\2\2\u0513\u0515\3\2\2"+ + "\2\u0514\u0516\5\u00ceh\2\u0515\u0514\3\2\2\2\u0515\u0516\3\2\2\2\u0516"+ + "\u0517\3\2\2\2\u0517\u0518\5\u00d0i\2\u0518\u00cb\3\2\2\2\u0519\u0521"+ + "\5\u00e8u\2\u051a\u0521\7%\2\2\u051b\u0521\7$\2\2\u051c\u0521\7#\2\2\u051d"+ + "\u0521\7\3\2\2\u051e\u0521\7(\2\2\u051f\u0521\7)\2\2\u0520\u0519\3\2\2"+ + "\2\u0520\u051a\3\2\2\2\u0520\u051b\3\2\2\2\u0520\u051c\3\2\2\2\u0520\u051d"+ + "\3\2\2\2\u0520\u051e\3\2\2\2\u0520\u051f\3\2\2\2\u0521\u00cd\3\2\2\2\u0522"+ + "\u0523\7\23\2\2\u0523\u0524\5b\62\2\u0524\u00cf\3\2\2\2\u0525\u0529\7"+ + "=\2\2\u0526\u0528\5\u00d2j\2\u0527\u0526\3\2\2\2\u0528\u052b\3\2\2\2\u0529"+ + "\u0527\3\2\2\2\u0529\u052a\3\2\2\2\u052a\u052c\3\2\2\2\u052b\u0529\3\2"+ + "\2\2\u052c\u052d\7>\2\2\u052d\u00d1\3\2\2\2\u052e\u0534\5\u00d4k\2\u052f"+ + "\u0534\5\u00d8m\2\u0530\u0534\5T+\2\u0531\u0534\5\u00c8e\2\u0532\u0534"+ + "\7A\2\2\u0533\u052e\3\2\2\2\u0533\u052f\3\2\2\2\u0533\u0530\3\2\2\2\u0533"+ + "\u0531\3\2\2\2\u0533\u0532\3\2\2\2\u0534\u00d3\3\2\2\2\u0535\u0537\5\u00d6"+ + "l\2\u0536\u0535\3\2\2\2\u0537\u053a\3\2\2\2\u0538\u0536\3\2\2\2\u0538"+ + "\u0539\3\2\2\2\u0539\u053b\3\2\2\2\u053a\u0538\3\2\2\2\u053b\u053c\5v"+ + "<\2\u053c\u053d\5n8\2\u053d\u053e\7A\2\2\u053e\u00d5\3\2\2\2\u053f\u0544"+ + "\5\u00e8u\2\u0540\u0544\7%\2\2\u0541\u0544\7(\2\2\u0542\u0544\7\24\2\2"+ + "\u0543\u053f\3\2\2\2\u0543\u0540\3\2\2\2\u0543\u0541\3\2\2\2\u0543\u0542"+ + "\3\2\2\2\u0544\u00d7\3\2\2\2\u0545\u0547\5\u00dan\2\u0546\u0545\3\2\2"+ + "\2\u0547\u054a\3\2\2\2\u0548\u0546\3\2\2\2\u0548\u0549\3\2\2\2\u0549\u054b"+ + "\3\2\2\2\u054a\u0548\3\2\2\2\u054b\u054c\5\u0092J\2\u054c\u054d\5\u00aa"+ + "V\2\u054d\u00d9\3\2\2\2\u054e\u0555\5\u00e8u\2\u054f\u0555\7%\2\2\u0550"+ + "\u0555\7\3\2\2\u0551\u0555\7\16\2\2\u0552\u0555\7(\2\2\u0553\u0555\7)"+ + "\2\2\u0554\u054e\3\2\2\2\u0554\u054f\3\2\2\2\u0554\u0550\3\2\2\2\u0554"+ + "\u0551\3\2\2\2\u0554\u0552\3\2\2\2\u0554\u0553\3\2\2\2\u0555\u00db\3\2"+ + "\2\2\u0556\u0558\5\u00ccg\2\u0557\u0556\3\2\2\2\u0558\u055b\3\2\2\2\u0559"+ + "\u0557\3\2\2\2\u0559\u055a\3\2\2\2\u055a\u055c\3\2\2\2\u055b\u0559\3\2"+ + "\2\2\u055c\u055d\7i\2\2\u055d\u055e\7\36\2\2\u055e\u055f\7h\2\2\u055f"+ + "\u0560\5\u00dep\2\u0560\u00dd\3\2\2\2\u0561\u0565\7=\2\2\u0562\u0564\5"+ + "\u00e0q\2\u0563\u0562\3\2\2\2\u0564\u0567\3\2\2\2\u0565\u0563\3\2\2\2"+ + "\u0565\u0566\3\2\2\2\u0566\u0568\3\2\2\2\u0567\u0565\3\2\2\2\u0568\u0569"+ + "\7>\2\2\u0569\u00df\3\2\2\2\u056a\u0570\5\u00e2r\2\u056b\u0570\5\u00d4"+ + "k\2\u056c\u0570\5T+\2\u056d\u0570\5\u00c8e\2\u056e\u0570\7A\2\2\u056f"+ + "\u056a\3\2\2\2\u056f\u056b\3\2\2\2\u056f\u056c\3\2\2\2\u056f\u056d\3\2"+ + "\2\2\u056f\u056e\3\2\2\2\u0570\u00e1\3\2\2\2\u0571\u0573\5\u00e4s\2\u0572"+ + "\u0571\3\2\2\2\u0573\u0576\3\2\2\2\u0574\u0572\3\2\2\2\u0574\u0575\3\2"+ + "\2\2\u0575\u0577\3\2\2\2\u0576\u0574\3\2\2\2\u0577\u0578\5v<\2\u0578\u0579"+ + "\7h\2\2\u0579\u057a\7;\2\2\u057a\u057c\7<\2\2\u057b\u057d\5\"\22\2\u057c"+ + "\u057b\3\2\2\2\u057c\u057d\3\2\2\2\u057d\u057f\3\2\2\2\u057e\u0580\5\u00e6"+ + "t\2\u057f\u057e\3\2\2\2\u057f\u0580\3\2\2\2\u0580\u0581\3\2\2\2\u0581"+ + "\u0582\7A\2\2\u0582\u00e3\3\2\2\2\u0583\u0587\5\u00e8u\2\u0584\u0587\7"+ + "%\2\2\u0585\u0587\7\3\2\2\u0586\u0583\3\2\2\2\u0586\u0584\3\2\2\2\u0586"+ + "\u0585\3\2\2\2\u0587\u00e5\3\2\2\2\u0588\u0589\7\16\2\2\u0589\u058a\5"+ + "\u00f0y\2\u058a\u00e7\3\2\2\2\u058b\u058f\5\u00eav\2\u058c\u058f\5\u00f6"+ + "|\2\u058d\u058f\5\u00f8}\2\u058e\u058b\3\2\2\2\u058e\u058c\3\2\2\2\u058e"+ + "\u058d\3\2\2\2\u058f\u00e9\3\2\2\2\u0590\u0591\7i\2\2\u0591\u0592\58\35"+ + "\2\u0592\u0594\7;\2\2\u0593\u0595\5\u00ecw\2\u0594\u0593\3\2\2\2\u0594"+ + "\u0595\3\2\2\2\u0595\u0596\3\2\2\2\u0596\u0597\7<\2\2\u0597\u00eb\3\2"+ + "\2\2\u0598\u059d\5\u00eex\2\u0599\u059a\7B\2\2\u059a\u059c\5\u00eex\2"+ + "\u059b\u0599\3\2\2\2\u059c\u059f\3\2\2\2\u059d\u059b\3\2\2\2\u059d\u059e"+ + "\3\2\2\2\u059e\u00ed\3\2\2\2\u059f\u059d\3\2\2\2\u05a0\u05a1\7h\2\2\u05a1"+ + "\u05a2\7D\2\2\u05a2\u05a3\5\u00f0y\2\u05a3\u00ef\3\2\2\2\u05a4\u05a8\5"+ + "\u01b2\u00da\2\u05a5\u05a8\5\u00f2z\2\u05a6\u05a8\5\u00e8u\2\u05a7\u05a4"+ + "\3\2\2\2\u05a7\u05a5\3\2\2\2\u05a7\u05a6\3\2\2\2\u05a8\u00f1\3\2\2\2\u05a9"+ + "\u05ab\7=\2\2\u05aa\u05ac\5\u00f4{\2\u05ab\u05aa\3\2\2\2\u05ab\u05ac\3"+ + "\2\2\2\u05ac\u05ae\3\2\2\2\u05ad\u05af\7B\2\2\u05ae\u05ad\3\2\2\2\u05ae"+ + "\u05af\3\2\2\2\u05af\u05b0\3\2\2\2\u05b0\u05b1\7>\2\2\u05b1\u00f3\3\2"+ + "\2\2\u05b2\u05b7\5\u00f0y\2\u05b3\u05b4\7B\2\2\u05b4\u05b6\5\u00f0y\2"+ + "\u05b5\u05b3\3\2\2\2\u05b6\u05b9\3\2\2\2\u05b7\u05b5\3\2\2\2\u05b7\u05b8"+ + "\3\2\2\2\u05b8\u00f5\3\2\2\2\u05b9\u05b7\3\2\2\2\u05ba\u05bb\7i\2\2\u05bb"+ + "\u05bc\58\35\2\u05bc\u00f7\3\2\2\2\u05bd\u05be\7i\2\2\u05be\u05bf\58\35"+ + "\2\u05bf\u05c0\7;\2\2\u05c0\u05c1\5\u00f0y\2\u05c1\u05c2\7<\2\2\u05c2"+ + "\u00f9\3\2\2\2\u05c3\u05c5\7=\2\2\u05c4\u05c6\5\u00fc\177\2\u05c5\u05c4"+ + "\3\2\2\2\u05c5\u05c6\3\2\2\2\u05c6\u05c8\3\2\2\2\u05c7\u05c9\7B\2\2\u05c8"+ + "\u05c7\3\2\2\2\u05c8\u05c9\3\2\2\2\u05c9\u05ca\3\2\2\2\u05ca\u05cb\7>"+ + "\2\2\u05cb\u00fb\3\2\2\2\u05cc\u05d1\5t;\2\u05cd\u05ce\7B\2\2\u05ce\u05d0"+ + "\5t;\2\u05cf\u05cd\3\2\2\2\u05d0\u05d3\3\2\2\2\u05d1\u05cf\3\2\2\2\u05d1"+ + "\u05d2\3\2\2\2\u05d2\u00fd\3\2\2\2\u05d3\u05d1\3\2\2\2\u05d4\u05d6\7="+ + "\2\2\u05d5\u05d7\5\u0100\u0081\2\u05d6\u05d5\3\2\2\2\u05d6\u05d7\3\2\2"+ + "\2\u05d7\u05d8\3\2\2\2\u05d8\u05d9\7>\2\2\u05d9\u00ff\3\2\2\2\u05da\u05de"+ + "\5\u0102\u0082\2\u05db\u05dd\5\u0102\u0082\2\u05dc\u05db\3\2\2\2\u05dd"+ + "\u05e0\3\2\2\2\u05de\u05dc\3\2\2\2\u05de\u05df\3\2\2\2\u05df\u0101\3\2"+ + "\2\2\u05e0\u05de\3\2\2\2\u05e1\u05e5\5\u0104\u0083\2\u05e2\u05e5\5T+\2"+ + "\u05e3\u05e5\5\u0108\u0085\2\u05e4\u05e1\3\2\2\2\u05e4\u05e2\3\2\2\2\u05e4"+ + "\u05e3\3\2\2\2\u05e5\u0103\3\2\2\2\u05e6\u05e7\5\u0106\u0084\2\u05e7\u05e8"+ + "\7A\2\2\u05e8\u0105\3\2\2\2\u05e9\u05eb\5\u009eP\2\u05ea\u05e9\3\2\2\2"+ + "\u05eb\u05ee\3\2\2\2\u05ec\u05ea\3\2\2\2\u05ec\u05ed\3\2\2\2\u05ed\u05ef"+ + "\3\2\2\2\u05ee\u05ec\3\2\2\2\u05ef\u05f0\5v<\2\u05f0\u05f1\5n8\2\u05f1"+ + "\u0107\3\2\2\2\u05f2\u05f9\5\u010c\u0087\2\u05f3\u05f9\5\u0110\u0089\2"+ + "\u05f4\u05f9\5\u0118\u008d\2\u05f5\u05f9\5\u011a\u008e\2\u05f6\u05f9\5"+ + "\u012c\u0097\2\u05f7\u05f9\5\u0132\u009a\2\u05f8\u05f2\3\2\2\2\u05f8\u05f3"+ + "\3\2\2\2\u05f8\u05f4\3\2\2\2\u05f8\u05f5\3\2\2\2\u05f8\u05f6\3\2\2\2\u05f8"+ + "\u05f7\3\2\2\2\u05f9\u0109\3\2\2\2\u05fa\u0600\5\u010c\u0087\2\u05fb\u0600"+ + "\5\u0112\u008a\2\u05fc\u0600\5\u011c\u008f\2\u05fd\u0600\5\u012e\u0098"+ + "\2\u05fe\u0600\5\u0134\u009b\2\u05ff\u05fa\3\2\2\2\u05ff\u05fb\3\2\2\2"+ + "\u05ff\u05fc\3\2\2\2\u05ff\u05fd\3\2\2\2\u05ff\u05fe\3\2\2\2\u0600\u010b"+ + "\3\2\2\2\u0601\u060e\5\u00fe\u0080\2\u0602\u060e\5\u010e\u0088\2\u0603"+ + "\u060e\5\u0114\u008b\2\u0604\u060e\5\u011e\u0090\2\u0605\u060e\5\u0120"+ + "\u0091\2\u0606\u060e\5\u0130\u0099\2\u0607\u060e\5\u0144\u00a3\2\u0608"+ + "\u060e\5\u0146\u00a4\2\u0609\u060e\5\u0148\u00a5\2\u060a\u060e\5\u014c"+ + "\u00a7\2\u060b\u060e\5\u014a\u00a6\2\u060c\u060e\5\u014e\u00a8\2\u060d"+ + "\u0601\3\2\2\2\u060d\u0602\3\2\2\2\u060d\u0603\3\2\2\2\u060d\u0604\3\2"+ + "\2\2\u060d\u0605\3\2\2\2\u060d\u0606\3\2\2\2\u060d\u0607\3\2\2\2\u060d"+ + "\u0608\3\2\2\2\u060d\u0609\3\2\2\2\u060d\u060a\3\2\2\2\u060d\u060b\3\2"+ + "\2\2\u060d\u060c\3\2\2\2\u060e\u010d\3\2\2\2\u060f\u0610\7A\2\2\u0610"+ + "\u010f\3\2\2\2\u0611\u0612\7h\2\2\u0612\u0613\7J\2\2\u0613\u0614\5\u0108"+ + "\u0085\2\u0614\u0111\3\2\2\2\u0615\u0616\7h\2\2\u0616\u0617\7J\2\2\u0617"+ + "\u0618\5\u010a\u0086\2\u0618\u0113\3\2\2\2\u0619\u061a\5\u0116\u008c\2"+ + "\u061a\u061b\7A\2\2\u061b\u0115\3\2\2\2\u061c\u0624\5\u01ac\u00d7\2\u061d"+ + "\u0624\5\u01ca\u00e6\2\u061e\u0624\5\u01cc\u00e7\2\u061f\u0624\5\u01d2"+ + "\u00ea\2\u0620\u0624\5\u01d6\u00ec\2\u0621\u0624\5\u018a\u00c6\2\u0622"+ + "\u0624\5\u0176\u00bc\2\u0623\u061c\3\2\2\2\u0623\u061d\3\2\2\2\u0623\u061e"+ + "\3\2\2\2\u0623\u061f\3\2\2\2\u0623\u0620\3\2\2\2\u0623\u0621\3\2\2\2\u0623"+ + "\u0622\3\2\2\2\u0624\u0117\3\2\2\2\u0625\u0626\7\30\2\2\u0626\u0627\7"+ + ";\2\2\u0627\u0628\5\u01a0\u00d1\2\u0628\u0629\7<\2\2\u0629\u062a\5\u0108"+ + "\u0085\2\u062a\u0119\3\2\2\2\u062b\u062c\7\30\2\2\u062c\u062d\7;\2\2\u062d"+ + "\u062e\5\u01a0\u00d1\2\u062e\u062f\7<\2\2\u062f\u0630\5\u010a\u0086\2"+ + "\u0630\u0631\7\21\2\2\u0631\u0632\5\u0108\u0085\2\u0632\u011b\3\2\2\2"+ + "\u0633\u0634\7\30\2\2\u0634\u0635\7;\2\2\u0635\u0636\5\u01a0\u00d1\2\u0636"+ + "\u0637\7<\2\2\u0637\u0638\5\u010a\u0086\2\u0638\u0639\7\21\2\2\u0639\u063a"+ + "\5\u010a\u0086\2\u063a\u011d\3\2\2\2\u063b\u063c\7\4\2\2\u063c\u063d\5"+ + "\u01a0\u00d1\2\u063d\u063e\7A\2\2\u063e\u0646\3\2\2\2\u063f\u0640\7\4"+ + "\2\2\u0640\u0641\5\u01a0\u00d1\2\u0641\u0642\7J\2\2\u0642\u0643\5\u01a0"+ + "\u00d1\2\u0643\u0644\7A\2\2\u0644\u0646\3\2\2\2\u0645\u063b\3\2\2\2\u0645"+ + "\u063f\3\2\2\2\u0646\u011f\3\2\2\2\u0647\u0648\7+\2\2\u0648\u0649\7;\2"+ + "\2\u0649\u064a\5\u01a0\u00d1\2\u064a\u064b\7<\2\2\u064b\u064c\5\u0122"+ + "\u0092\2\u064c\u0121\3\2\2\2\u064d\u0651\7=\2\2\u064e\u0650\5\u0124\u0093"+ + "\2\u064f\u064e\3\2\2\2\u0650\u0653\3\2\2\2\u0651\u064f\3\2\2\2\u0651\u0652"+ + "\3\2\2\2\u0652\u0657\3\2\2\2\u0653\u0651\3\2\2\2\u0654\u0656\5\u0128\u0095"+ + "\2\u0655\u0654\3\2\2\2\u0656\u0659\3\2\2\2\u0657\u0655\3\2\2\2\u0657\u0658"+ + "\3\2\2\2\u0658\u065a\3\2\2\2\u0659\u0657\3\2\2\2\u065a\u065b\7>\2\2\u065b"+ + "\u0123\3\2\2\2\u065c\u065d\5\u0126\u0094\2\u065d\u065e\5\u0100\u0081\2"+ + "\u065e\u0125\3\2\2\2\u065f\u0663\5\u0128\u0095\2\u0660\u0662\5\u0128\u0095"+ + "\2\u0661\u0660\3\2\2\2\u0662\u0665\3\2\2\2\u0663\u0661\3\2\2\2\u0663\u0664"+ + "\3\2\2\2\u0664\u0127\3\2\2\2\u0665\u0663\3\2\2\2\u0666\u0667\7\b\2\2\u0667"+ + "\u0668\5\u019e\u00d0\2\u0668\u0669\7J\2\2\u0669\u0671\3\2\2\2\u066a\u066b"+ + "\7\b\2\2\u066b\u066c\5\u012a\u0096\2\u066c\u066d\7J\2\2\u066d\u0671\3"+ + "\2\2\2\u066e\u066f\7\16\2\2\u066f\u0671\7J\2\2\u0670\u0666\3\2\2\2\u0670"+ + "\u066a\3\2\2\2\u0670\u066e\3\2\2\2\u0671\u0129\3\2\2\2\u0672\u0673\7h"+ + "\2\2\u0673\u012b\3\2\2\2\u0674\u0675\7\64\2\2\u0675\u0676\7;\2\2\u0676"+ + "\u0677\5\u01a0\u00d1\2\u0677\u0678\7<\2\2\u0678\u0679\5\u0108\u0085\2"+ + "\u0679\u012d\3\2\2\2\u067a\u067b\7\64\2\2\u067b\u067c\7;\2\2\u067c\u067d"+ + "\5\u01a0\u00d1\2\u067d\u067e\7<\2\2\u067e\u067f\5\u010a\u0086\2\u067f"+ + "\u012f\3\2\2\2\u0680\u0681\7\17\2\2\u0681\u0682\5\u0108\u0085\2\u0682"+ + "\u0683\7\64\2\2\u0683\u0684\7;\2\2\u0684\u0685\5\u01a0\u00d1\2\u0685\u0686"+ + "\7<\2\2\u0686\u0687\7A\2\2\u0687\u0131\3\2\2\2\u0688\u068b\5\u0136\u009c"+ + "\2\u0689\u068b\5\u0140\u00a1\2\u068a\u0688\3\2\2\2\u068a\u0689\3\2\2\2"+ + "\u068b\u0133\3\2\2\2\u068c\u068f\5\u0138\u009d\2\u068d\u068f\5\u0142\u00a2"+ + "\2\u068e\u068c\3\2\2\2\u068e\u068d\3\2\2\2\u068f\u0135\3\2\2\2\u0690\u0691"+ + "\7\27\2\2\u0691\u0693\7;\2\2\u0692\u0694\5\u013a\u009e\2\u0693\u0692\3"+ + "\2\2\2\u0693\u0694\3\2\2\2\u0694\u0695\3\2\2\2\u0695\u0697\7A\2\2\u0696"+ + "\u0698\5\u01a0\u00d1\2\u0697\u0696\3\2\2\2\u0697\u0698\3\2\2\2\u0698\u0699"+ + "\3\2\2\2\u0699\u069b\7A\2\2\u069a\u069c\5\u013c\u009f\2\u069b\u069a\3"+ + "\2\2\2\u069b\u069c\3\2\2\2\u069c\u069d\3\2\2\2\u069d\u069e\7<\2\2\u069e"+ + "\u069f\5\u0108\u0085\2\u069f\u0137\3\2\2\2\u06a0\u06a1\7\27\2\2\u06a1"+ + "\u06a3\7;\2\2\u06a2\u06a4\5\u013a\u009e\2\u06a3\u06a2\3\2\2\2\u06a3\u06a4"+ + "\3\2\2\2\u06a4\u06a5\3\2\2\2\u06a5\u06a7\7A\2\2\u06a6\u06a8\5\u01a0\u00d1"+ + "\2\u06a7\u06a6\3\2\2\2\u06a7\u06a8\3\2\2\2\u06a8\u06a9\3\2\2\2\u06a9\u06ab"+ + "\7A\2\2\u06aa\u06ac\5\u013c\u009f\2\u06ab\u06aa\3\2\2\2\u06ab\u06ac\3"+ + "\2\2\2\u06ac\u06ad\3\2\2\2\u06ad\u06ae\7<\2\2\u06ae\u06af\5\u010a\u0086"+ + "\2\u06af\u0139\3\2\2\2\u06b0\u06b3\5\u013e\u00a0\2\u06b1\u06b3\5\u0106"+ + "\u0084\2\u06b2\u06b0\3\2\2\2\u06b2\u06b1\3\2\2\2\u06b3\u013b\3\2\2\2\u06b4"+ + "\u06b5\5\u013e\u00a0\2\u06b5\u013d\3\2\2\2\u06b6\u06bb\5\u0116\u008c\2"+ + "\u06b7\u06b8\7B\2\2\u06b8\u06ba\5\u0116\u008c\2\u06b9\u06b7\3\2\2\2\u06ba"+ + "\u06bd\3\2\2\2\u06bb\u06b9\3\2\2\2\u06bb\u06bc\3\2\2\2\u06bc\u013f\3\2"+ + "\2\2\u06bd\u06bb\3\2\2\2\u06be\u06bf\7\27\2\2\u06bf\u06c3\7;\2\2\u06c0"+ + "\u06c2\5\u009eP\2\u06c1\u06c0\3\2\2\2\u06c2\u06c5\3\2\2\2\u06c3\u06c1"+ + "\3\2\2\2\u06c3\u06c4\3\2\2\2\u06c4\u06c6\3\2\2\2\u06c5\u06c3\3\2\2\2\u06c6"+ + "\u06c7\5v<\2\u06c7\u06c8\5r:\2\u06c8\u06c9\7J\2\2\u06c9\u06ca\5\u01a0"+ + "\u00d1\2\u06ca\u06cb\7<\2\2\u06cb\u06cc\5\u0108\u0085\2\u06cc\u0141\3"+ + "\2\2\2\u06cd\u06ce\7\27\2\2\u06ce\u06d2\7;\2\2\u06cf\u06d1\5\u009eP\2"+ + "\u06d0\u06cf\3\2\2\2\u06d1\u06d4\3\2\2\2\u06d2\u06d0\3\2\2\2\u06d2\u06d3"+ + "\3\2\2\2\u06d3\u06d5\3\2\2\2\u06d4\u06d2\3\2\2\2\u06d5\u06d6\5v<\2\u06d6"+ + "\u06d7\5r:\2\u06d7\u06d8\7J\2\2\u06d8\u06d9\5\u01a0\u00d1\2\u06d9\u06da"+ + "\7<\2\2\u06da\u06db\5\u010a\u0086\2\u06db\u0143\3\2\2\2\u06dc\u06de\7"+ + "\6\2\2\u06dd\u06df\7h\2\2\u06de\u06dd\3\2\2\2\u06de\u06df\3\2\2\2\u06df"+ + "\u06e0\3\2\2\2\u06e0\u06e1\7A\2\2\u06e1\u0145\3\2\2\2\u06e2\u06e4\7\r"+ + "\2\2\u06e3\u06e5\7h\2\2\u06e4\u06e3\3\2\2\2\u06e4\u06e5\3\2\2\2\u06e5"+ + "\u06e6\3\2\2\2\u06e6\u06e7\7A\2\2\u06e7\u0147\3\2\2\2\u06e8\u06ea\7&\2"+ + "\2\u06e9\u06eb\5\u01a0\u00d1\2\u06ea\u06e9\3\2\2\2\u06ea\u06eb\3\2\2\2"+ + "\u06eb\u06ec\3\2\2\2\u06ec\u06ed\7A\2\2\u06ed\u0149\3\2\2\2\u06ee\u06ef"+ + "\7.\2\2\u06ef\u06f0\5\u01a0\u00d1\2\u06f0\u06f1\7A\2\2\u06f1\u014b\3\2"+ + "\2\2\u06f2\u06f3\7,\2\2\u06f3\u06f4\7;\2\2\u06f4\u06f5\5\u01a0\u00d1\2"+ + "\u06f5\u06f6\7<\2\2\u06f6\u06f7\5\u00fe\u0080\2\u06f7\u014d\3\2\2\2\u06f8"+ + "\u06f9\7\61\2\2\u06f9\u06fa\5\u00fe\u0080\2\u06fa\u06fb\5\u0150\u00a9"+ + "\2\u06fb\u0705\3\2\2\2\u06fc\u06fd\7\61\2\2\u06fd\u06ff\5\u00fe\u0080"+ + "\2\u06fe\u0700\5\u0150\u00a9\2\u06ff\u06fe\3\2\2\2\u06ff\u0700\3\2\2\2"+ + "\u0700\u0701\3\2\2\2\u0701\u0702\5\u0158\u00ad\2\u0702\u0705\3\2\2\2\u0703"+ + "\u0705\5\u015a\u00ae\2\u0704\u06f8\3\2\2\2\u0704\u06fc\3\2\2\2\u0704\u0703"+ + "\3\2\2\2\u0705\u014f\3\2\2\2\u0706\u070a\5\u0152\u00aa\2\u0707\u0709\5"+ + "\u0152\u00aa\2\u0708\u0707\3\2\2\2\u0709\u070c\3\2\2\2\u070a\u0708\3\2"+ + "\2\2\u070a\u070b\3\2\2\2\u070b\u0151\3\2\2\2\u070c\u070a\3\2\2\2\u070d"+ + "\u070e\7\t\2\2\u070e\u070f\7;\2\2\u070f\u0710\5\u0154\u00ab\2\u0710\u0711"+ + "\7<\2\2\u0711\u0712\5\u00fe\u0080\2\u0712\u0153\3\2\2\2\u0713\u0715\5"+ + "\u009eP\2\u0714\u0713\3\2\2\2\u0715\u0718\3\2\2\2\u0716\u0714\3\2\2\2"+ + "\u0716\u0717\3\2\2\2\u0717\u0719\3\2\2\2\u0718\u0716\3\2\2\2\u0719\u071a"+ + "\5\u0156\u00ac\2\u071a\u071b\5r:\2\u071b\u0155\3\2\2\2\u071c\u0721\5~"+ + "@\2\u071d\u071e\7X\2\2\u071e\u0720\5\22\n\2\u071f\u071d\3\2\2\2\u0720"+ + "\u0723\3\2\2\2\u0721\u071f\3\2\2\2\u0721\u0722\3\2\2\2\u0722\u0157\3\2"+ + "\2\2\u0723\u0721\3\2\2\2\u0724\u0725\7\25\2\2\u0725\u0726\5\u00fe\u0080"+ + "\2\u0726\u0159\3\2\2\2\u0727\u0728\7\61\2\2\u0728\u0729\5\u015c\u00af"+ + "\2\u0729\u072b\5\u00fe\u0080\2\u072a\u072c\5\u0150\u00a9\2\u072b\u072a"+ + "\3\2\2\2\u072b\u072c\3\2\2\2\u072c\u072e\3\2\2\2\u072d\u072f\5\u0158\u00ad"+ + "\2\u072e\u072d\3\2\2\2\u072e\u072f\3\2\2\2\u072f\u015b\3\2\2\2\u0730\u0731"+ + "\7;\2\2\u0731\u0733\5\u015e\u00b0\2\u0732\u0734\7A\2\2\u0733\u0732\3\2"+ + "\2\2\u0733\u0734\3\2\2\2\u0734\u0735\3\2\2\2\u0735\u0736\7<\2\2\u0736"+ + "\u015d\3\2\2\2\u0737\u073c\5\u0160\u00b1\2\u0738\u0739\7A\2\2\u0739\u073b"+ + "\5\u0160\u00b1\2\u073a\u0738\3\2\2\2\u073b\u073e\3\2\2\2\u073c\u073a\3"+ + "\2\2\2\u073c\u073d\3\2\2\2\u073d\u015f\3\2\2\2\u073e\u073c\3\2\2\2\u073f"+ + "\u0741\5\u009eP\2\u0740\u073f\3\2\2\2\u0741\u0744\3\2\2\2\u0742\u0740"+ + "\3\2\2\2\u0742\u0743\3\2\2\2\u0743\u0745\3\2\2\2\u0744\u0742\3\2\2\2\u0745"+ + "\u0746\5v<\2\u0746\u0747\5r:\2\u0747\u0748\7D\2\2\u0748\u0749\5\u01a0"+ + "\u00d1\2\u0749\u0161\3\2\2\2\u074a\u074d\5\u0170\u00b9\2\u074b\u074d\5"+ + "\u0198\u00cd\2\u074c\u074a\3\2\2\2\u074c\u074b\3\2\2\2\u074d\u0751\3\2"+ + "\2\2\u074e\u0750\5\u016a\u00b6\2\u074f\u074e\3\2\2\2\u0750\u0753\3\2\2"+ + "\2\u0751\u074f\3\2\2\2\u0751\u0752\3\2\2\2\u0752\u0163\3\2\2\2\u0753\u0751"+ + "\3\2\2\2\u0754\u0772\5\2\2\2\u0755\u075a\58\35\2\u0756\u0757\7?\2\2\u0757"+ + "\u0759\7@\2\2\u0758\u0756\3\2\2\2\u0759\u075c\3\2\2\2\u075a\u0758\3\2"+ + "\2\2\u075a\u075b\3\2\2\2\u075b\u075d\3\2\2\2\u075c\u075a\3\2\2\2\u075d"+ + "\u075e\7C\2\2\u075e\u075f\7\13\2\2\u075f\u0772\3\2\2\2\u0760\u0761\7\62"+ + "\2\2\u0761\u0762\7C\2\2\u0762\u0772\7\13\2\2\u0763\u0772\7-\2\2\u0764"+ + "\u0765\58\35\2\u0765\u0766\7C\2\2\u0766\u0767\7-\2\2\u0767\u0772\3\2\2"+ + "\2\u0768\u0769\7;\2\2\u0769\u076a\5\u01a0\u00d1\2\u076a\u076b\7<\2\2\u076b"+ + "\u0772\3\2\2\2\u076c\u0772\5\u0176\u00bc\2\u076d\u0772\5\u017e\u00c0\2"+ + "\u076e\u0772\5\u0184\u00c3\2\u076f\u0772\5\u018a\u00c6\2\u0770\u0772\5"+ + "\u0192\u00ca\2\u0771\u0754\3\2\2\2\u0771\u0755\3\2\2\2\u0771\u0760\3\2"+ + "\2\2\u0771\u0763\3\2\2\2\u0771\u0764\3\2\2\2\u0771\u0768\3\2\2\2\u0771"+ + "\u076c\3\2\2\2\u0771\u076d\3\2\2\2\u0771\u076e\3\2\2\2\u0771\u076f\3\2"+ + "\2\2\u0771\u0770\3\2\2\2\u0772\u0165\3\2\2\2\u0773\u0774\3\2\2\2\u0774"+ + "\u0167\3\2\2\2\u0775\u0792\5\2\2\2\u0776\u077b\58\35\2\u0777\u0778\7?"+ + "\2\2\u0778\u077a\7@\2\2\u0779\u0777\3\2\2\2\u077a\u077d\3\2\2\2\u077b"+ + "\u0779\3\2\2\2\u077b\u077c\3\2\2\2\u077c\u077e\3\2\2\2\u077d\u077b\3\2"+ + "\2\2\u077e\u077f\7C\2\2\u077f\u0780\7\13\2\2\u0780\u0792\3\2\2\2\u0781"+ + "\u0782\7\62\2\2\u0782\u0783\7C\2\2\u0783\u0792\7\13\2\2\u0784\u0792\7"+ + "-\2\2\u0785\u0786\58\35\2\u0786\u0787\7C\2\2\u0787\u0788\7-\2\2\u0788"+ + "\u0792\3\2\2\2\u0789\u078a\7;\2\2\u078a\u078b\5\u01a0\u00d1\2\u078b\u078c"+ + "\7<\2\2\u078c\u0792\3\2\2\2\u078d\u0792\5\u0176\u00bc\2\u078e\u0792\5"+ + "\u017e\u00c0\2\u078f\u0792\5\u018a\u00c6\2\u0790\u0792\5\u0192\u00ca\2"+ + "\u0791\u0775\3\2\2\2\u0791\u0776\3\2\2\2\u0791\u0781\3\2\2\2\u0791\u0784"+ + "\3\2\2\2\u0791\u0785\3\2\2\2\u0791\u0789\3\2\2\2\u0791\u078d\3\2\2\2\u0791"+ + "\u078e\3\2\2\2\u0791\u078f\3\2\2\2\u0791\u0790\3\2\2\2\u0792\u0169\3\2"+ + "\2\2\u0793\u0799\5\u0178\u00bd\2\u0794\u0799\5\u0180\u00c1\2\u0795\u0799"+ + "\5\u0186\u00c4\2\u0796\u0799\5\u018c\u00c7\2\u0797\u0799\5\u0194\u00cb"+ + "\2\u0798\u0793\3\2\2\2\u0798\u0794\3\2\2\2\u0798\u0795\3\2\2\2\u0798\u0796"+ + "\3\2\2\2\u0798\u0797\3\2\2\2\u0799\u016b\3\2\2\2\u079a\u079b\3\2\2\2\u079b"+ + "\u016d\3\2\2\2\u079c\u07a1\5\u0178\u00bd\2\u079d\u07a1\5\u0180\u00c1\2"+ + "\u079e\u07a1\5\u018c\u00c7\2\u079f\u07a1\5\u0194\u00cb\2\u07a0\u079c\3"+ + "\2\2\2\u07a0\u079d\3\2\2\2\u07a0\u079e\3\2\2\2\u07a0\u079f\3\2\2\2\u07a1"+ + "\u016f\3\2\2\2\u07a2\u07cb\5\2\2\2\u07a3\u07a8\58\35\2\u07a4\u07a5\7?"+ + "\2\2\u07a5\u07a7\7@\2\2\u07a6\u07a4\3\2\2\2\u07a7\u07aa\3\2\2\2\u07a8"+ + "\u07a6\3\2\2\2\u07a8\u07a9\3\2\2\2\u07a9\u07ab\3\2\2\2\u07aa\u07a8\3\2"+ + "\2\2\u07ab\u07ac\7C\2\2\u07ac\u07ad\7\13\2\2\u07ad\u07cb\3\2\2\2\u07ae"+ + "\u07b3\5x=\2\u07af\u07b0\7?\2\2\u07b0\u07b2\7@\2\2\u07b1\u07af\3\2\2\2"+ + "\u07b2\u07b5\3\2\2\2\u07b3\u07b1\3\2\2\2\u07b3\u07b4\3\2\2\2\u07b4\u07b6"+ + "\3\2\2\2\u07b5\u07b3\3\2\2\2\u07b6\u07b7\7C\2\2\u07b7\u07b8\7\13\2\2\u07b8"+ + "\u07cb\3\2\2\2\u07b9\u07ba\7\62\2\2\u07ba\u07bb\7C\2\2\u07bb\u07cb\7\13"+ + "\2\2\u07bc\u07cb\7-\2\2\u07bd\u07be\58\35\2\u07be\u07bf\7C\2\2\u07bf\u07c0"+ + "\7-\2\2\u07c0\u07cb\3\2\2\2\u07c1\u07c2\7;\2\2\u07c2\u07c3\5\u01a0\u00d1"+ + "\2\u07c3\u07c4\7<\2\2\u07c4\u07cb\3\2\2\2\u07c5\u07cb\5\u017a\u00be\2"+ + "\u07c6\u07cb\5\u0182\u00c2\2\u07c7\u07cb\5\u0188\u00c5\2\u07c8\u07cb\5"+ + "\u018e\u00c8\2\u07c9\u07cb\5\u0196\u00cc\2\u07ca\u07a2\3\2\2\2\u07ca\u07a3"+ + "\3\2\2\2\u07ca\u07ae\3\2\2\2\u07ca\u07b9\3\2\2\2\u07ca\u07bc\3\2\2\2\u07ca"+ + "\u07bd\3\2\2\2\u07ca\u07c1\3\2\2\2\u07ca\u07c5\3\2\2\2\u07ca\u07c6\3\2"+ + "\2\2\u07ca\u07c7\3\2\2\2\u07ca\u07c8\3\2\2\2\u07ca\u07c9\3\2\2\2\u07cb"+ + "\u0171\3\2\2\2\u07cc\u07cd\3\2\2\2\u07cd\u0173\3\2\2\2\u07ce\u07f6\5\2"+ + "\2\2\u07cf\u07d4\58\35\2\u07d0\u07d1\7?\2\2\u07d1\u07d3\7@\2\2\u07d2\u07d0"+ + "\3\2\2\2\u07d3\u07d6\3\2\2\2\u07d4\u07d2\3\2\2\2\u07d4\u07d5\3\2\2\2\u07d5"+ + "\u07d7\3\2\2\2\u07d6\u07d4\3\2\2\2\u07d7\u07d8\7C\2\2\u07d8\u07d9\7\13"+ + "\2\2\u07d9\u07f6\3\2\2\2\u07da\u07df\5x=\2\u07db\u07dc\7?\2\2\u07dc\u07de"+ + "\7@\2\2\u07dd\u07db\3\2\2\2\u07de\u07e1\3\2\2\2\u07df\u07dd\3\2\2\2\u07df"+ + "\u07e0\3\2\2\2\u07e0\u07e2\3\2\2\2\u07e1\u07df\3\2\2\2\u07e2\u07e3\7C"+ + "\2\2\u07e3\u07e4\7\13\2\2\u07e4\u07f6\3\2\2\2\u07e5\u07e6\7\62\2\2\u07e6"+ + "\u07e7\7C\2\2\u07e7\u07f6\7\13\2\2\u07e8\u07f6\7-\2\2\u07e9\u07ea\58\35"+ + "\2\u07ea\u07eb\7C\2\2\u07eb\u07ec\7-\2\2\u07ec\u07f6\3\2\2\2\u07ed\u07ee"+ + "\7;\2\2\u07ee\u07ef\5\u01a0\u00d1\2\u07ef\u07f0\7<\2\2\u07f0\u07f6\3\2"+ + "\2\2\u07f1\u07f6\5\u017a\u00be\2\u07f2\u07f6\5\u0182\u00c2\2\u07f3\u07f6"+ + "\5\u018e\u00c8\2\u07f4\u07f6\5\u0196\u00cc\2\u07f5\u07ce\3\2\2\2\u07f5"+ + "\u07cf\3\2\2\2\u07f5\u07da\3\2\2\2\u07f5\u07e5\3\2\2\2\u07f5\u07e8\3\2"+ + "\2\2\u07f5\u07e9\3\2\2\2\u07f5\u07ed\3\2\2\2\u07f5\u07f1\3\2\2\2\u07f5"+ + "\u07f2\3\2\2\2\u07f5\u07f3\3\2\2\2\u07f5\u07f4\3\2\2\2\u07f6\u0175\3\2"+ + "\2\2\u07f7\u07f9\7!\2\2\u07f8\u07fa\5,\27\2\u07f9\u07f8\3\2\2\2\u07f9"+ + "\u07fa\3\2\2\2\u07fa\u07fe\3\2\2\2\u07fb\u07fd\5\u00e8u\2\u07fc\u07fb"+ + "\3\2\2\2\u07fd\u0800\3\2\2\2\u07fe\u07fc\3\2\2\2\u07fe\u07ff\3\2\2\2\u07ff"+ + "\u0801\3\2\2\2\u0800\u07fe\3\2\2\2\u0801\u080c\7h\2\2\u0802\u0806\7C\2"+ + "\2\u0803\u0805\5\u00e8u\2\u0804\u0803\3\2\2\2\u0805\u0808\3\2\2\2\u0806"+ + "\u0804\3\2\2\2\u0806\u0807\3\2\2\2\u0807\u0809\3\2\2\2\u0808\u0806\3\2"+ + "\2\2\u0809\u080b\7h\2\2\u080a\u0802\3\2\2\2\u080b\u080e\3\2\2\2\u080c"+ + "\u080a\3\2\2\2\u080c\u080d\3\2\2\2\u080d\u0810\3\2\2\2\u080e\u080c\3\2"+ + "\2\2\u080f\u0811\5\u017c\u00bf\2\u0810\u080f\3\2\2\2\u0810\u0811\3\2\2"+ + "\2\u0811\u0812\3\2\2\2\u0812\u0814\7;\2\2\u0813\u0815\5\u0190\u00c9\2"+ + "\u0814\u0813\3\2\2\2\u0814\u0815\3\2\2\2\u0815\u0816\3\2\2\2\u0816\u0818"+ + "\7<\2\2\u0817\u0819\5d\63\2\u0818\u0817\3\2\2\2\u0818\u0819\3\2\2\2\u0819"+ + "\u084b\3\2\2\2\u081a\u081b\5<\37\2\u081b\u081c\7C\2\2\u081c\u081e\7!\2"+ + "\2\u081d\u081f\5,\27\2\u081e\u081d\3\2\2\2\u081e\u081f\3\2\2\2\u081f\u0823"+ + "\3\2\2\2\u0820\u0822\5\u00e8u\2\u0821\u0820\3\2\2\2\u0822\u0825\3\2\2"+ + "\2\u0823\u0821\3\2\2\2\u0823\u0824\3\2\2\2\u0824\u0826\3\2\2\2\u0825\u0823"+ + "\3\2\2\2\u0826\u0828\7h\2\2\u0827\u0829\5\u017c\u00bf\2\u0828\u0827\3"+ + "\2\2\2\u0828\u0829\3\2\2\2\u0829\u082a\3\2\2\2\u082a\u082c\7;\2\2\u082b"+ + "\u082d\5\u0190\u00c9\2\u082c\u082b\3\2\2\2\u082c\u082d\3\2\2\2\u082d\u082e"+ + "\3\2\2\2\u082e\u0830\7<\2\2\u082f\u0831\5d\63\2\u0830\u082f\3\2\2\2\u0830"+ + "\u0831\3\2\2\2\u0831\u084b\3\2\2\2\u0832\u0833\5\u0162\u00b2\2\u0833\u0834"+ + "\7C\2\2\u0834\u0836\7!\2\2\u0835\u0837\5,\27\2\u0836\u0835\3\2\2\2\u0836"+ + "\u0837\3\2\2\2\u0837\u083b\3\2\2\2\u0838\u083a\5\u00e8u\2\u0839\u0838"+ + "\3\2\2\2\u083a\u083d\3\2\2\2\u083b\u0839\3\2\2\2\u083b\u083c\3\2\2\2\u083c"+ + "\u083e\3\2\2\2\u083d\u083b\3\2\2\2\u083e\u0840\7h\2\2\u083f\u0841\5\u017c"+ + "\u00bf\2\u0840\u083f\3\2\2\2\u0840\u0841\3\2\2\2\u0841\u0842\3\2\2\2\u0842"+ + "\u0844\7;\2\2\u0843\u0845\5\u0190\u00c9\2\u0844\u0843\3\2\2\2\u0844\u0845"+ + "\3\2\2\2\u0845\u0846\3\2\2\2\u0846\u0848\7<\2\2\u0847\u0849\5d\63\2\u0848"+ + "\u0847\3\2\2\2\u0848\u0849\3\2\2\2\u0849\u084b\3\2\2\2\u084a\u07f7\3\2"+ + "\2\2\u084a\u081a\3\2\2\2\u084a\u0832\3\2\2\2\u084b\u0177\3\2\2\2\u084c"+ + "\u084d\7C\2\2\u084d\u084f\7!\2\2\u084e\u0850\5,\27\2\u084f\u084e\3\2\2"+ + "\2\u084f\u0850\3\2\2\2\u0850\u0854\3\2\2\2\u0851\u0853\5\u00e8u\2\u0852"+ + "\u0851\3\2\2\2\u0853\u0856\3\2\2\2\u0854\u0852\3\2\2\2\u0854\u0855\3\2"+ + "\2\2\u0855\u0857\3\2\2\2\u0856\u0854\3\2\2\2\u0857\u0859\7h\2\2\u0858"+ + "\u085a\5\u017c\u00bf\2\u0859\u0858\3\2\2\2\u0859\u085a\3\2\2\2\u085a\u085b"+ + "\3\2\2\2\u085b\u085d\7;\2\2\u085c\u085e\5\u0190\u00c9\2\u085d\u085c\3"+ + "\2\2\2\u085d\u085e\3\2\2\2\u085e\u085f\3\2\2\2\u085f\u0861\7<\2\2\u0860"+ + "\u0862\5d\63\2\u0861\u0860\3\2\2\2\u0861\u0862\3\2\2\2\u0862\u0179\3\2"+ + "\2\2\u0863\u0865\7!\2\2\u0864\u0866\5,\27\2\u0865\u0864\3\2\2\2\u0865"+ + "\u0866\3\2\2\2\u0866\u086a\3\2\2\2\u0867\u0869\5\u00e8u\2\u0868\u0867"+ + "\3\2\2\2\u0869\u086c\3\2\2\2\u086a\u0868\3\2\2\2\u086a\u086b\3\2\2\2\u086b"+ + "\u086d\3\2\2\2\u086c\u086a\3\2\2\2\u086d\u0878\7h\2\2\u086e\u0872\7C\2"+ + "\2\u086f\u0871\5\u00e8u\2\u0870\u086f\3\2\2\2\u0871\u0874\3\2\2\2\u0872"+ + "\u0870\3\2\2\2\u0872\u0873\3\2\2\2\u0873\u0875\3\2\2\2\u0874\u0872\3\2"+ + "\2\2\u0875\u0877\7h\2\2\u0876\u086e\3\2\2\2\u0877\u087a\3\2\2\2\u0878"+ + "\u0876\3\2\2\2\u0878\u0879\3\2\2\2\u0879\u087c\3\2\2\2\u087a\u0878\3\2"+ + "\2\2\u087b\u087d\5\u017c\u00bf\2\u087c\u087b\3\2\2\2\u087c\u087d\3\2\2"+ + "\2\u087d\u087e\3\2\2\2\u087e\u0880\7;\2\2\u087f\u0881\5\u0190\u00c9\2"+ + "\u0880\u087f\3\2\2\2\u0880\u0881\3\2\2\2\u0881\u0882\3\2\2\2\u0882\u0884"+ + "\7<\2\2\u0883\u0885\5d\63\2\u0884\u0883\3\2\2\2\u0884\u0885\3\2\2\2\u0885"+ + "\u089f\3\2\2\2\u0886\u0887\5<\37\2\u0887\u0888\7C\2\2\u0888\u088a\7!\2"+ + "\2\u0889\u088b\5,\27\2\u088a\u0889\3\2\2\2\u088a\u088b\3\2\2\2\u088b\u088f"+ + "\3\2\2\2\u088c\u088e\5\u00e8u\2\u088d\u088c\3\2\2\2\u088e\u0891\3\2\2"+ + "\2\u088f\u088d\3\2\2\2\u088f\u0890\3\2\2\2\u0890\u0892\3\2\2\2\u0891\u088f"+ + "\3\2\2\2\u0892\u0894\7h\2\2\u0893\u0895\5\u017c\u00bf\2\u0894\u0893\3"+ + "\2\2\2\u0894\u0895\3\2\2\2\u0895\u0896\3\2\2\2\u0896\u0898\7;\2\2\u0897"+ + "\u0899\5\u0190\u00c9\2\u0898\u0897\3\2\2\2\u0898\u0899\3\2\2\2\u0899\u089a"+ + "\3\2\2\2\u089a\u089c\7<\2\2\u089b\u089d\5d\63\2\u089c\u089b\3\2\2\2\u089c"+ + "\u089d\3\2\2\2\u089d\u089f\3\2\2\2\u089e\u0863\3\2\2\2\u089e\u0886\3\2"+ + "\2\2\u089f\u017b\3\2\2\2\u08a0\u08a4\5,\27\2\u08a1\u08a2\7F\2\2\u08a2"+ + "\u08a4\7E\2\2\u08a3\u08a0\3\2\2\2\u08a3\u08a1\3\2\2\2\u08a4\u017d\3\2"+ + "\2\2\u08a5\u08a6\5\u0162\u00b2\2\u08a6\u08a7\7C\2\2\u08a7\u08a8\7h\2\2"+ + "\u08a8\u08b3\3\2\2\2\u08a9\u08aa\7*\2\2\u08aa\u08ab\7C\2\2\u08ab\u08b3"+ + "\7h\2\2\u08ac\u08ad\58\35\2\u08ad\u08ae\7C\2\2\u08ae\u08af\7*\2\2\u08af"+ + "\u08b0\7C\2\2\u08b0\u08b1\7h\2\2\u08b1\u08b3\3\2\2\2\u08b2\u08a5\3\2\2"+ + "\2\u08b2\u08a9\3\2\2\2\u08b2\u08ac\3\2\2\2\u08b3\u017f\3\2\2\2\u08b4\u08b5"+ + "\7C\2\2\u08b5\u08b6\7h\2\2\u08b6\u0181\3\2\2\2\u08b7\u08b8\7*\2\2\u08b8"+ + "\u08b9\7C\2\2\u08b9\u08c1\7h\2\2\u08ba\u08bb\58\35\2\u08bb\u08bc\7C\2"+ + "\2\u08bc\u08bd\7*\2\2\u08bd\u08be\7C\2\2\u08be\u08bf\7h\2\2\u08bf\u08c1"+ + "\3\2\2\2\u08c0\u08b7\3\2\2\2\u08c0\u08ba\3\2\2\2\u08c1\u0183\3\2\2\2\u08c2"+ + "\u08c3\5<\37\2\u08c3\u08c4\7?\2\2\u08c4\u08c5\5\u01a0\u00d1\2\u08c5\u08c6"+ + "\7@\2\2\u08c6\u08cd\3\2\2\2\u08c7\u08c8\5\u0168\u00b5\2\u08c8\u08c9\7"+ + "?\2\2\u08c9\u08ca\5\u01a0\u00d1\2\u08ca\u08cb\7@\2\2\u08cb\u08cd\3\2\2"+ + "\2\u08cc\u08c2\3\2\2\2\u08cc\u08c7\3\2\2\2\u08cd\u08d5\3\2\2\2\u08ce\u08cf"+ + "\5\u0166\u00b4\2\u08cf\u08d0\7?\2\2\u08d0\u08d1\5\u01a0\u00d1\2\u08d1"+ + "\u08d2\7@\2\2\u08d2\u08d4\3\2\2\2\u08d3\u08ce\3\2\2\2\u08d4\u08d7\3\2"+ + "\2\2\u08d5\u08d3\3\2\2\2\u08d5\u08d6\3\2\2\2\u08d6\u0185\3\2\2\2\u08d7"+ + "\u08d5\3\2\2\2\u08d8\u08d9\5\u016e\u00b8\2\u08d9\u08da\7?\2\2\u08da\u08db"+ + "\5\u01a0\u00d1\2\u08db\u08dc\7@\2\2\u08dc\u08e4\3\2\2\2\u08dd\u08de\5"+ + "\u016c\u00b7\2\u08de\u08df\7?\2\2\u08df\u08e0\5\u01a0\u00d1\2\u08e0\u08e1"+ + "\7@\2\2\u08e1\u08e3\3\2\2\2\u08e2\u08dd\3\2\2\2\u08e3\u08e6\3\2\2\2\u08e4"+ + "\u08e2\3\2\2\2\u08e4\u08e5\3\2\2\2\u08e5\u0187\3\2\2\2\u08e6\u08e4\3\2"+ + "\2\2\u08e7\u08e8\5<\37\2\u08e8\u08e9\7?\2\2\u08e9\u08ea\5\u01a0\u00d1"+ + "\2\u08ea\u08eb\7@\2\2\u08eb\u08f2\3\2\2\2\u08ec\u08ed\5\u0174\u00bb\2"+ + "\u08ed\u08ee\7?\2\2\u08ee\u08ef\5\u01a0\u00d1\2\u08ef\u08f0\7@\2\2\u08f0"+ + "\u08f2\3\2\2\2\u08f1\u08e7\3\2\2\2\u08f1\u08ec\3\2\2\2\u08f2\u08fa\3\2"+ + "\2\2\u08f3\u08f4\5\u0172\u00ba\2\u08f4\u08f5\7?\2\2\u08f5\u08f6\5\u01a0"+ + "\u00d1\2\u08f6\u08f7\7@\2\2\u08f7\u08f9\3\2\2\2\u08f8\u08f3\3\2\2\2\u08f9"+ + "\u08fc\3\2\2\2\u08fa\u08f8\3\2\2\2\u08fa\u08fb\3\2\2\2\u08fb\u0189\3\2"+ + "\2\2\u08fc\u08fa\3\2\2\2\u08fd\u08fe\5> \2\u08fe\u0900\7;\2\2\u08ff\u0901"+ + "\5\u0190\u00c9\2\u0900\u08ff\3\2\2\2\u0900\u0901\3\2\2\2\u0901\u0902\3"+ + "\2\2\2\u0902\u0903\7<\2\2\u0903\u0942\3\2\2\2\u0904\u0905\58\35\2\u0905"+ + "\u0907\7C\2\2\u0906\u0908\5,\27\2\u0907\u0906\3\2\2\2\u0907\u0908\3\2"+ + "\2\2\u0908\u0909\3\2\2\2\u0909\u090a\7h\2\2\u090a\u090c\7;\2\2\u090b\u090d"+ + "\5\u0190\u00c9\2\u090c\u090b\3\2\2\2\u090c\u090d\3\2\2\2\u090d\u090e\3"+ + "\2\2\2\u090e\u090f\7<\2\2\u090f\u0942\3\2\2\2\u0910\u0911\5<\37\2\u0911"+ + "\u0913\7C\2\2\u0912\u0914\5,\27\2\u0913\u0912\3\2\2\2\u0913\u0914\3\2"+ + "\2\2\u0914\u0915\3\2\2\2\u0915\u0916\7h\2\2\u0916\u0918\7;\2\2\u0917\u0919"+ + "\5\u0190\u00c9\2\u0918\u0917\3\2\2\2\u0918\u0919\3\2\2\2\u0919\u091a\3"+ + "\2\2\2\u091a\u091b\7<\2\2\u091b\u0942\3\2\2\2\u091c\u091d\5\u0162\u00b2"+ + "\2\u091d\u091f\7C\2\2\u091e\u0920\5,\27\2\u091f\u091e\3\2\2\2\u091f\u0920"+ + "\3\2\2\2\u0920\u0921\3\2\2\2\u0921\u0922\7h\2\2\u0922\u0924\7;\2\2\u0923"+ + "\u0925\5\u0190\u00c9\2\u0924\u0923\3\2\2\2\u0924\u0925\3\2\2\2\u0925\u0926"+ + "\3\2\2\2\u0926\u0927\7<\2\2\u0927\u0942\3\2\2\2\u0928\u0929\7*\2\2\u0929"+ + "\u092b\7C\2\2\u092a\u092c\5,\27\2\u092b\u092a\3\2\2\2\u092b\u092c\3\2"+ + "\2\2\u092c\u092d\3\2\2\2\u092d\u092e\7h\2\2\u092e\u0930\7;\2\2\u092f\u0931"+ + "\5\u0190\u00c9\2\u0930\u092f\3\2\2\2\u0930\u0931\3\2\2\2\u0931\u0932\3"+ + "\2\2\2\u0932\u0942\7<\2\2\u0933\u0934\58\35\2\u0934\u0935\7C\2\2\u0935"+ + "\u0936\7*\2\2\u0936\u0938\7C\2\2\u0937\u0939\5,\27\2\u0938\u0937\3\2\2"+ + "\2\u0938\u0939\3\2\2\2\u0939\u093a\3\2\2\2\u093a\u093b\7h\2\2\u093b\u093d"+ + "\7;\2\2\u093c\u093e\5\u0190\u00c9\2\u093d\u093c\3\2\2\2\u093d\u093e\3"+ + "\2\2\2\u093e\u093f\3\2\2\2\u093f\u0940\7<\2\2\u0940\u0942\3\2\2\2\u0941"+ + "\u08fd\3\2\2\2\u0941\u0904\3\2\2\2\u0941\u0910\3\2\2\2\u0941\u091c\3\2"+ + "\2\2\u0941\u0928\3\2\2\2\u0941\u0933\3\2\2\2\u0942\u018b\3\2\2\2\u0943"+ + "\u0945\7C\2\2\u0944\u0946\5,\27\2\u0945\u0944\3\2\2\2\u0945\u0946\3\2"+ + "\2\2\u0946\u0947\3\2\2\2\u0947\u0948\7h\2\2\u0948\u094a\7;\2\2\u0949\u094b"+ + "\5\u0190\u00c9\2\u094a\u0949\3\2\2\2\u094a\u094b\3\2\2\2\u094b\u094c\3"+ + "\2\2\2\u094c\u094d\7<\2\2\u094d\u018d\3\2\2\2\u094e\u094f\5> \2\u094f"+ + "\u0951\7;\2\2\u0950\u0952\5\u0190\u00c9\2\u0951\u0950\3\2\2\2\u0951\u0952"+ + "\3\2\2\2\u0952\u0953\3\2\2\2\u0953\u0954\7<\2\2\u0954\u0987\3\2\2\2\u0955"+ + "\u0956\58\35\2\u0956\u0958\7C\2\2\u0957\u0959\5,\27\2\u0958\u0957\3\2"+ + "\2\2\u0958\u0959\3\2\2\2\u0959\u095a\3\2\2\2\u095a\u095b\7h\2\2\u095b"+ + "\u095d\7;\2\2\u095c\u095e\5\u0190\u00c9\2\u095d\u095c\3\2\2\2\u095d\u095e"+ + "\3\2\2\2\u095e\u095f\3\2\2\2\u095f\u0960\7<\2\2\u0960\u0987\3\2\2\2\u0961"+ + "\u0962\5<\37\2\u0962\u0964\7C\2\2\u0963\u0965\5,\27\2\u0964\u0963\3\2"+ + "\2\2\u0964\u0965\3\2\2\2\u0965\u0966\3\2\2\2\u0966\u0967\7h\2\2\u0967"+ + "\u0969\7;\2\2\u0968\u096a\5\u0190\u00c9\2\u0969\u0968\3\2\2\2\u0969\u096a"+ + "\3\2\2"; + private static final String _serializedATNSegment1 = + "\2\u096a\u096b\3\2\2\2\u096b\u096c\7<\2\2\u096c\u0987\3\2\2\2\u096d\u096e"+ + "\7*\2\2\u096e\u0970\7C\2\2\u096f\u0971\5,\27\2\u0970\u096f\3\2\2\2\u0970"+ + "\u0971\3\2\2\2\u0971\u0972\3\2\2\2\u0972\u0973\7h\2\2\u0973\u0975\7;\2"+ + "\2\u0974\u0976\5\u0190\u00c9\2\u0975\u0974\3\2\2\2\u0975\u0976\3\2\2\2"+ + "\u0976\u0977\3\2\2\2\u0977\u0987\7<\2\2\u0978\u0979\58\35\2\u0979\u097a"+ + "\7C\2\2\u097a\u097b\7*\2\2\u097b\u097d\7C\2\2\u097c\u097e\5,\27\2\u097d"+ + "\u097c\3\2\2\2\u097d\u097e\3\2\2\2\u097e\u097f\3\2\2\2\u097f\u0980\7h"+ + "\2\2\u0980\u0982\7;\2\2\u0981\u0983\5\u0190\u00c9\2\u0982\u0981\3\2\2"+ + "\2\u0982\u0983\3\2\2\2\u0983\u0984\3\2\2\2\u0984\u0985\7<\2\2\u0985\u0987"+ + "\3\2\2\2\u0986\u094e\3\2\2\2\u0986\u0955\3\2\2\2\u0986\u0961\3\2\2\2\u0986"+ + "\u096d\3\2\2\2\u0986\u0978\3\2\2\2\u0987\u018f\3\2\2\2\u0988\u098d\5\u01a0"+ + "\u00d1\2\u0989\u098a\7B\2\2\u098a\u098c\5\u01a0\u00d1\2\u098b\u0989\3"+ + "\2\2\2\u098c\u098f\3\2\2\2\u098d\u098b\3\2\2\2\u098d\u098e\3\2\2\2\u098e"+ + "\u0191\3\2\2\2\u098f\u098d\3\2\2\2\u0990\u0991\5<\37\2\u0991\u0993\7\\"+ + "\2\2\u0992\u0994\5,\27\2\u0993\u0992\3\2\2\2\u0993\u0994\3\2\2\2\u0994"+ + "\u0995\3\2\2\2\u0995\u0996\7h\2\2\u0996\u09c0\3\2\2\2\u0997\u0998\5\16"+ + "\b\2\u0998\u099a\7\\\2\2\u0999\u099b\5,\27\2\u099a\u0999\3\2\2\2\u099a"+ + "\u099b\3\2\2\2\u099b\u099c\3\2\2\2\u099c\u099d\7h\2\2\u099d\u09c0\3\2"+ + "\2\2\u099e\u099f\5\u0162\u00b2\2\u099f\u09a1\7\\\2\2\u09a0\u09a2\5,\27"+ + "\2\u09a1\u09a0\3\2\2\2\u09a1\u09a2\3\2\2\2\u09a2\u09a3\3\2\2\2\u09a3\u09a4"+ + "\7h\2\2\u09a4\u09c0\3\2\2\2\u09a5\u09a6\7*\2\2\u09a6\u09a8\7\\\2\2\u09a7"+ + "\u09a9\5,\27\2\u09a8\u09a7\3\2\2\2\u09a8\u09a9\3\2\2\2\u09a9\u09aa\3\2"+ + "\2\2\u09aa\u09c0\7h\2\2\u09ab\u09ac\58\35\2\u09ac\u09ad\7C\2\2\u09ad\u09ae"+ + "\7*\2\2\u09ae\u09b0\7\\\2\2\u09af\u09b1\5,\27\2\u09b0\u09af\3\2\2\2\u09b0"+ + "\u09b1\3\2\2\2\u09b1\u09b2\3\2\2\2\u09b2\u09b3\7h\2\2\u09b3\u09c0\3\2"+ + "\2\2\u09b4\u09b5\5\22\n\2\u09b5\u09b7\7\\\2\2\u09b6\u09b8\5,\27\2\u09b7"+ + "\u09b6\3\2\2\2\u09b7\u09b8\3\2\2\2\u09b8\u09b9\3\2\2\2\u09b9\u09ba\7!"+ + "\2\2\u09ba\u09c0\3\2\2\2\u09bb\u09bc\5 \21\2\u09bc\u09bd\7\\\2\2\u09bd"+ + "\u09be\7!\2\2\u09be\u09c0\3\2\2\2\u09bf\u0990\3\2\2\2\u09bf\u0997\3\2"+ + "\2\2\u09bf\u099e\3\2\2\2\u09bf\u09a5\3\2\2\2\u09bf\u09ab\3\2\2\2\u09bf"+ + "\u09b4\3\2\2\2\u09bf\u09bb\3\2\2\2\u09c0\u0193\3\2\2\2\u09c1\u09c3\7\\"+ + "\2\2\u09c2\u09c4\5,\27\2\u09c3\u09c2\3\2\2\2\u09c3\u09c4\3\2\2\2\u09c4"+ + "\u09c5\3\2\2\2\u09c5\u09c6\7h\2\2\u09c6\u0195\3\2\2\2\u09c7\u09c8\5<\37"+ + "\2\u09c8\u09ca\7\\\2\2\u09c9\u09cb\5,\27\2\u09ca\u09c9\3\2\2\2\u09ca\u09cb"+ + "\3\2\2\2\u09cb\u09cc\3\2\2\2\u09cc\u09cd\7h\2\2\u09cd\u09f0\3\2\2\2\u09ce"+ + "\u09cf\5\16\b\2\u09cf\u09d1\7\\\2\2\u09d0\u09d2\5,\27\2\u09d1\u09d0\3"+ + "\2\2\2\u09d1\u09d2\3\2\2\2\u09d2\u09d3\3\2\2\2\u09d3\u09d4\7h\2\2\u09d4"+ + "\u09f0\3\2\2\2\u09d5\u09d6\7*\2\2\u09d6\u09d8\7\\\2\2\u09d7\u09d9\5,\27"+ + "\2\u09d8\u09d7\3\2\2\2\u09d8\u09d9\3\2\2\2\u09d9\u09da\3\2\2\2\u09da\u09f0"+ + "\7h\2\2\u09db\u09dc\58\35\2\u09dc\u09dd\7C\2\2\u09dd\u09de\7*\2\2\u09de"+ + "\u09e0\7\\\2\2\u09df\u09e1\5,\27\2\u09e0\u09df\3\2\2\2\u09e0\u09e1\3\2"+ + "\2\2\u09e1\u09e2\3\2\2\2\u09e2\u09e3\7h\2\2\u09e3\u09f0\3\2\2\2\u09e4"+ + "\u09e5\5\22\n\2\u09e5\u09e7\7\\\2\2\u09e6\u09e8\5,\27\2\u09e7\u09e6\3"+ + "\2\2\2\u09e7\u09e8\3\2\2\2\u09e8\u09e9\3\2\2\2\u09e9\u09ea\7!\2\2\u09ea"+ + "\u09f0\3\2\2\2\u09eb\u09ec\5 \21\2\u09ec\u09ed\7\\\2\2\u09ed\u09ee\7!"+ + "\2\2\u09ee\u09f0\3\2\2\2\u09ef\u09c7\3\2\2\2\u09ef\u09ce\3\2\2\2\u09ef"+ + "\u09d5\3\2\2\2\u09ef\u09db\3\2\2\2\u09ef\u09e4\3\2\2\2\u09ef\u09eb\3\2"+ + "\2\2\u09f0\u0197\3\2\2\2\u09f1\u09f2\7!\2\2\u09f2\u09f3\5\6\4\2\u09f3"+ + "\u09f5\5\u019a\u00ce\2\u09f4\u09f6\5\"\22\2\u09f5\u09f4\3\2\2\2\u09f5"+ + "\u09f6\3\2\2\2\u09f6\u0a08\3\2\2\2\u09f7\u09f8\7!\2\2\u09f8\u09f9\5\20"+ + "\t\2\u09f9\u09fb\5\u019a\u00ce\2\u09fa\u09fc\5\"\22\2\u09fb\u09fa\3\2"+ + "\2\2\u09fb\u09fc\3\2\2\2\u09fc\u0a08\3\2\2\2\u09fd\u09fe\7!\2\2\u09fe"+ + "\u09ff\5\6\4\2\u09ff\u0a00\5\"\22\2\u0a00\u0a01\5\u00fa~\2\u0a01\u0a08"+ + "\3\2\2\2\u0a02\u0a03\7!\2\2\u0a03\u0a04\5\20\t\2\u0a04\u0a05\5\"\22\2"+ + "\u0a05\u0a06\5\u00fa~\2\u0a06\u0a08\3\2\2\2\u0a07\u09f1\3\2\2\2\u0a07"+ + "\u09f7\3\2\2\2\u0a07\u09fd\3\2\2\2\u0a07\u0a02\3\2\2\2\u0a08\u0199\3\2"+ + "\2\2\u0a09\u0a0d\5\u019c\u00cf\2\u0a0a\u0a0c\5\u019c\u00cf\2\u0a0b\u0a0a"+ + "\3\2\2\2\u0a0c\u0a0f\3\2\2\2\u0a0d\u0a0b\3\2\2\2\u0a0d\u0a0e\3\2\2\2\u0a0e"+ + "\u019b\3\2\2\2\u0a0f\u0a0d\3\2\2\2\u0a10\u0a12\5\u00e8u\2\u0a11\u0a10"+ + "\3\2\2\2\u0a12\u0a15\3\2\2\2\u0a13\u0a11\3\2\2\2\u0a13\u0a14\3\2\2\2\u0a14"+ + "\u0a16\3\2\2\2\u0a15\u0a13\3\2\2\2\u0a16\u0a17\7?\2\2\u0a17\u0a18\5\u01a0"+ + "\u00d1\2\u0a18\u0a19\7@\2\2\u0a19\u019d\3\2\2\2\u0a1a\u0a1b\5\u01a0\u00d1"+ + "\2\u0a1b\u019f\3\2\2\2\u0a1c\u0a1f\5\u01a2\u00d2\2\u0a1d\u0a1f\5\u01aa"+ + "\u00d6\2\u0a1e\u0a1c\3\2\2\2\u0a1e\u0a1d\3\2\2\2\u0a1f\u01a1\3\2\2\2\u0a20"+ + "\u0a21\5\u01a4\u00d3\2\u0a21\u0a22\7[\2\2\u0a22\u0a23\5\u01a8\u00d5\2"+ + "\u0a23\u01a3\3\2\2\2\u0a24\u0a2f\7h\2\2\u0a25\u0a27\7;\2\2\u0a26\u0a28"+ + "\5\u0098M\2\u0a27\u0a26\3\2\2\2\u0a27\u0a28\3\2\2\2\u0a28\u0a29\3\2\2"+ + "\2\u0a29\u0a2f\7<\2\2\u0a2a\u0a2b\7;\2\2\u0a2b\u0a2c\5\u01a6\u00d4\2\u0a2c"+ + "\u0a2d\7<\2\2\u0a2d\u0a2f\3\2\2\2\u0a2e\u0a24\3\2\2\2\u0a2e\u0a25\3\2"+ + "\2\2\u0a2e\u0a2a\3\2\2\2\u0a2f\u01a5\3\2\2\2\u0a30\u0a35\7h\2\2\u0a31"+ + "\u0a32\7B\2\2\u0a32\u0a34\7h\2\2\u0a33\u0a31\3\2\2\2\u0a34\u0a37\3\2\2"+ + "\2\u0a35\u0a33\3\2\2\2\u0a35\u0a36\3\2\2\2\u0a36\u01a7\3\2\2\2\u0a37\u0a35"+ + "\3\2\2\2\u0a38\u0a3b\5\u01a0\u00d1\2\u0a39\u0a3b\5\u00fe\u0080\2\u0a3a"+ + "\u0a38\3\2\2\2\u0a3a\u0a39\3\2\2\2\u0a3b\u01a9\3\2\2\2\u0a3c\u0a3f\5\u01b2"+ + "\u00da\2\u0a3d\u0a3f\5\u01ac\u00d7\2\u0a3e\u0a3c\3\2\2\2\u0a3e\u0a3d\3"+ + "\2\2\2\u0a3f\u01ab\3\2\2\2\u0a40\u0a41\5\u01ae\u00d8\2\u0a41\u0a42\5\u01b0"+ + "\u00d9\2\u0a42\u0a43\5\u01a0\u00d1\2\u0a43\u01ad\3\2\2\2\u0a44\u0a48\5"+ + "<\37\2\u0a45\u0a48\5\u017e\u00c0\2\u0a46\u0a48\5\u0184\u00c3\2\u0a47\u0a44"+ + "\3\2\2\2\u0a47\u0a45\3\2\2\2\u0a47\u0a46\3\2\2\2\u0a48\u01af\3\2\2\2\u0a49"+ + "\u0a4a\t\5\2\2\u0a4a\u01b1\3\2\2\2\u0a4b\u0a53\5\u01b4\u00db\2\u0a4c\u0a4d"+ + "\5\u01b4\u00db\2\u0a4d\u0a4e\7I\2\2\u0a4e\u0a4f\5\u01a0\u00d1\2\u0a4f"+ + "\u0a50\7J\2\2\u0a50\u0a51\5\u01b2\u00da\2\u0a51\u0a53\3\2\2\2\u0a52\u0a4b"+ + "\3\2\2\2\u0a52\u0a4c\3\2\2\2\u0a53\u01b3\3\2\2\2\u0a54\u0a55\b\u00db\1"+ + "\2\u0a55\u0a56\5\u01b6\u00dc\2\u0a56\u0a5c\3\2\2\2\u0a57\u0a58\f\3\2\2"+ + "\u0a58\u0a59\7P\2\2\u0a59\u0a5b\5\u01b6\u00dc\2\u0a5a\u0a57\3\2\2\2\u0a5b"+ + "\u0a5e\3\2\2\2\u0a5c\u0a5a\3\2\2\2\u0a5c\u0a5d\3\2\2\2\u0a5d\u01b5\3\2"+ + "\2\2\u0a5e\u0a5c\3\2\2\2\u0a5f\u0a60\b\u00dc\1\2\u0a60\u0a61\5\u01b8\u00dd"+ + "\2\u0a61\u0a67\3\2\2\2\u0a62\u0a63\f\3\2\2\u0a63\u0a64\7O\2\2\u0a64\u0a66"+ + "\5\u01b8\u00dd\2\u0a65\u0a62\3\2\2\2\u0a66\u0a69\3\2\2\2\u0a67\u0a65\3"+ + "\2\2\2\u0a67\u0a68\3\2\2\2\u0a68\u01b7\3\2\2\2\u0a69\u0a67\3\2\2\2\u0a6a"+ + "\u0a6b\b\u00dd\1\2\u0a6b\u0a6c\5\u01ba\u00de\2\u0a6c\u0a72\3\2\2\2\u0a6d"+ + "\u0a6e\f\3\2\2\u0a6e\u0a6f\7X\2\2\u0a6f\u0a71\5\u01ba\u00de\2\u0a70\u0a6d"+ + "\3\2\2\2\u0a71\u0a74\3\2\2\2\u0a72\u0a70\3\2\2\2\u0a72\u0a73\3\2\2\2\u0a73"+ + "\u01b9\3\2\2\2\u0a74\u0a72\3\2\2\2\u0a75\u0a76\b\u00de\1\2\u0a76\u0a77"+ + "\5\u01bc\u00df\2\u0a77\u0a7d\3\2\2\2\u0a78\u0a79\f\3\2\2\u0a79\u0a7a\7"+ + "Y\2\2\u0a7a\u0a7c\5\u01bc\u00df\2\u0a7b\u0a78\3\2\2\2\u0a7c\u0a7f\3\2"+ + "\2\2\u0a7d\u0a7b\3\2\2\2\u0a7d\u0a7e\3\2\2\2\u0a7e\u01bb\3\2\2\2\u0a7f"+ + "\u0a7d\3\2\2\2\u0a80\u0a81\b\u00df\1\2\u0a81\u0a82\5\u01be\u00e0\2\u0a82"+ + "\u0a88\3\2\2\2\u0a83\u0a84\f\3\2\2\u0a84\u0a85\7W\2\2\u0a85\u0a87\5\u01be"+ + "\u00e0\2\u0a86\u0a83\3\2\2\2\u0a87\u0a8a\3\2\2\2\u0a88\u0a86\3\2\2\2\u0a88"+ + "\u0a89\3\2\2\2\u0a89\u01bd\3\2\2\2\u0a8a\u0a88\3\2\2\2\u0a8b\u0a8c\b\u00e0"+ + "\1\2\u0a8c\u0a8d\5\u01c0\u00e1\2\u0a8d\u0a96\3\2\2\2\u0a8e\u0a8f\f\4\2"+ + "\2\u0a8f\u0a90\7K\2\2\u0a90\u0a95\5\u01c0\u00e1\2\u0a91\u0a92\f\3\2\2"+ + "\u0a92\u0a93\7N\2\2\u0a93\u0a95\5\u01c0\u00e1\2\u0a94\u0a8e\3\2\2\2\u0a94"+ + "\u0a91\3\2\2\2\u0a95\u0a98\3\2\2\2\u0a96\u0a94\3\2\2\2\u0a96\u0a97\3\2"+ + "\2\2\u0a97\u01bf\3\2\2\2\u0a98\u0a96\3\2\2\2\u0a99\u0a9a\b\u00e1\1\2\u0a9a"+ + "\u0a9b\5\u01c2\u00e2\2\u0a9b\u0aad\3\2\2\2\u0a9c\u0a9d\f\7\2\2\u0a9d\u0a9e"+ + "\7F\2\2\u0a9e\u0aac\5\u01c2\u00e2\2\u0a9f\u0aa0\f\6\2\2\u0aa0\u0aa1\7"+ + "E\2\2\u0aa1\u0aac\5\u01c2\u00e2\2\u0aa2\u0aa3\f\5\2\2\u0aa3\u0aa4\7L\2"+ + "\2\u0aa4\u0aac\5\u01c2\u00e2\2\u0aa5\u0aa6\f\4\2\2\u0aa6\u0aa7\7M\2\2"+ + "\u0aa7\u0aac\5\u01c2\u00e2\2\u0aa8\u0aa9\f\3\2\2\u0aa9\u0aaa\7\34\2\2"+ + "\u0aaa\u0aac\5\16\b\2\u0aab\u0a9c\3\2\2\2\u0aab\u0a9f\3\2\2\2\u0aab\u0aa2"+ + "\3\2\2\2\u0aab\u0aa5\3\2\2\2\u0aab\u0aa8\3\2\2\2\u0aac\u0aaf\3\2\2\2\u0aad"+ + "\u0aab\3\2\2\2\u0aad\u0aae\3\2\2\2\u0aae\u01c1\3\2\2\2\u0aaf\u0aad\3\2"+ + "\2\2\u0ab0\u0ab1\b\u00e2\1\2\u0ab1\u0ab2\5\u01c4\u00e3\2\u0ab2\u0ac2\3"+ + "\2\2\2\u0ab3\u0ab4\f\5\2\2\u0ab4\u0ab5\7F\2\2\u0ab5\u0ab6\7F\2\2\u0ab6"+ + "\u0ac1\5\u01c4\u00e3\2\u0ab7\u0ab8\f\4\2\2\u0ab8\u0ab9\7E\2\2\u0ab9\u0aba"+ + "\7E\2\2\u0aba\u0ac1\5\u01c4\u00e3\2\u0abb\u0abc\f\3\2\2\u0abc\u0abd\7"+ + "E\2\2\u0abd\u0abe\7E\2\2\u0abe\u0abf\7E\2\2\u0abf\u0ac1\5\u01c4\u00e3"+ + "\2\u0ac0\u0ab3\3\2\2\2\u0ac0\u0ab7\3\2\2\2\u0ac0\u0abb\3\2\2\2\u0ac1\u0ac4"+ + "\3\2\2\2\u0ac2\u0ac0\3\2\2\2\u0ac2\u0ac3\3\2\2\2\u0ac3\u01c3\3\2\2\2\u0ac4"+ + "\u0ac2\3\2\2\2\u0ac5\u0ac6\b\u00e3\1\2\u0ac6\u0ac7\5\u01c6\u00e4\2\u0ac7"+ + "\u0ad0\3\2\2\2\u0ac8\u0ac9\f\4\2\2\u0ac9\u0aca\7S\2\2\u0aca\u0acf\5\u01c6"+ + "\u00e4\2\u0acb\u0acc\f\3\2\2\u0acc\u0acd\7T\2\2\u0acd\u0acf\5\u01c6\u00e4"+ + "\2\u0ace\u0ac8\3\2\2\2\u0ace\u0acb\3\2\2\2\u0acf\u0ad2\3\2\2\2\u0ad0\u0ace"+ + "\3\2\2\2\u0ad0\u0ad1\3\2\2\2\u0ad1\u01c5\3\2\2\2\u0ad2\u0ad0\3\2\2\2\u0ad3"+ + "\u0ad4\b\u00e4\1\2\u0ad4\u0ad5\5\u01c8\u00e5\2\u0ad5\u0ae1\3\2\2\2\u0ad6"+ + "\u0ad7\f\5\2\2\u0ad7\u0ad8\7U\2\2\u0ad8\u0ae0\5\u01c8\u00e5\2\u0ad9\u0ada"+ + "\f\4\2\2\u0ada\u0adb\7V\2\2\u0adb\u0ae0\5\u01c8\u00e5\2\u0adc\u0add\f"+ + "\3\2\2\u0add\u0ade\7Z\2\2\u0ade\u0ae0\5\u01c8\u00e5\2\u0adf\u0ad6\3\2"+ + "\2\2\u0adf\u0ad9\3\2\2\2\u0adf\u0adc\3\2\2\2\u0ae0\u0ae3\3\2\2\2\u0ae1"+ + "\u0adf\3\2\2\2\u0ae1\u0ae2\3\2\2\2\u0ae2\u01c7\3\2\2\2\u0ae3\u0ae1\3\2"+ + "\2\2\u0ae4\u0aec\5\u01ca\u00e6\2\u0ae5\u0aec\5\u01cc\u00e7\2\u0ae6\u0ae7"+ + "\7S\2\2\u0ae7\u0aec\5\u01c8\u00e5\2\u0ae8\u0ae9\7T\2\2\u0ae9\u0aec\5\u01c8"+ + "\u00e5\2\u0aea\u0aec\5\u01ce\u00e8\2\u0aeb\u0ae4\3\2\2\2\u0aeb\u0ae5\3"+ + "\2\2\2\u0aeb\u0ae6\3\2\2\2\u0aeb\u0ae8\3\2\2\2\u0aeb\u0aea\3\2\2\2\u0aec"+ + "\u01c9\3\2\2\2\u0aed\u0aee\7Q\2\2\u0aee\u0aef\5\u01c8\u00e5\2\u0aef\u01cb"+ + "\3\2\2\2\u0af0\u0af1\7R\2\2\u0af1\u0af2\5\u01c8\u00e5\2\u0af2\u01cd\3"+ + "\2\2\2\u0af3\u0afa\5\u01d0\u00e9\2\u0af4\u0af5\7H\2\2\u0af5\u0afa\5\u01c8"+ + "\u00e5\2\u0af6\u0af7\7G\2\2\u0af7\u0afa\5\u01c8\u00e5\2\u0af8\u0afa\5"+ + "\u01da\u00ee\2\u0af9\u0af3\3\2\2\2\u0af9\u0af4\3\2\2\2\u0af9\u0af6\3\2"+ + "\2\2\u0af9\u0af8\3\2\2\2\u0afa\u01cf\3\2\2\2\u0afb\u0afe\5\u0162\u00b2"+ + "\2\u0afc\u0afe\5<\37\2\u0afd\u0afb\3\2\2\2\u0afd\u0afc\3\2\2\2\u0afe\u0b03"+ + "\3\2\2\2\u0aff\u0b02\5\u01d4\u00eb\2\u0b00\u0b02\5\u01d8\u00ed\2\u0b01"+ + "\u0aff\3\2\2\2\u0b01\u0b00\3\2\2\2\u0b02\u0b05\3\2\2\2\u0b03\u0b01\3\2"+ + "\2\2\u0b03\u0b04\3\2\2\2\u0b04\u01d1\3\2\2\2\u0b05\u0b03\3\2\2\2\u0b06"+ + "\u0b07\5\u01d0\u00e9\2\u0b07\u0b08\7Q\2\2\u0b08\u01d3\3\2\2\2\u0b09\u0b0a"+ + "\7Q\2\2\u0b0a\u01d5\3\2\2\2\u0b0b\u0b0c\5\u01d0\u00e9\2\u0b0c\u0b0d\7"+ + "R\2\2\u0b0d\u01d7\3\2\2\2\u0b0e\u0b0f\7R\2\2\u0b0f\u01d9\3\2\2\2\u0b10"+ + "\u0b11\7;\2\2\u0b11\u0b12\5\6\4\2\u0b12\u0b13\7<\2\2\u0b13\u0b14\5\u01c8"+ + "\u00e5\2\u0b14\u0b2c\3\2\2\2\u0b15\u0b16\7;\2\2\u0b16\u0b1a\5\16\b\2\u0b17"+ + "\u0b19\5*\26\2\u0b18\u0b17\3\2\2\2\u0b19\u0b1c\3\2\2\2\u0b1a\u0b18\3\2"+ + "\2\2\u0b1a\u0b1b\3\2\2\2\u0b1b\u0b1d\3\2\2\2\u0b1c\u0b1a\3\2\2\2\u0b1d"+ + "\u0b1e\7<\2\2\u0b1e\u0b1f\5\u01ce\u00e8\2\u0b1f\u0b2c\3\2\2\2\u0b20\u0b21"+ + "\7;\2\2\u0b21\u0b25\5\16\b\2\u0b22\u0b24\5*\26\2\u0b23\u0b22\3\2\2\2\u0b24"+ + "\u0b27\3\2\2\2\u0b25\u0b23\3\2\2\2\u0b25\u0b26\3\2\2\2\u0b26\u0b28\3\2"+ + "\2\2\u0b27\u0b25\3\2\2\2\u0b28\u0b29\7<\2\2\u0b29\u0b2a\5\u01a2\u00d2"+ + "\2\u0b2a\u0b2c\3\2\2\2\u0b2b\u0b10\3\2\2\2\u0b2b\u0b15\3\2\2\2\u0b2b\u0b20"+ + "\3\2\2\2\u0b2c\u01db\3\2\2\2\u0147\u01e0\u01e5\u01ec\u01f0\u01f4\u01fd"+ + "\u0201\u0205\u0207\u020d\u0212\u0219\u021e\u0220\u0226\u022b\u0230\u0235"+ + "\u0240\u024e\u0253\u025b\u0262\u0268\u026d\u0278\u027b\u0289\u028e\u0293"+ + "\u0298\u029e\u02a8\u02b0\u02ba\u02c2\u02ce\u02d2\u02d7\u02dd\u02e5\u02ee"+ + "\u02f9\u0316\u031a\u031f\u0325\u0328\u032b\u0337\u0342\u0350\u0357\u0360"+ + "\u0367\u036c\u0370\u037d\u0384\u038a\u038e\u0392\u0396\u039a\u039f\u03a3"+ + "\u03a7\u03a9\u03ae\u03b5\u03ba\u03bc\u03c2\u03c7\u03cb\u03de\u03e3\u03f3"+ + "\u03f8\u03fe\u0404\u0406\u040a\u040f\u0413\u041a\u0421\u0429\u042c\u0431"+ + "\u0439\u043e\u0445\u044c\u0451\u0457\u0463\u0468\u046c\u0476\u047b\u0483"+ + "\u0486\u048b\u0493\u0496\u049b\u04a0\u04a5\u04aa\u04b1\u04b6\u04be\u04c3"+ + "\u04c8\u04cd\u04d3\u04d9\u04dc\u04df\u04e8\u04ee\u04f4\u04f7\u04fa\u0502"+ + "\u0507\u050c\u0512\u0515\u0520\u0529\u0533\u0538\u0543\u0548\u0554\u0559"+ + "\u0565\u056f\u0574\u057c\u057f\u0586\u058e\u0594\u059d\u05a7\u05ab\u05ae"+ + "\u05b7\u05c5\u05c8\u05d1\u05d6\u05de\u05e4\u05ec\u05f8\u05ff\u060d\u0623"+ + "\u0645\u0651\u0657\u0663\u0670\u068a\u068e\u0693\u0697\u069b\u06a3\u06a7"+ + "\u06ab\u06b2\u06bb\u06c3\u06d2\u06de\u06e4\u06ea\u06ff\u0704\u070a\u0716"+ + "\u0721\u072b\u072e\u0733\u073c\u0742\u074c\u0751\u075a\u0771\u077b\u0791"+ + "\u0798\u07a0\u07a8\u07b3\u07ca\u07d4\u07df\u07f5\u07f9\u07fe\u0806\u080c"+ + "\u0810\u0814\u0818\u081e\u0823\u0828\u082c\u0830\u0836\u083b\u0840\u0844"+ + "\u0848\u084a\u084f\u0854\u0859\u085d\u0861\u0865\u086a\u0872\u0878\u087c"+ + "\u0880\u0884\u088a\u088f\u0894\u0898\u089c\u089e\u08a3\u08b2\u08c0\u08cc"+ + "\u08d5\u08e4\u08f1\u08fa\u0900\u0907\u090c\u0913\u0918\u091f\u0924\u092b"+ + "\u0930\u0938\u093d\u0941\u0945\u094a\u0951\u0958\u095d\u0964\u0969\u0970"+ + "\u0975\u097d\u0982\u0986\u098d\u0993\u099a\u09a1\u09a8\u09b0\u09b7\u09bf"+ + "\u09c3\u09ca\u09d1\u09d8\u09e0\u09e7\u09ef\u09f5\u09fb\u0a07\u0a0d\u0a13"+ + "\u0a1e\u0a27\u0a2e\u0a35\u0a3a\u0a3e\u0a47\u0a52\u0a5c\u0a67\u0a72\u0a7d"+ + "\u0a88\u0a94\u0a96\u0aab\u0aad\u0ac0\u0ac2\u0ace\u0ad0\u0adf\u0ae1\u0aeb"+ + "\u0af9\u0afd\u0b01\u0b03\u0b1a\u0b25\u0b2b"; + public static final String _serializedATN = Utils.join( + new String[] { + _serializedATNSegment0, + _serializedATNSegment1 + }, + "" + ); + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file From b2e5555da558cdcd9b08973303de13b4eb2a745e Mon Sep 17 00:00:00 2001 From: Jakob Herrmann Date: Tue, 29 Nov 2016 19:46:07 +0100 Subject: [PATCH 4/5] Grammar now supports untyped parameters in method declarations. --- src/de/dhbwstuttgart/parser/Java8.g4 | 2 +- src/de/dhbwstuttgart/parser/Java8Parser.java | 4889 +++++++++--------- src/de/dhbwstuttgart/parser/TODO | 1 + 3 files changed, 2450 insertions(+), 2442 deletions(-) diff --git a/src/de/dhbwstuttgart/parser/Java8.g4 b/src/de/dhbwstuttgart/parser/Java8.g4 index 8a554bf5..602dead4 100644 --- a/src/de/dhbwstuttgart/parser/Java8.g4 +++ b/src/de/dhbwstuttgart/parser/Java8.g4 @@ -466,7 +466,7 @@ formalParameters ; formalParameter - : variableModifier* unannType variableDeclaratorId + : variableModifier* unannType? variableDeclaratorId ; variableModifier diff --git a/src/de/dhbwstuttgart/parser/Java8Parser.java b/src/de/dhbwstuttgart/parser/Java8Parser.java index 2c5054c8..77300926 100644 --- a/src/de/dhbwstuttgart/parser/Java8Parser.java +++ b/src/de/dhbwstuttgart/parser/Java8Parser.java @@ -5219,9 +5219,6 @@ public class Java8Parser extends Parser { } public static class FormalParameterContext extends ParserRuleContext { - public UnannTypeContext unannType() { - return getRuleContext(UnannTypeContext.class,0); - } public VariableDeclaratorIdContext variableDeclaratorId() { return getRuleContext(VariableDeclaratorIdContext.class,0); } @@ -5231,6 +5228,9 @@ public class Java8Parser extends Parser { public VariableModifierContext variableModifier(int i) { return getRuleContext(VariableModifierContext.class,i); } + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } public FormalParameterContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); } @@ -5266,9 +5266,17 @@ public class Java8Parser extends Parser { _errHandler.sync(this); _la = _input.LA(1); } - setState(1074); - unannType(); setState(1075); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,90,_ctx) ) { + case 1: + { + setState(1074); + unannType(); + } + break; + } + setState(1077); variableDeclaratorId(); } } @@ -5305,19 +5313,19 @@ public class Java8Parser extends Parser { VariableModifierContext _localctx = new VariableModifierContext(_ctx, getState()); enterRule(_localctx, 156, RULE_variableModifier); try { - setState(1079); + setState(1081); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1077); + setState(1079); annotation(); } break; case FINAL: enterOuterAlt(_localctx, 2); { - setState(1078); + setState(1080); match(FINAL); } break; @@ -5377,52 +5385,52 @@ public class Java8Parser extends Parser { enterRule(_localctx, 158, RULE_lastFormalParameter); int _la; try { - setState(1098); + setState(1100); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,94,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1084); + setState(1086); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1081); + setState(1083); variableModifier(); } } - setState(1086); + setState(1088); _errHandler.sync(this); _la = _input.LA(1); } - setState(1087); + setState(1089); unannType(); - setState(1091); + setState(1093); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(1088); + setState(1090); annotation(); } } - setState(1093); + setState(1095); _errHandler.sync(this); _la = _input.LA(1); } - setState(1094); + setState(1096); match(ELLIPSIS); - setState(1095); + setState(1097); variableDeclaratorId(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1097); + setState(1099); formalParameter(); } break; @@ -5471,34 +5479,34 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1103); + setState(1105); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(1100); + setState(1102); annotation(); } } - setState(1105); + setState(1107); _errHandler.sync(this); _la = _input.LA(1); } - setState(1106); + setState(1108); unannType(); - setState(1109); + setState(1111); _la = _input.LA(1); if (_la==Identifier) { { - setState(1107); + setState(1109); match(Identifier); - setState(1108); + setState(1110); match(DOT); } } - setState(1111); + setState(1113); match(THIS); } } @@ -5537,9 +5545,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1113); + setState(1115); match(THROWS); - setState(1114); + setState(1116); exceptionTypeList(); } } @@ -5582,21 +5590,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1116); + setState(1118); exceptionType(); - setState(1121); + setState(1123); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(1117); + setState(1119); match(COMMA); - setState(1118); + setState(1120); exceptionType(); } } - setState(1123); + setState(1125); _errHandler.sync(this); _la = _input.LA(1); } @@ -5638,20 +5646,20 @@ public class Java8Parser extends Parser { ExceptionTypeContext _localctx = new ExceptionTypeContext(_ctx, getState()); enterRule(_localctx, 166, RULE_exceptionType); try { - setState(1126); + setState(1128); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,97,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,98,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1124); + setState(1126); classType(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1125); + setState(1127); typeVariable(); } break; @@ -5690,19 +5698,19 @@ public class Java8Parser extends Parser { MethodBodyContext _localctx = new MethodBodyContext(_ctx, getState()); enterRule(_localctx, 168, RULE_methodBody); try { - setState(1130); + setState(1132); switch (_input.LA(1)) { case LBRACE: enterOuterAlt(_localctx, 1); { - setState(1128); + setState(1130); block(); } break; case SEMI: enterOuterAlt(_localctx, 2); { - setState(1129); + setState(1131); match(SEMI); } break; @@ -5745,7 +5753,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1132); + setState(1134); block(); } } @@ -5784,9 +5792,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1134); + setState(1136); match(STATIC); - setState(1135); + setState(1137); block(); } } @@ -5838,32 +5846,32 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1140); + setState(1142); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC))) != 0) || _la==AT) { { { - setState(1137); + setState(1139); constructorModifier(); } } - setState(1142); + setState(1144); _errHandler.sync(this); _la = _input.LA(1); } - setState(1143); - constructorDeclarator(); setState(1145); + constructorDeclarator(); + setState(1147); _la = _input.LA(1); if (_la==THROWS) { { - setState(1144); + setState(1146); throws_(); } } - setState(1147); + setState(1149); constructorBody(); } } @@ -5900,33 +5908,33 @@ public class Java8Parser extends Parser { ConstructorModifierContext _localctx = new ConstructorModifierContext(_ctx, getState()); enterRule(_localctx, 176, RULE_constructorModifier); try { - setState(1153); + setState(1155); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1149); + setState(1151); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1150); + setState(1152); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { - setState(1151); + setState(1153); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { - setState(1152); + setState(1154); match(PRIVATE); } break; @@ -5976,29 +5984,29 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1156); + setState(1158); _la = _input.LA(1); if (_la==LT) { { - setState(1155); + setState(1157); typeParameters(); } } - setState(1158); + setState(1160); simpleTypeName(); - setState(1159); - match(LPAREN); setState(1161); + match(LPAREN); + setState(1163); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { { - setState(1160); + setState(1162); formalParameterList(); } } - setState(1163); + setState(1165); match(RPAREN); } } @@ -6035,7 +6043,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1165); + setState(1167); match(Identifier); } } @@ -6078,28 +6086,28 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1167); - match(LBRACE); setState(1169); + match(LBRACE); + setState(1171); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,104,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,105,_ctx) ) { case 1: { - setState(1168); + setState(1170); explicitConstructorInvocation(); } break; } - setState(1172); + setState(1174); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1171); + setState(1173); blockStatements(); } } - setState(1174); + setState(1176); match(RBRACE); } } @@ -6146,138 +6154,138 @@ public class Java8Parser extends Parser { enterRule(_localctx, 184, RULE_explicitConstructorInvocation); int _la; try { - setState(1222); + setState(1224); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,114,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,115,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1177); + setState(1179); _la = _input.LA(1); if (_la==LT) { { - setState(1176); + setState(1178); typeArguments(); } } - setState(1179); + setState(1181); match(THIS); - setState(1180); - match(LPAREN); setState(1182); + match(LPAREN); + setState(1184); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1181); + setState(1183); argumentList(); } } - setState(1184); + setState(1186); match(RPAREN); - setState(1185); + setState(1187); match(SEMI); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1187); + setState(1189); _la = _input.LA(1); if (_la==LT) { { - setState(1186); + setState(1188); typeArguments(); } } - setState(1189); + setState(1191); match(SUPER); - setState(1190); - match(LPAREN); setState(1192); + match(LPAREN); + setState(1194); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1191); + setState(1193); argumentList(); } } - setState(1194); + setState(1196); match(RPAREN); - setState(1195); + setState(1197); match(SEMI); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1196); + setState(1198); expressionName(); - setState(1197); - match(DOT); setState(1199); + match(DOT); + setState(1201); _la = _input.LA(1); if (_la==LT) { { - setState(1198); + setState(1200); typeArguments(); } } - setState(1201); + setState(1203); match(SUPER); - setState(1202); - match(LPAREN); setState(1204); + match(LPAREN); + setState(1206); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1203); + setState(1205); argumentList(); } } - setState(1206); + setState(1208); match(RPAREN); - setState(1207); + setState(1209); match(SEMI); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1209); + setState(1211); primary(); - setState(1210); - match(DOT); setState(1212); + match(DOT); + setState(1214); _la = _input.LA(1); if (_la==LT) { { - setState(1211); + setState(1213); typeArguments(); } } - setState(1214); + setState(1216); match(SUPER); - setState(1215); - match(LPAREN); setState(1217); + match(LPAREN); + setState(1219); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1216); + setState(1218); argumentList(); } } - setState(1219); + setState(1221); match(RPAREN); - setState(1220); + setState(1222); match(SEMI); } break; @@ -6329,34 +6337,34 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1227); + setState(1229); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { { { - setState(1224); + setState(1226); classModifier(); } } - setState(1229); + setState(1231); _errHandler.sync(this); _la = _input.LA(1); } - setState(1230); + setState(1232); match(ENUM); - setState(1231); - match(Identifier); setState(1233); + match(Identifier); + setState(1235); _la = _input.LA(1); if (_la==IMPLEMENTS) { { - setState(1232); + setState(1234); superinterfaces(); } } - setState(1235); + setState(1237); enumBody(); } } @@ -6399,36 +6407,36 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1237); - match(LBRACE); setState(1239); + match(LBRACE); + setState(1241); _la = _input.LA(1); if (_la==Identifier || _la==AT) { { - setState(1238); + setState(1240); enumConstantList(); } } - setState(1242); + setState(1244); _la = _input.LA(1); if (_la==COMMA) { { - setState(1241); + setState(1243); match(COMMA); } } - setState(1245); + setState(1247); _la = _input.LA(1); if (_la==SEMI) { { - setState(1244); + setState(1246); enumBodyDeclarations(); } } - setState(1247); + setState(1249); match(RBRACE); } } @@ -6471,25 +6479,25 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1249); + setState(1251); enumConstant(); - setState(1254); + setState(1256); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,120,_ctx); + _alt = getInterpreter().adaptivePredict(_input,121,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1250); + setState(1252); match(COMMA); - setState(1251); + setState(1253); enumConstant(); } } } - setState(1256); + setState(1258); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,120,_ctx); + _alt = getInterpreter().adaptivePredict(_input,121,_ctx); } } } @@ -6539,47 +6547,47 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1260); + setState(1262); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(1257); + setState(1259); enumConstantModifier(); } } - setState(1262); + setState(1264); _errHandler.sync(this); _la = _input.LA(1); } - setState(1263); + setState(1265); match(Identifier); - setState(1269); + setState(1271); _la = _input.LA(1); if (_la==LPAREN) { { - setState(1264); - match(LPAREN); setState(1266); + match(LPAREN); + setState(1268); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1265); + setState(1267); argumentList(); } } - setState(1268); + setState(1270); match(RPAREN); } } - setState(1272); + setState(1274); _la = _input.LA(1); if (_la==LBRACE) { { - setState(1271); + setState(1273); classBody(); } } @@ -6621,7 +6629,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1274); + setState(1276); annotation(); } } @@ -6664,19 +6672,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1276); + setState(1278); match(SEMI); - setState(1280); + setState(1282); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { { { - setState(1277); + setState(1279); classBodyDeclaration(); } } - setState(1282); + setState(1284); _errHandler.sync(this); _la = _input.LA(1); } @@ -6718,20 +6726,20 @@ public class Java8Parser extends Parser { InterfaceDeclarationContext _localctx = new InterfaceDeclarationContext(_ctx, getState()); enterRule(_localctx, 198, RULE_interfaceDeclaration); try { - setState(1285); + setState(1287); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,126,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,127,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1283); + setState(1285); normalInterfaceDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1284); + setState(1286); annotationTypeDeclaration(); } break; @@ -6786,43 +6794,43 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1290); + setState(1292); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { { { - setState(1287); + setState(1289); interfaceModifier(); } } - setState(1292); + setState(1294); _errHandler.sync(this); _la = _input.LA(1); } - setState(1293); + setState(1295); match(INTERFACE); - setState(1294); - match(Identifier); setState(1296); + match(Identifier); + setState(1298); _la = _input.LA(1); if (_la==LT) { { - setState(1295); + setState(1297); typeParameters(); } } - setState(1299); + setState(1301); _la = _input.LA(1); if (_la==EXTENDS) { { - setState(1298); + setState(1300); extendsInterfaces(); } } - setState(1301); + setState(1303); interfaceBody(); } } @@ -6859,54 +6867,54 @@ public class Java8Parser extends Parser { InterfaceModifierContext _localctx = new InterfaceModifierContext(_ctx, getState()); enterRule(_localctx, 202, RULE_interfaceModifier); try { - setState(1310); + setState(1312); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1303); + setState(1305); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1304); + setState(1306); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { - setState(1305); + setState(1307); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { - setState(1306); + setState(1308); match(PRIVATE); } break; case ABSTRACT: enterOuterAlt(_localctx, 5); { - setState(1307); + setState(1309); match(ABSTRACT); } break; case STATIC: enterOuterAlt(_localctx, 6); { - setState(1308); + setState(1310); match(STATIC); } break; case STRICTFP: enterOuterAlt(_localctx, 7); { - setState(1309); + setState(1311); match(STRICTFP); } break; @@ -6949,9 +6957,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1312); + setState(1314); match(EXTENDS); - setState(1313); + setState(1315); interfaceTypeList(); } } @@ -6994,23 +7002,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1315); + setState(1317); match(LBRACE); - setState(1319); + setState(1321); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DEFAULT) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << VOID) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { { { - setState(1316); + setState(1318); interfaceMemberDeclaration(); } } - setState(1321); + setState(1323); _errHandler.sync(this); _la = _input.LA(1); } - setState(1322); + setState(1324); match(RBRACE); } } @@ -7056,41 +7064,41 @@ public class Java8Parser extends Parser { InterfaceMemberDeclarationContext _localctx = new InterfaceMemberDeclarationContext(_ctx, getState()); enterRule(_localctx, 208, RULE_interfaceMemberDeclaration); try { - setState(1329); + setState(1331); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,132,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,133,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1324); + setState(1326); constantDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1325); + setState(1327); interfaceMethodDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1326); + setState(1328); classDeclaration(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1327); + setState(1329); interfaceDeclaration(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1328); + setState(1330); match(SEMI); } break; @@ -7141,25 +7149,25 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1334); + setState(1336); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PUBLIC) | (1L << STATIC))) != 0) || _la==AT) { { { - setState(1331); + setState(1333); constantModifier(); } } - setState(1336); + setState(1338); _errHandler.sync(this); _la = _input.LA(1); } - setState(1337); - unannType(); - setState(1338); - variableDeclaratorList(); setState(1339); + unannType(); + setState(1340); + variableDeclaratorList(); + setState(1341); match(SEMI); } } @@ -7196,33 +7204,33 @@ public class Java8Parser extends Parser { ConstantModifierContext _localctx = new ConstantModifierContext(_ctx, getState()); enterRule(_localctx, 212, RULE_constantModifier); try { - setState(1345); + setState(1347); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1341); + setState(1343); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1342); + setState(1344); match(PUBLIC); } break; case STATIC: enterOuterAlt(_localctx, 3); { - setState(1343); + setState(1345); match(STATIC); } break; case FINAL: enterOuterAlt(_localctx, 4); { - setState(1344); + setState(1346); match(FINAL); } break; @@ -7275,23 +7283,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1350); + setState(1352); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << DEFAULT) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { { { - setState(1347); + setState(1349); interfaceMethodModifier(); } } - setState(1352); + setState(1354); _errHandler.sync(this); _la = _input.LA(1); } - setState(1353); + setState(1355); methodHeader(); - setState(1354); + setState(1356); methodBody(); } } @@ -7328,47 +7336,47 @@ public class Java8Parser extends Parser { InterfaceMethodModifierContext _localctx = new InterfaceMethodModifierContext(_ctx, getState()); enterRule(_localctx, 216, RULE_interfaceMethodModifier); try { - setState(1362); + setState(1364); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1356); + setState(1358); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1357); + setState(1359); match(PUBLIC); } break; case ABSTRACT: enterOuterAlt(_localctx, 3); { - setState(1358); + setState(1360); match(ABSTRACT); } break; case DEFAULT: enterOuterAlt(_localctx, 4); { - setState(1359); + setState(1361); match(DEFAULT); } break; case STATIC: enterOuterAlt(_localctx, 5); { - setState(1360); + setState(1362); match(STATIC); } break; case STRICTFP: enterOuterAlt(_localctx, 6); { - setState(1361); + setState(1363); match(STRICTFP); } break; @@ -7419,29 +7427,29 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1367); + setState(1369); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,137,_ctx); + _alt = getInterpreter().adaptivePredict(_input,138,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1364); + setState(1366); interfaceModifier(); } } } - setState(1369); + setState(1371); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,137,_ctx); + _alt = getInterpreter().adaptivePredict(_input,138,_ctx); } - setState(1370); - match(AT); - setState(1371); - match(INTERFACE); setState(1372); - match(Identifier); + match(AT); setState(1373); + match(INTERFACE); + setState(1374); + match(Identifier); + setState(1375); annotationTypeBody(); } } @@ -7484,23 +7492,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1375); + setState(1377); match(LBRACE); - setState(1379); + setState(1381); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SEMI))) != 0) || _la==Identifier || _la==AT) { { { - setState(1376); + setState(1378); annotationTypeMemberDeclaration(); } } - setState(1381); + setState(1383); _errHandler.sync(this); _la = _input.LA(1); } - setState(1382); + setState(1384); match(RBRACE); } } @@ -7546,41 +7554,41 @@ public class Java8Parser extends Parser { AnnotationTypeMemberDeclarationContext _localctx = new AnnotationTypeMemberDeclarationContext(_ctx, getState()); enterRule(_localctx, 222, RULE_annotationTypeMemberDeclaration); try { - setState(1389); + setState(1391); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,139,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,140,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1384); + setState(1386); annotationTypeElementDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1385); + setState(1387); constantDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1386); + setState(1388); classDeclaration(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1387); + setState(1389); interfaceDeclaration(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1388); + setState(1390); match(SEMI); } break; @@ -7635,47 +7643,47 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1394); + setState(1396); _errHandler.sync(this); _la = _input.LA(1); while (_la==ABSTRACT || _la==PUBLIC || _la==AT) { { { - setState(1391); + setState(1393); annotationTypeElementModifier(); } } - setState(1396); + setState(1398); _errHandler.sync(this); _la = _input.LA(1); } - setState(1397); - unannType(); - setState(1398); - match(Identifier); setState(1399); - match(LPAREN); + unannType(); setState(1400); - match(RPAREN); + match(Identifier); + setState(1401); + match(LPAREN); setState(1402); + match(RPAREN); + setState(1404); _la = _input.LA(1); if (_la==LBRACK || _la==AT) { { - setState(1401); + setState(1403); dims(); } } - setState(1405); + setState(1407); _la = _input.LA(1); if (_la==DEFAULT) { { - setState(1404); + setState(1406); defaultValue(); } } - setState(1407); + setState(1409); match(SEMI); } } @@ -7712,26 +7720,26 @@ public class Java8Parser extends Parser { AnnotationTypeElementModifierContext _localctx = new AnnotationTypeElementModifierContext(_ctx, getState()); enterRule(_localctx, 226, RULE_annotationTypeElementModifier); try { - setState(1412); + setState(1414); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1409); + setState(1411); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1410); + setState(1412); match(PUBLIC); } break; case ABSTRACT: enterOuterAlt(_localctx, 3); { - setState(1411); + setState(1413); match(ABSTRACT); } break; @@ -7774,9 +7782,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1414); + setState(1416); match(DEFAULT); - setState(1415); + setState(1417); elementValue(); } } @@ -7819,27 +7827,27 @@ public class Java8Parser extends Parser { AnnotationContext _localctx = new AnnotationContext(_ctx, getState()); enterRule(_localctx, 230, RULE_annotation); try { - setState(1420); + setState(1422); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,144,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,145,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1417); + setState(1419); normalAnnotation(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1418); + setState(1420); markerAnnotation(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1419); + setState(1421); singleElementAnnotation(); } break; @@ -7884,22 +7892,22 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1422); - match(AT); - setState(1423); - typeName(); setState(1424); - match(LPAREN); + match(AT); + setState(1425); + typeName(); setState(1426); + match(LPAREN); + setState(1428); _la = _input.LA(1); if (_la==Identifier) { { - setState(1425); + setState(1427); elementValuePairList(); } } - setState(1428); + setState(1430); match(RPAREN); } } @@ -7942,21 +7950,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1430); + setState(1432); elementValuePair(); - setState(1435); + setState(1437); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(1431); + setState(1433); match(COMMA); - setState(1432); + setState(1434); elementValuePair(); } } - setState(1437); + setState(1439); _errHandler.sync(this); _la = _input.LA(1); } @@ -7998,11 +8006,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1438); - match(Identifier); - setState(1439); - match(ASSIGN); setState(1440); + match(Identifier); + setState(1441); + match(ASSIGN); + setState(1442); elementValue(); } } @@ -8045,27 +8053,27 @@ public class Java8Parser extends Parser { ElementValueContext _localctx = new ElementValueContext(_ctx, getState()); enterRule(_localctx, 238, RULE_elementValue); try { - setState(1445); + setState(1447); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,147,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,148,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1442); + setState(1444); conditionalExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1443); + setState(1445); elementValueArrayInitializer(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1444); + setState(1446); annotation(); } break; @@ -8107,27 +8115,27 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1447); - match(LBRACE); setState(1449); + match(LBRACE); + setState(1451); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1448); + setState(1450); elementValueList(); } } - setState(1452); + setState(1454); _la = _input.LA(1); if (_la==COMMA) { { - setState(1451); + setState(1453); match(COMMA); } } - setState(1454); + setState(1456); match(RBRACE); } } @@ -8170,25 +8178,25 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1456); + setState(1458); elementValue(); - setState(1461); + setState(1463); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,150,_ctx); + _alt = getInterpreter().adaptivePredict(_input,151,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1457); + setState(1459); match(COMMA); - setState(1458); + setState(1460); elementValue(); } } } - setState(1463); + setState(1465); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,150,_ctx); + _alt = getInterpreter().adaptivePredict(_input,151,_ctx); } } } @@ -8227,9 +8235,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1464); + setState(1466); match(AT); - setState(1465); + setState(1467); typeName(); } } @@ -8271,15 +8279,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1467); - match(AT); - setState(1468); - typeName(); setState(1469); - match(LPAREN); + match(AT); setState(1470); - elementValue(); + typeName(); setState(1471); + match(LPAREN); + setState(1472); + elementValue(); + setState(1473); match(RPAREN); } } @@ -8319,27 +8327,27 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1473); - match(LBRACE); setState(1475); + match(LBRACE); + setState(1477); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1474); + setState(1476); variableInitializerList(); } } - setState(1478); + setState(1480); _la = _input.LA(1); if (_la==COMMA) { { - setState(1477); + setState(1479); match(COMMA); } } - setState(1480); + setState(1482); match(RBRACE); } } @@ -8382,25 +8390,25 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1482); + setState(1484); variableInitializer(); - setState(1487); + setState(1489); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,153,_ctx); + _alt = getInterpreter().adaptivePredict(_input,154,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1483); + setState(1485); match(COMMA); - setState(1484); + setState(1486); variableInitializer(); } } } - setState(1489); + setState(1491); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,153,_ctx); + _alt = getInterpreter().adaptivePredict(_input,154,_ctx); } } } @@ -8440,18 +8448,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1490); - match(LBRACE); setState(1492); + match(LBRACE); + setState(1494); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1491); + setState(1493); blockStatements(); } } - setState(1494); + setState(1496); match(RBRACE); } } @@ -8494,19 +8502,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1496); + setState(1498); blockStatement(); - setState(1500); + setState(1502); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { { - setState(1497); + setState(1499); blockStatement(); } } - setState(1502); + setState(1504); _errHandler.sync(this); _la = _input.LA(1); } @@ -8551,27 +8559,27 @@ public class Java8Parser extends Parser { BlockStatementContext _localctx = new BlockStatementContext(_ctx, getState()); enterRule(_localctx, 256, RULE_blockStatement); try { - setState(1506); + setState(1508); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,156,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,157,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1503); + setState(1505); localVariableDeclarationStatement(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1504); + setState(1506); classDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1505); + setState(1507); statement(); } break; @@ -8612,9 +8620,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1508); + setState(1510); localVariableDeclaration(); - setState(1509); + setState(1511); match(SEMI); } } @@ -8663,23 +8671,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1514); + setState(1516); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1511); + setState(1513); variableModifier(); } } - setState(1516); + setState(1518); _errHandler.sync(this); _la = _input.LA(1); } - setState(1517); + setState(1519); unannType(); - setState(1518); + setState(1520); variableDeclaratorList(); } } @@ -8731,48 +8739,48 @@ public class Java8Parser extends Parser { StatementContext _localctx = new StatementContext(_ctx, getState()); enterRule(_localctx, 262, RULE_statement); try { - setState(1526); + setState(1528); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,158,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,159,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1520); + setState(1522); statementWithoutTrailingSubstatement(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1521); + setState(1523); labeledStatement(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1522); + setState(1524); ifThenStatement(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1523); + setState(1525); ifThenElseStatement(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1524); + setState(1526); whileStatement(); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1525); + setState(1527); forStatement(); } break; @@ -8823,41 +8831,41 @@ public class Java8Parser extends Parser { StatementNoShortIfContext _localctx = new StatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 264, RULE_statementNoShortIf); try { - setState(1533); + setState(1535); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,159,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,160,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1528); + setState(1530); statementWithoutTrailingSubstatement(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1529); + setState(1531); labeledStatementNoShortIf(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1530); + setState(1532); ifThenElseStatementNoShortIf(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1531); + setState(1533); whileStatementNoShortIf(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1532); + setState(1534); forStatementNoShortIf(); } break; @@ -8929,19 +8937,19 @@ public class Java8Parser extends Parser { StatementWithoutTrailingSubstatementContext _localctx = new StatementWithoutTrailingSubstatementContext(_ctx, getState()); enterRule(_localctx, 266, RULE_statementWithoutTrailingSubstatement); try { - setState(1547); + setState(1549); switch (_input.LA(1)) { case LBRACE: enterOuterAlt(_localctx, 1); { - setState(1535); + setState(1537); block(); } break; case SEMI: enterOuterAlt(_localctx, 2); { - setState(1536); + setState(1538); emptyStatement(); } break; @@ -8970,70 +8978,70 @@ public class Java8Parser extends Parser { case AT: enterOuterAlt(_localctx, 3); { - setState(1537); + setState(1539); expressionStatement(); } break; case ASSERT: enterOuterAlt(_localctx, 4); { - setState(1538); + setState(1540); assertStatement(); } break; case SWITCH: enterOuterAlt(_localctx, 5); { - setState(1539); + setState(1541); switchStatement(); } break; case DO: enterOuterAlt(_localctx, 6); { - setState(1540); + setState(1542); doStatement(); } break; case BREAK: enterOuterAlt(_localctx, 7); { - setState(1541); + setState(1543); breakStatement(); } break; case CONTINUE: enterOuterAlt(_localctx, 8); { - setState(1542); + setState(1544); continueStatement(); } break; case RETURN: enterOuterAlt(_localctx, 9); { - setState(1543); + setState(1545); returnStatement(); } break; case SYNCHRONIZED: enterOuterAlt(_localctx, 10); { - setState(1544); + setState(1546); synchronizedStatement(); } break; case THROW: enterOuterAlt(_localctx, 11); { - setState(1545); + setState(1547); throwStatement(); } break; case TRY: enterOuterAlt(_localctx, 12); { - setState(1546); + setState(1548); tryStatement(); } break; @@ -9073,7 +9081,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1549); + setState(1551); match(SEMI); } } @@ -9113,11 +9121,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1551); - match(Identifier); - setState(1552); - match(COLON); setState(1553); + match(Identifier); + setState(1554); + match(COLON); + setState(1555); statement(); } } @@ -9157,11 +9165,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1555); - match(Identifier); - setState(1556); - match(COLON); setState(1557); + match(Identifier); + setState(1558); + match(COLON); + setState(1559); statementNoShortIf(); } } @@ -9200,9 +9208,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1559); + setState(1561); statementExpression(); - setState(1560); + setState(1562); match(SEMI); } } @@ -9257,55 +9265,55 @@ public class Java8Parser extends Parser { StatementExpressionContext _localctx = new StatementExpressionContext(_ctx, getState()); enterRule(_localctx, 276, RULE_statementExpression); try { - setState(1569); + setState(1571); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,161,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1562); + setState(1564); assignment(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1563); + setState(1565); preIncrementExpression(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1564); + setState(1566); preDecrementExpression(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1565); + setState(1567); postIncrementExpression(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1566); + setState(1568); postDecrementExpression(); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1567); + setState(1569); methodInvocation(); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(1568); + setState(1570); classInstanceCreationExpression(); } break; @@ -9349,15 +9357,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1571); - match(IF); - setState(1572); - match(LPAREN); setState(1573); - expression(); + match(IF); setState(1574); - match(RPAREN); + match(LPAREN); setState(1575); + expression(); + setState(1576); + match(RPAREN); + setState(1577); statement(); } } @@ -9402,19 +9410,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1577); - match(IF); - setState(1578); - match(LPAREN); setState(1579); - expression(); + match(IF); setState(1580); - match(RPAREN); + match(LPAREN); setState(1581); - statementNoShortIf(); + expression(); setState(1582); - match(ELSE); + match(RPAREN); setState(1583); + statementNoShortIf(); + setState(1584); + match(ELSE); + setState(1585); statement(); } } @@ -9459,20 +9467,20 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1585); - match(IF); - setState(1586); - match(LPAREN); setState(1587); - expression(); + match(IF); setState(1588); - match(RPAREN); + match(LPAREN); setState(1589); - statementNoShortIf(); + expression(); setState(1590); - match(ELSE); + match(RPAREN); setState(1591); statementNoShortIf(); + setState(1592); + match(ELSE); + setState(1593); + statementNoShortIf(); } } catch (RecognitionException re) { @@ -9511,32 +9519,32 @@ public class Java8Parser extends Parser { AssertStatementContext _localctx = new AssertStatementContext(_ctx, getState()); enterRule(_localctx, 284, RULE_assertStatement); try { - setState(1603); + setState(1605); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,163,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1593); - match(ASSERT); - setState(1594); - expression(); setState(1595); + match(ASSERT); + setState(1596); + expression(); + setState(1597); match(SEMI); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1597); - match(ASSERT); - setState(1598); - expression(); setState(1599); - match(COLON); + match(ASSERT); setState(1600); expression(); setState(1601); + match(COLON); + setState(1602); + expression(); + setState(1603); match(SEMI); } break; @@ -9580,15 +9588,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1605); - match(SWITCH); - setState(1606); - match(LPAREN); setState(1607); - expression(); + match(SWITCH); setState(1608); - match(RPAREN); + match(LPAREN); setState(1609); + expression(); + setState(1610); + match(RPAREN); + setState(1611); switchBlock(); } } @@ -9638,39 +9646,39 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1611); + setState(1613); match(LBRACE); - setState(1615); + setState(1617); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,163,_ctx); + _alt = getInterpreter().adaptivePredict(_input,164,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1612); + setState(1614); switchBlockStatementGroup(); } } } - setState(1617); + setState(1619); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,163,_ctx); + _alt = getInterpreter().adaptivePredict(_input,164,_ctx); } - setState(1621); + setState(1623); _errHandler.sync(this); _la = _input.LA(1); while (_la==CASE || _la==DEFAULT) { { { - setState(1618); + setState(1620); switchLabel(); } } - setState(1623); + setState(1625); _errHandler.sync(this); _la = _input.LA(1); } - setState(1624); + setState(1626); match(RBRACE); } } @@ -9712,9 +9720,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1626); + setState(1628); switchLabels(); - setState(1627); + setState(1629); blockStatements(); } } @@ -9757,19 +9765,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1629); + setState(1631); switchLabel(); - setState(1633); + setState(1635); _errHandler.sync(this); _la = _input.LA(1); while (_la==CASE || _la==DEFAULT) { { { - setState(1630); + setState(1632); switchLabel(); } } - setState(1635); + setState(1637); _errHandler.sync(this); _la = _input.LA(1); } @@ -9811,37 +9819,37 @@ public class Java8Parser extends Parser { SwitchLabelContext _localctx = new SwitchLabelContext(_ctx, getState()); enterRule(_localctx, 294, RULE_switchLabel); try { - setState(1646); + setState(1648); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,166,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,167,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1636); - match(CASE); - setState(1637); - constantExpression(); setState(1638); + match(CASE); + setState(1639); + constantExpression(); + setState(1640); match(COLON); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1640); - match(CASE); - setState(1641); - enumConstantName(); setState(1642); + match(CASE); + setState(1643); + enumConstantName(); + setState(1644); match(COLON); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1644); + setState(1646); match(DEFAULT); - setState(1645); + setState(1647); match(COLON); } break; @@ -9880,7 +9888,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1648); + setState(1650); match(Identifier); } } @@ -9922,15 +9930,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1650); - match(WHILE); - setState(1651); - match(LPAREN); setState(1652); - expression(); + match(WHILE); setState(1653); - match(RPAREN); + match(LPAREN); setState(1654); + expression(); + setState(1655); + match(RPAREN); + setState(1656); statement(); } } @@ -9972,15 +9980,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1656); - match(WHILE); - setState(1657); - match(LPAREN); setState(1658); - expression(); + match(WHILE); setState(1659); - match(RPAREN); + match(LPAREN); setState(1660); + expression(); + setState(1661); + match(RPAREN); + setState(1662); statementNoShortIf(); } } @@ -10022,19 +10030,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1662); - match(DO); - setState(1663); - statement(); setState(1664); - match(WHILE); + match(DO); setState(1665); - match(LPAREN); + statement(); setState(1666); - expression(); + match(WHILE); setState(1667); - match(RPAREN); + match(LPAREN); setState(1668); + expression(); + setState(1669); + match(RPAREN); + setState(1670); match(SEMI); } } @@ -10074,20 +10082,20 @@ public class Java8Parser extends Parser { ForStatementContext _localctx = new ForStatementContext(_ctx, getState()); enterRule(_localctx, 304, RULE_forStatement); try { - setState(1672); + setState(1674); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,167,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,168,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1670); + setState(1672); basicForStatement(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1671); + setState(1673); enhancedForStatement(); } break; @@ -10129,20 +10137,20 @@ public class Java8Parser extends Parser { ForStatementNoShortIfContext _localctx = new ForStatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 306, RULE_forStatementNoShortIf); try { - setState(1676); + setState(1678); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,168,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,169,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1674); + setState(1676); basicForStatementNoShortIf(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1675); + setState(1677); enhancedForStatementNoShortIf(); } break; @@ -10193,44 +10201,44 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1678); + setState(1680); match(FOR); - setState(1679); - match(LPAREN); setState(1681); + match(LPAREN); + setState(1683); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1680); + setState(1682); forInit(); } } - setState(1683); - match(SEMI); setState(1685); + match(SEMI); + setState(1687); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1684); + setState(1686); expression(); } } - setState(1687); - match(SEMI); setState(1689); + match(SEMI); + setState(1691); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1688); + setState(1690); forUpdate(); } } - setState(1691); + setState(1693); match(RPAREN); - setState(1692); + setState(1694); statement(); } } @@ -10279,44 +10287,44 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1694); + setState(1696); match(FOR); - setState(1695); - match(LPAREN); setState(1697); + match(LPAREN); + setState(1699); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1696); + setState(1698); forInit(); } } - setState(1699); - match(SEMI); setState(1701); + match(SEMI); + setState(1703); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1700); + setState(1702); expression(); } } - setState(1703); - match(SEMI); setState(1705); + match(SEMI); + setState(1707); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1704); + setState(1706); forUpdate(); } } - setState(1707); + setState(1709); match(RPAREN); - setState(1708); + setState(1710); statementNoShortIf(); } } @@ -10356,20 +10364,20 @@ public class Java8Parser extends Parser { ForInitContext _localctx = new ForInitContext(_ctx, getState()); enterRule(_localctx, 312, RULE_forInit); try { - setState(1712); + setState(1714); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,175,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,176,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1710); + setState(1712); statementExpressionList(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1711); + setState(1713); localVariableDeclaration(); } break; @@ -10410,7 +10418,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1714); + setState(1716); statementExpressionList(); } } @@ -10453,21 +10461,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1716); + setState(1718); statementExpression(); - setState(1721); + setState(1723); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(1717); + setState(1719); match(COMMA); - setState(1718); + setState(1720); statementExpression(); } } - setState(1723); + setState(1725); _errHandler.sync(this); _la = _input.LA(1); } @@ -10524,35 +10532,35 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1724); + setState(1726); match(FOR); - setState(1725); + setState(1727); match(LPAREN); - setState(1729); + setState(1731); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1726); + setState(1728); variableModifier(); } } - setState(1731); + setState(1733); _errHandler.sync(this); _la = _input.LA(1); } - setState(1732); - unannType(); - setState(1733); - variableDeclaratorId(); setState(1734); - match(COLON); + unannType(); setState(1735); - expression(); + variableDeclaratorId(); setState(1736); - match(RPAREN); + match(COLON); setState(1737); + expression(); + setState(1738); + match(RPAREN); + setState(1739); statement(); } } @@ -10607,35 +10615,35 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1739); + setState(1741); match(FOR); - setState(1740); + setState(1742); match(LPAREN); - setState(1744); + setState(1746); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1741); + setState(1743); variableModifier(); } } - setState(1746); + setState(1748); _errHandler.sync(this); _la = _input.LA(1); } - setState(1747); - unannType(); - setState(1748); - variableDeclaratorId(); setState(1749); - match(COLON); + unannType(); setState(1750); - expression(); + variableDeclaratorId(); setState(1751); - match(RPAREN); + match(COLON); setState(1752); + expression(); + setState(1753); + match(RPAREN); + setState(1754); statementNoShortIf(); } } @@ -10673,18 +10681,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1754); - match(BREAK); setState(1756); + match(BREAK); + setState(1758); _la = _input.LA(1); if (_la==Identifier) { { - setState(1755); + setState(1757); match(Identifier); } } - setState(1758); + setState(1760); match(SEMI); } } @@ -10722,18 +10730,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1760); - match(CONTINUE); setState(1762); + match(CONTINUE); + setState(1764); _la = _input.LA(1); if (_la==Identifier) { { - setState(1761); + setState(1763); match(Identifier); } } - setState(1764); + setState(1766); match(SEMI); } } @@ -10773,18 +10781,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1766); - match(RETURN); setState(1768); + match(RETURN); + setState(1770); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1767); + setState(1769); expression(); } } - setState(1770); + setState(1772); match(SEMI); } } @@ -10823,11 +10831,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1772); - match(THROW); - setState(1773); - expression(); setState(1774); + match(THROW); + setState(1775); + expression(); + setState(1776); match(SEMI); } } @@ -10869,15 +10877,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1776); - match(SYNCHRONIZED); - setState(1777); - match(LPAREN); setState(1778); - expression(); + match(SYNCHRONIZED); setState(1779); - match(RPAREN); + match(LPAREN); setState(1780); + expression(); + setState(1781); + match(RPAREN); + setState(1782); block(); } } @@ -10924,44 +10932,44 @@ public class Java8Parser extends Parser { enterRule(_localctx, 332, RULE_tryStatement); int _la; try { - setState(1794); + setState(1796); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,183,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,184,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1782); - match(TRY); - setState(1783); - block(); setState(1784); + match(TRY); + setState(1785); + block(); + setState(1786); catches(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1786); + setState(1788); match(TRY); - setState(1787); - block(); setState(1789); + block(); + setState(1791); _la = _input.LA(1); if (_la==CATCH) { { - setState(1788); + setState(1790); catches(); } } - setState(1791); + setState(1793); finally_(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1793); + setState(1795); tryWithResourcesStatement(); } break; @@ -11006,19 +11014,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1796); + setState(1798); catchClause(); - setState(1800); + setState(1802); _errHandler.sync(this); _la = _input.LA(1); while (_la==CATCH) { { { - setState(1797); + setState(1799); catchClause(); } } - setState(1802); + setState(1804); _errHandler.sync(this); _la = _input.LA(1); } @@ -11062,15 +11070,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1803); - match(CATCH); - setState(1804); - match(LPAREN); setState(1805); - catchFormalParameter(); + match(CATCH); setState(1806); - match(RPAREN); + match(LPAREN); setState(1807); + catchFormalParameter(); + setState(1808); + match(RPAREN); + setState(1809); block(); } } @@ -11119,23 +11127,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1812); + setState(1814); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1809); + setState(1811); variableModifier(); } } - setState(1814); + setState(1816); _errHandler.sync(this); _la = _input.LA(1); } - setState(1815); + setState(1817); catchType(); - setState(1816); + setState(1818); variableDeclaratorId(); } } @@ -11181,21 +11189,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1818); + setState(1820); unannClassType(); - setState(1823); + setState(1825); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITOR) { { { - setState(1819); + setState(1821); match(BITOR); - setState(1820); + setState(1822); classType(); } } - setState(1825); + setState(1827); _errHandler.sync(this); _la = _input.LA(1); } @@ -11236,9 +11244,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1826); + setState(1828); match(FINALLY); - setState(1827); + setState(1829); block(); } } @@ -11287,26 +11295,26 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1829); - match(TRY); - setState(1830); - resourceSpecification(); setState(1831); - block(); + match(TRY); + setState(1832); + resourceSpecification(); setState(1833); + block(); + setState(1835); _la = _input.LA(1); if (_la==CATCH) { { - setState(1832); + setState(1834); catches(); } } - setState(1836); + setState(1838); _la = _input.LA(1); if (_la==FINALLY) { { - setState(1835); + setState(1837); finally_(); } } @@ -11349,20 +11357,20 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1838); + setState(1840); match(LPAREN); - setState(1839); - resourceList(); setState(1841); + resourceList(); + setState(1843); _la = _input.LA(1); if (_la==SEMI) { { - setState(1840); + setState(1842); match(SEMI); } } - setState(1843); + setState(1845); match(RPAREN); } } @@ -11405,25 +11413,25 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1845); + setState(1847); resource(); - setState(1850); + setState(1852); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,190,_ctx); + _alt = getInterpreter().adaptivePredict(_input,191,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1846); + setState(1848); match(SEMI); - setState(1847); + setState(1849); resource(); } } } - setState(1852); + setState(1854); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,190,_ctx); + _alt = getInterpreter().adaptivePredict(_input,191,_ctx); } } } @@ -11475,27 +11483,27 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1856); + setState(1858); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1853); + setState(1855); variableModifier(); } } - setState(1858); + setState(1860); _errHandler.sync(this); _la = _input.LA(1); } - setState(1859); - unannType(); - setState(1860); - variableDeclaratorId(); setState(1861); - match(ASSIGN); + unannType(); setState(1862); + variableDeclaratorId(); + setState(1863); + match(ASSIGN); + setState(1864); expression(); } } @@ -11544,37 +11552,37 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1866); + setState(1868); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,192,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,193,_ctx) ) { case 1: { - setState(1864); + setState(1866); primaryNoNewArray_lfno_primary(); } break; case 2: { - setState(1865); + setState(1867); arrayCreationExpression(); } break; } - setState(1871); + setState(1873); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,193,_ctx); + _alt = getInterpreter().adaptivePredict(_input,194,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1868); + setState(1870); primaryNoNewArray_lf_primary(); } } } - setState(1873); + setState(1875); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,193,_ctx); + _alt = getInterpreter().adaptivePredict(_input,194,_ctx); } } } @@ -11633,115 +11641,115 @@ public class Java8Parser extends Parser { enterRule(_localctx, 354, RULE_primaryNoNewArray); int _la; try { - setState(1903); + setState(1905); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,195,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,196,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1874); + setState(1876); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1875); + setState(1877); typeName(); - setState(1880); + setState(1882); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1876); + setState(1878); match(LBRACK); - setState(1877); + setState(1879); match(RBRACK); } } - setState(1882); + setState(1884); _errHandler.sync(this); _la = _input.LA(1); } - setState(1883); + setState(1885); match(DOT); - setState(1884); + setState(1886); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1886); - match(VOID); - setState(1887); - match(DOT); setState(1888); + match(VOID); + setState(1889); + match(DOT); + setState(1890); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1889); + setState(1891); match(THIS); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1890); - typeName(); - setState(1891); - match(DOT); setState(1892); + typeName(); + setState(1893); + match(DOT); + setState(1894); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1894); - match(LPAREN); - setState(1895); - expression(); setState(1896); + match(LPAREN); + setState(1897); + expression(); + setState(1898); match(RPAREN); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(1898); + setState(1900); classInstanceCreationExpression(); } break; case 8: enterOuterAlt(_localctx, 8); { - setState(1899); + setState(1901); fieldAccess(); } break; case 9: enterOuterAlt(_localctx, 9); { - setState(1900); + setState(1902); arrayAccess(); } break; case 10: enterOuterAlt(_localctx, 10); { - setState(1901); + setState(1903); methodInvocation(); } break; case 11: enterOuterAlt(_localctx, 11); { - setState(1902); + setState(1904); methodReference(); } break; @@ -11833,108 +11841,108 @@ public class Java8Parser extends Parser { enterRule(_localctx, 358, RULE_primaryNoNewArray_lfno_arrayAccess); int _la; try { - setState(1935); + setState(1937); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,197,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1907); + setState(1909); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1908); + setState(1910); typeName(); - setState(1913); + setState(1915); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1909); + setState(1911); match(LBRACK); - setState(1910); + setState(1912); match(RBRACK); } } - setState(1915); + setState(1917); _errHandler.sync(this); _la = _input.LA(1); } - setState(1916); + setState(1918); match(DOT); - setState(1917); + setState(1919); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1919); - match(VOID); - setState(1920); - match(DOT); setState(1921); + match(VOID); + setState(1922); + match(DOT); + setState(1923); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1922); + setState(1924); match(THIS); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1923); - typeName(); - setState(1924); - match(DOT); setState(1925); + typeName(); + setState(1926); + match(DOT); + setState(1927); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1927); - match(LPAREN); - setState(1928); - expression(); setState(1929); + match(LPAREN); + setState(1930); + expression(); + setState(1931); match(RPAREN); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(1931); + setState(1933); classInstanceCreationExpression(); } break; case 8: enterOuterAlt(_localctx, 8); { - setState(1932); + setState(1934); fieldAccess(); } break; case 9: enterOuterAlt(_localctx, 9); { - setState(1933); + setState(1935); methodInvocation(); } break; case 10: enterOuterAlt(_localctx, 10); { - setState(1934); + setState(1936); methodReference(); } break; @@ -11985,41 +11993,41 @@ public class Java8Parser extends Parser { PrimaryNoNewArray_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 360, RULE_primaryNoNewArray_lf_primary); try { - setState(1942); + setState(1944); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,199,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1937); + setState(1939); classInstanceCreationExpression_lf_primary(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1938); + setState(1940); fieldAccess_lf_primary(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1939); + setState(1941); arrayAccess_lf_primary(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1940); + setState(1942); methodInvocation_lf_primary(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1941); + setState(1943); methodReference_lf_primary(); } break; @@ -12101,34 +12109,34 @@ public class Java8Parser extends Parser { PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 364, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary); try { - setState(1950); + setState(1952); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,199,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,200,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1946); + setState(1948); classInstanceCreationExpression_lf_primary(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1947); + setState(1949); fieldAccess_lf_primary(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1948); + setState(1950); methodInvocation_lf_primary(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1949); + setState(1951); methodReference_lf_primary(); } break; @@ -12192,142 +12200,142 @@ public class Java8Parser extends Parser { enterRule(_localctx, 366, RULE_primaryNoNewArray_lfno_primary); int _la; try { - setState(1992); + setState(1994); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,202,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,203,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1952); + setState(1954); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1953); + setState(1955); typeName(); - setState(1958); + setState(1960); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1954); + setState(1956); match(LBRACK); - setState(1955); + setState(1957); match(RBRACK); } } - setState(1960); + setState(1962); _errHandler.sync(this); _la = _input.LA(1); } - setState(1961); + setState(1963); match(DOT); - setState(1962); + setState(1964); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1964); + setState(1966); unannPrimitiveType(); - setState(1969); + setState(1971); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1965); + setState(1967); match(LBRACK); - setState(1966); + setState(1968); match(RBRACK); } } - setState(1971); + setState(1973); _errHandler.sync(this); _la = _input.LA(1); } - setState(1972); + setState(1974); match(DOT); - setState(1973); + setState(1975); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1975); - match(VOID); - setState(1976); - match(DOT); setState(1977); + match(VOID); + setState(1978); + match(DOT); + setState(1979); match(CLASS); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1978); + setState(1980); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1979); - typeName(); - setState(1980); - match(DOT); setState(1981); + typeName(); + setState(1982); + match(DOT); + setState(1983); match(THIS); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(1983); - match(LPAREN); - setState(1984); - expression(); setState(1985); + match(LPAREN); + setState(1986); + expression(); + setState(1987); match(RPAREN); } break; case 8: enterOuterAlt(_localctx, 8); { - setState(1987); + setState(1989); classInstanceCreationExpression_lfno_primary(); } break; case 9: enterOuterAlt(_localctx, 9); { - setState(1988); + setState(1990); fieldAccess_lfno_primary(); } break; case 10: enterOuterAlt(_localctx, 10); { - setState(1989); + setState(1991); arrayAccess_lfno_primary(); } break; case 11: enterOuterAlt(_localctx, 11); { - setState(1990); + setState(1992); methodInvocation_lfno_primary(); } break; case 12: enterOuterAlt(_localctx, 12); { - setState(1991); + setState(1993); methodReference_lfno_primary(); } break; @@ -12422,135 +12430,135 @@ public class Java8Parser extends Parser { enterRule(_localctx, 370, RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary); int _la; try { - setState(2035); + setState(2037); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,205,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,206,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1996); + setState(1998); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1997); + setState(1999); typeName(); - setState(2002); + setState(2004); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1998); + setState(2000); match(LBRACK); - setState(1999); + setState(2001); match(RBRACK); } } - setState(2004); + setState(2006); _errHandler.sync(this); _la = _input.LA(1); } - setState(2005); + setState(2007); match(DOT); - setState(2006); + setState(2008); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2008); + setState(2010); unannPrimitiveType(); - setState(2013); + setState(2015); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(2009); + setState(2011); match(LBRACK); - setState(2010); + setState(2012); match(RBRACK); } } - setState(2015); + setState(2017); _errHandler.sync(this); _la = _input.LA(1); } - setState(2016); + setState(2018); match(DOT); - setState(2017); + setState(2019); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2019); - match(VOID); - setState(2020); - match(DOT); setState(2021); + match(VOID); + setState(2022); + match(DOT); + setState(2023); match(CLASS); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2022); + setState(2024); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(2023); - typeName(); - setState(2024); - match(DOT); setState(2025); + typeName(); + setState(2026); + match(DOT); + setState(2027); match(THIS); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(2027); - match(LPAREN); - setState(2028); - expression(); setState(2029); + match(LPAREN); + setState(2030); + expression(); + setState(2031); match(RPAREN); } break; case 8: enterOuterAlt(_localctx, 8); { - setState(2031); + setState(2033); classInstanceCreationExpression_lfno_primary(); } break; case 9: enterOuterAlt(_localctx, 9); { - setState(2032); + setState(2034); fieldAccess_lfno_primary(); } break; case 10: enterOuterAlt(_localctx, 10); { - setState(2033); + setState(2035); methodInvocation_lfno_primary(); } break; case 11: enterOuterAlt(_localctx, 11); { - setState(2034); + setState(2036); methodReference_lfno_primary(); } break; @@ -12615,96 +12623,96 @@ public class Java8Parser extends Parser { enterRule(_localctx, 372, RULE_classInstanceCreationExpression); int _la; try { - setState(2120); + setState(2122); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,223,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,224,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2037); - match(NEW); setState(2039); + match(NEW); + setState(2041); _la = _input.LA(1); if (_la==LT) { { - setState(2038); + setState(2040); typeArguments(); } } - setState(2044); + setState(2046); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2041); + setState(2043); annotation(); } } - setState(2046); + setState(2048); _errHandler.sync(this); _la = _input.LA(1); } - setState(2047); + setState(2049); match(Identifier); - setState(2058); + setState(2060); _errHandler.sync(this); _la = _input.LA(1); while (_la==DOT) { { { - setState(2048); + setState(2050); match(DOT); - setState(2052); + setState(2054); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2049); + setState(2051); annotation(); } } - setState(2054); + setState(2056); _errHandler.sync(this); _la = _input.LA(1); } - setState(2055); + setState(2057); match(Identifier); } } - setState(2060); + setState(2062); _errHandler.sync(this); _la = _input.LA(1); } - setState(2062); + setState(2064); _la = _input.LA(1); if (_la==LT) { { - setState(2061); + setState(2063); typeArgumentsOrDiamond(); } } - setState(2064); - match(LPAREN); setState(2066); + match(LPAREN); + setState(2068); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2065); + setState(2067); argumentList(); } } - setState(2068); - match(RPAREN); setState(2070); + match(RPAREN); + setState(2072); _la = _input.LA(1); if (_la==LBRACE) { { - setState(2069); + setState(2071); classBody(); } } @@ -12714,64 +12722,64 @@ public class Java8Parser extends Parser { case 2: enterOuterAlt(_localctx, 2); { - setState(2072); - expressionName(); - setState(2073); - match(DOT); setState(2074); - match(NEW); + expressionName(); + setState(2075); + match(DOT); setState(2076); + match(NEW); + setState(2078); _la = _input.LA(1); if (_la==LT) { { - setState(2075); + setState(2077); typeArguments(); } } - setState(2081); + setState(2083); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2078); + setState(2080); annotation(); } } - setState(2083); + setState(2085); _errHandler.sync(this); _la = _input.LA(1); } - setState(2084); - match(Identifier); setState(2086); + match(Identifier); + setState(2088); _la = _input.LA(1); if (_la==LT) { { - setState(2085); + setState(2087); typeArgumentsOrDiamond(); } } - setState(2088); - match(LPAREN); setState(2090); + match(LPAREN); + setState(2092); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2089); + setState(2091); argumentList(); } } - setState(2092); - match(RPAREN); setState(2094); + match(RPAREN); + setState(2096); _la = _input.LA(1); if (_la==LBRACE) { { - setState(2093); + setState(2095); classBody(); } } @@ -12781,64 +12789,64 @@ public class Java8Parser extends Parser { case 3: enterOuterAlt(_localctx, 3); { - setState(2096); - primary(); - setState(2097); - match(DOT); setState(2098); - match(NEW); + primary(); + setState(2099); + match(DOT); setState(2100); + match(NEW); + setState(2102); _la = _input.LA(1); if (_la==LT) { { - setState(2099); + setState(2101); typeArguments(); } } - setState(2105); + setState(2107); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2102); + setState(2104); annotation(); } } - setState(2107); + setState(2109); _errHandler.sync(this); _la = _input.LA(1); } - setState(2108); - match(Identifier); setState(2110); + match(Identifier); + setState(2112); _la = _input.LA(1); if (_la==LT) { { - setState(2109); + setState(2111); typeArgumentsOrDiamond(); } } - setState(2112); - match(LPAREN); setState(2114); + match(LPAREN); + setState(2116); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2113); + setState(2115); argumentList(); } } - setState(2116); - match(RPAREN); setState(2118); + match(RPAREN); + setState(2120); _la = _input.LA(1); if (_la==LBRACE) { { - setState(2117); + setState(2119); classBody(); } } @@ -12899,63 +12907,63 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2122); + setState(2124); match(DOT); - setState(2123); - match(NEW); setState(2125); + match(NEW); + setState(2127); _la = _input.LA(1); if (_la==LT) { { - setState(2124); + setState(2126); typeArguments(); } } - setState(2130); + setState(2132); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2127); + setState(2129); annotation(); } } - setState(2132); + setState(2134); _errHandler.sync(this); _la = _input.LA(1); } - setState(2133); - match(Identifier); setState(2135); + match(Identifier); + setState(2137); _la = _input.LA(1); if (_la==LT) { { - setState(2134); + setState(2136); typeArgumentsOrDiamond(); } } - setState(2137); - match(LPAREN); setState(2139); + match(LPAREN); + setState(2141); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2138); + setState(2140); argumentList(); } } - setState(2141); - match(RPAREN); setState(2143); + match(RPAREN); + setState(2145); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,228,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,229,_ctx) ) { case 1: { - setState(2142); + setState(2144); classBody(); } break; @@ -13018,96 +13026,96 @@ public class Java8Parser extends Parser { enterRule(_localctx, 376, RULE_classInstanceCreationExpression_lfno_primary); int _la; try { - setState(2204); + setState(2206); switch (_input.LA(1)) { case NEW: enterOuterAlt(_localctx, 1); { - setState(2145); - match(NEW); setState(2147); + match(NEW); + setState(2149); _la = _input.LA(1); if (_la==LT) { { - setState(2146); + setState(2148); typeArguments(); } } - setState(2152); + setState(2154); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2149); + setState(2151); annotation(); } } - setState(2154); + setState(2156); _errHandler.sync(this); _la = _input.LA(1); } - setState(2155); + setState(2157); match(Identifier); - setState(2166); + setState(2168); _errHandler.sync(this); _la = _input.LA(1); while (_la==DOT) { { { - setState(2156); + setState(2158); match(DOT); - setState(2160); + setState(2162); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2157); + setState(2159); annotation(); } } - setState(2162); + setState(2164); _errHandler.sync(this); _la = _input.LA(1); } - setState(2163); + setState(2165); match(Identifier); } } - setState(2168); + setState(2170); _errHandler.sync(this); _la = _input.LA(1); } - setState(2170); + setState(2172); _la = _input.LA(1); if (_la==LT) { { - setState(2169); + setState(2171); typeArgumentsOrDiamond(); } } - setState(2172); - match(LPAREN); setState(2174); + match(LPAREN); + setState(2176); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2173); + setState(2175); argumentList(); } } - setState(2176); - match(RPAREN); setState(2178); + match(RPAREN); + setState(2180); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,235,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,236,_ctx) ) { case 1: { - setState(2177); + setState(2179); classBody(); } break; @@ -13117,65 +13125,65 @@ public class Java8Parser extends Parser { case Identifier: enterOuterAlt(_localctx, 2); { - setState(2180); - expressionName(); - setState(2181); - match(DOT); setState(2182); - match(NEW); + expressionName(); + setState(2183); + match(DOT); setState(2184); + match(NEW); + setState(2186); _la = _input.LA(1); if (_la==LT) { { - setState(2183); + setState(2185); typeArguments(); } } - setState(2189); + setState(2191); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2186); + setState(2188); annotation(); } } - setState(2191); + setState(2193); _errHandler.sync(this); _la = _input.LA(1); } - setState(2192); - match(Identifier); setState(2194); + match(Identifier); + setState(2196); _la = _input.LA(1); if (_la==LT) { { - setState(2193); + setState(2195); typeArgumentsOrDiamond(); } } - setState(2196); - match(LPAREN); setState(2198); + match(LPAREN); + setState(2200); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2197); + setState(2199); argumentList(); } } - setState(2200); - match(RPAREN); setState(2202); + match(RPAREN); + setState(2204); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,240,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,241,_ctx) ) { case 1: { - setState(2201); + setState(2203); classBody(); } break; @@ -13219,22 +13227,22 @@ public class Java8Parser extends Parser { TypeArgumentsOrDiamondContext _localctx = new TypeArgumentsOrDiamondContext(_ctx, getState()); enterRule(_localctx, 378, RULE_typeArgumentsOrDiamond); try { - setState(2209); + setState(2211); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,242,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,243,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2206); + setState(2208); typeArguments(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2207); + setState(2209); match(LT); - setState(2208); + setState(2210); match(GT); } break; @@ -13277,43 +13285,43 @@ public class Java8Parser extends Parser { FieldAccessContext _localctx = new FieldAccessContext(_ctx, getState()); enterRule(_localctx, 380, RULE_fieldAccess); try { - setState(2224); + setState(2226); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,243,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,244,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2211); - primary(); - setState(2212); - match(DOT); setState(2213); + primary(); + setState(2214); + match(DOT); + setState(2215); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2215); - match(SUPER); - setState(2216); - match(DOT); setState(2217); + match(SUPER); + setState(2218); + match(DOT); + setState(2219); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2218); - typeName(); - setState(2219); - match(DOT); setState(2220); - match(SUPER); + typeName(); setState(2221); match(DOT); setState(2222); + match(SUPER); + setState(2223); + match(DOT); + setState(2224); match(Identifier); } break; @@ -13352,9 +13360,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2226); + setState(2228); match(DOT); - setState(2227); + setState(2229); match(Identifier); } } @@ -13392,31 +13400,31 @@ public class Java8Parser extends Parser { FieldAccess_lfno_primaryContext _localctx = new FieldAccess_lfno_primaryContext(_ctx, getState()); enterRule(_localctx, 384, RULE_fieldAccess_lfno_primary); try { - setState(2238); + setState(2240); switch (_input.LA(1)) { case SUPER: enterOuterAlt(_localctx, 1); { - setState(2229); - match(SUPER); - setState(2230); - match(DOT); setState(2231); + match(SUPER); + setState(2232); + match(DOT); + setState(2233); match(Identifier); } break; case Identifier: enterOuterAlt(_localctx, 2); { - setState(2232); - typeName(); - setState(2233); - match(DOT); setState(2234); - match(SUPER); + typeName(); setState(2235); match(DOT); setState(2236); + match(SUPER); + setState(2237); + match(DOT); + setState(2238); match(Identifier); } break; @@ -13475,51 +13483,51 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2250); + setState(2252); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,245,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,246,_ctx) ) { case 1: { - setState(2240); - expressionName(); - setState(2241); - match(LBRACK); setState(2242); - expression(); + expressionName(); setState(2243); + match(LBRACK); + setState(2244); + expression(); + setState(2245); match(RBRACK); } break; case 2: { - setState(2245); - primaryNoNewArray_lfno_arrayAccess(); - setState(2246); - match(LBRACK); setState(2247); - expression(); + primaryNoNewArray_lfno_arrayAccess(); setState(2248); + match(LBRACK); + setState(2249); + expression(); + setState(2250); match(RBRACK); } break; } - setState(2259); + setState(2261); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(2252); - primaryNoNewArray_lf_arrayAccess(); - setState(2253); - match(LBRACK); setState(2254); - expression(); + primaryNoNewArray_lf_arrayAccess(); setState(2255); + match(LBRACK); + setState(2256); + expression(); + setState(2257); match(RBRACK); } } - setState(2261); + setState(2263); _errHandler.sync(this); _la = _input.LA(1); } @@ -13574,36 +13582,36 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2262); - primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); - setState(2263); - match(LBRACK); setState(2264); - expression(); + primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); setState(2265); + match(LBRACK); + setState(2266); + expression(); + setState(2267); match(RBRACK); } - setState(2274); + setState(2276); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,247,_ctx); + _alt = getInterpreter().adaptivePredict(_input,248,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(2267); - primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); - setState(2268); - match(LBRACK); setState(2269); - expression(); + primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); setState(2270); + match(LBRACK); + setState(2271); + expression(); + setState(2272); match(RBRACK); } } } - setState(2276); + setState(2278); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,247,_ctx); + _alt = getInterpreter().adaptivePredict(_input,248,_ctx); } } } @@ -13658,55 +13666,55 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(2287); + setState(2289); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,248,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,249,_ctx) ) { case 1: { - setState(2277); - expressionName(); - setState(2278); - match(LBRACK); setState(2279); - expression(); + expressionName(); setState(2280); + match(LBRACK); + setState(2281); + expression(); + setState(2282); match(RBRACK); } break; case 2: { - setState(2282); - primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); - setState(2283); - match(LBRACK); setState(2284); - expression(); + primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); setState(2285); + match(LBRACK); + setState(2286); + expression(); + setState(2287); match(RBRACK); } break; } - setState(2296); + setState(2298); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,249,_ctx); + _alt = getInterpreter().adaptivePredict(_input,250,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(2289); - primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); - setState(2290); - match(LBRACK); setState(2291); - expression(); + primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); setState(2292); + match(LBRACK); + setState(2293); + expression(); + setState(2294); match(RBRACK); } } } - setState(2298); + setState(2300); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,249,_ctx); + _alt = getInterpreter().adaptivePredict(_input,250,_ctx); } } } @@ -13760,195 +13768,195 @@ public class Java8Parser extends Parser { enterRule(_localctx, 392, RULE_methodInvocation); int _la; try { - setState(2367); + setState(2369); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,261,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,262,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2299); + setState(2301); methodName(); - setState(2300); - match(LPAREN); setState(2302); + match(LPAREN); + setState(2304); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2301); + setState(2303); argumentList(); } } - setState(2304); + setState(2306); match(RPAREN); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2306); + setState(2308); typeName(); - setState(2307); - match(DOT); setState(2309); + match(DOT); + setState(2311); _la = _input.LA(1); if (_la==LT) { { - setState(2308); + setState(2310); typeArguments(); } } - setState(2311); + setState(2313); match(Identifier); - setState(2312); - match(LPAREN); setState(2314); + match(LPAREN); + setState(2316); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2313); + setState(2315); argumentList(); } } - setState(2316); + setState(2318); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2318); + setState(2320); expressionName(); - setState(2319); - match(DOT); setState(2321); + match(DOT); + setState(2323); _la = _input.LA(1); if (_la==LT) { { - setState(2320); + setState(2322); typeArguments(); } } - setState(2323); + setState(2325); match(Identifier); - setState(2324); - match(LPAREN); setState(2326); + match(LPAREN); + setState(2328); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2325); + setState(2327); argumentList(); } } - setState(2328); + setState(2330); match(RPAREN); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2330); + setState(2332); primary(); - setState(2331); - match(DOT); setState(2333); + match(DOT); + setState(2335); _la = _input.LA(1); if (_la==LT) { { - setState(2332); + setState(2334); typeArguments(); } } - setState(2335); + setState(2337); match(Identifier); - setState(2336); - match(LPAREN); setState(2338); + match(LPAREN); + setState(2340); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2337); + setState(2339); argumentList(); } } - setState(2340); + setState(2342); match(RPAREN); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2342); + setState(2344); match(SUPER); - setState(2343); - match(DOT); setState(2345); + match(DOT); + setState(2347); _la = _input.LA(1); if (_la==LT) { { - setState(2344); + setState(2346); typeArguments(); } } - setState(2347); + setState(2349); match(Identifier); - setState(2348); - match(LPAREN); setState(2350); + match(LPAREN); + setState(2352); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2349); + setState(2351); argumentList(); } } - setState(2352); + setState(2354); match(RPAREN); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(2353); - typeName(); - setState(2354); - match(DOT); setState(2355); - match(SUPER); + typeName(); setState(2356); match(DOT); + setState(2357); + match(SUPER); setState(2358); + match(DOT); + setState(2360); _la = _input.LA(1); if (_la==LT) { { - setState(2357); + setState(2359); typeArguments(); } } - setState(2360); + setState(2362); match(Identifier); - setState(2361); - match(LPAREN); setState(2363); + match(LPAREN); + setState(2365); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2362); + setState(2364); argumentList(); } } - setState(2365); + setState(2367); match(RPAREN); } break; @@ -13994,31 +14002,31 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2369); - match(DOT); setState(2371); + match(DOT); + setState(2373); _la = _input.LA(1); if (_la==LT) { { - setState(2370); + setState(2372); typeArguments(); } } - setState(2373); + setState(2375); match(Identifier); - setState(2374); - match(LPAREN); setState(2376); + match(LPAREN); + setState(2378); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2375); + setState(2377); argumentList(); } } - setState(2378); + setState(2380); match(RPAREN); } } @@ -14069,162 +14077,162 @@ public class Java8Parser extends Parser { enterRule(_localctx, 396, RULE_methodInvocation_lfno_primary); int _la; try { - setState(2436); + setState(2438); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,273,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,274,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2380); + setState(2382); methodName(); - setState(2381); - match(LPAREN); setState(2383); + match(LPAREN); + setState(2385); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2382); + setState(2384); argumentList(); } } - setState(2385); + setState(2387); match(RPAREN); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2387); + setState(2389); typeName(); - setState(2388); - match(DOT); setState(2390); + match(DOT); + setState(2392); _la = _input.LA(1); if (_la==LT) { { - setState(2389); + setState(2391); typeArguments(); } } - setState(2392); + setState(2394); match(Identifier); - setState(2393); - match(LPAREN); setState(2395); + match(LPAREN); + setState(2397); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2394); + setState(2396); argumentList(); } } - setState(2397); + setState(2399); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2399); + setState(2401); expressionName(); - setState(2400); - match(DOT); setState(2402); + match(DOT); + setState(2404); _la = _input.LA(1); if (_la==LT) { { - setState(2401); + setState(2403); typeArguments(); } } - setState(2404); + setState(2406); match(Identifier); - setState(2405); - match(LPAREN); setState(2407); + match(LPAREN); + setState(2409); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2406); + setState(2408); argumentList(); } } - setState(2409); + setState(2411); match(RPAREN); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2411); + setState(2413); match(SUPER); - setState(2412); - match(DOT); setState(2414); + match(DOT); + setState(2416); _la = _input.LA(1); if (_la==LT) { { - setState(2413); + setState(2415); typeArguments(); } } - setState(2416); + setState(2418); match(Identifier); - setState(2417); - match(LPAREN); setState(2419); + match(LPAREN); + setState(2421); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2418); + setState(2420); argumentList(); } } - setState(2421); + setState(2423); match(RPAREN); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2422); - typeName(); - setState(2423); - match(DOT); setState(2424); - match(SUPER); + typeName(); setState(2425); match(DOT); + setState(2426); + match(SUPER); setState(2427); + match(DOT); + setState(2429); _la = _input.LA(1); if (_la==LT) { { - setState(2426); + setState(2428); typeArguments(); } } - setState(2429); + setState(2431); match(Identifier); - setState(2430); - match(LPAREN); setState(2432); + match(LPAREN); + setState(2434); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2431); + setState(2433); argumentList(); } } - setState(2434); + setState(2436); match(RPAREN); } break; @@ -14269,21 +14277,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2438); + setState(2440); expression(); - setState(2443); + setState(2445); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(2439); + setState(2441); match(COMMA); - setState(2440); + setState(2442); expression(); } } - setState(2445); + setState(2447); _errHandler.sync(this); _la = _input.LA(1); } @@ -14342,141 +14350,141 @@ public class Java8Parser extends Parser { enterRule(_localctx, 400, RULE_methodReference); int _la; try { - setState(2493); + setState(2495); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,281,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,282,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2446); + setState(2448); expressionName(); - setState(2447); - match(COLONCOLON); setState(2449); + match(COLONCOLON); + setState(2451); _la = _input.LA(1); if (_la==LT) { { - setState(2448); + setState(2450); typeArguments(); } } - setState(2451); + setState(2453); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2453); + setState(2455); referenceType(); - setState(2454); - match(COLONCOLON); setState(2456); + match(COLONCOLON); + setState(2458); _la = _input.LA(1); if (_la==LT) { { - setState(2455); + setState(2457); typeArguments(); } } - setState(2458); + setState(2460); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2460); + setState(2462); primary(); - setState(2461); - match(COLONCOLON); setState(2463); + match(COLONCOLON); + setState(2465); _la = _input.LA(1); if (_la==LT) { { - setState(2462); + setState(2464); typeArguments(); } } - setState(2465); + setState(2467); match(Identifier); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2467); + setState(2469); match(SUPER); - setState(2468); - match(COLONCOLON); setState(2470); + match(COLONCOLON); + setState(2472); _la = _input.LA(1); if (_la==LT) { { - setState(2469); + setState(2471); typeArguments(); } } - setState(2472); + setState(2474); match(Identifier); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2473); - typeName(); - setState(2474); - match(DOT); setState(2475); - match(SUPER); + typeName(); setState(2476); - match(COLONCOLON); + match(DOT); + setState(2477); + match(SUPER); setState(2478); + match(COLONCOLON); + setState(2480); _la = _input.LA(1); if (_la==LT) { { - setState(2477); + setState(2479); typeArguments(); } } - setState(2480); + setState(2482); match(Identifier); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(2482); + setState(2484); classType(); - setState(2483); - match(COLONCOLON); setState(2485); + match(COLONCOLON); + setState(2487); _la = _input.LA(1); if (_la==LT) { { - setState(2484); + setState(2486); typeArguments(); } } - setState(2487); + setState(2489); match(NEW); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(2489); - arrayType(); - setState(2490); - match(COLONCOLON); setState(2491); + arrayType(); + setState(2492); + match(COLONCOLON); + setState(2493); match(NEW); } break; @@ -14519,18 +14527,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2495); - match(COLONCOLON); setState(2497); + match(COLONCOLON); + setState(2499); _la = _input.LA(1); if (_la==LT) { { - setState(2496); + setState(2498); typeArguments(); } } - setState(2499); + setState(2501); match(Identifier); } } @@ -14584,121 +14592,121 @@ public class Java8Parser extends Parser { enterRule(_localctx, 404, RULE_methodReference_lfno_primary); int _la; try { - setState(2541); + setState(2543); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,288,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,289,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2501); + setState(2503); expressionName(); - setState(2502); - match(COLONCOLON); setState(2504); + match(COLONCOLON); + setState(2506); _la = _input.LA(1); if (_la==LT) { { - setState(2503); + setState(2505); typeArguments(); } } - setState(2506); + setState(2508); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2508); + setState(2510); referenceType(); - setState(2509); - match(COLONCOLON); setState(2511); + match(COLONCOLON); + setState(2513); _la = _input.LA(1); if (_la==LT) { { - setState(2510); + setState(2512); typeArguments(); } } - setState(2513); + setState(2515); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2515); + setState(2517); match(SUPER); - setState(2516); - match(COLONCOLON); setState(2518); + match(COLONCOLON); + setState(2520); _la = _input.LA(1); if (_la==LT) { { - setState(2517); + setState(2519); typeArguments(); } } - setState(2520); + setState(2522); match(Identifier); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2521); - typeName(); - setState(2522); - match(DOT); setState(2523); - match(SUPER); + typeName(); setState(2524); - match(COLONCOLON); + match(DOT); + setState(2525); + match(SUPER); setState(2526); + match(COLONCOLON); + setState(2528); _la = _input.LA(1); if (_la==LT) { { - setState(2525); + setState(2527); typeArguments(); } } - setState(2528); + setState(2530); match(Identifier); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2530); + setState(2532); classType(); - setState(2531); - match(COLONCOLON); setState(2533); + match(COLONCOLON); + setState(2535); _la = _input.LA(1); if (_la==LT) { { - setState(2532); + setState(2534); typeArguments(); } } - setState(2535); + setState(2537); match(NEW); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(2537); - arrayType(); - setState(2538); - match(COLONCOLON); setState(2539); + arrayType(); + setState(2540); + match(COLONCOLON); + setState(2541); match(NEW); } break; @@ -14749,24 +14757,24 @@ public class Java8Parser extends Parser { ArrayCreationExpressionContext _localctx = new ArrayCreationExpressionContext(_ctx, getState()); enterRule(_localctx, 406, RULE_arrayCreationExpression); try { - setState(2565); + setState(2567); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,292,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2543); - match(NEW); - setState(2544); - primitiveType(); setState(2545); - dimExprs(); + match(NEW); + setState(2546); + primitiveType(); setState(2547); + dimExprs(); + setState(2549); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,289,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) { case 1: { - setState(2546); + setState(2548); dims(); } break; @@ -14776,18 +14784,18 @@ public class Java8Parser extends Parser { case 2: enterOuterAlt(_localctx, 2); { - setState(2549); - match(NEW); - setState(2550); - classOrInterfaceType(); setState(2551); - dimExprs(); + match(NEW); + setState(2552); + classOrInterfaceType(); setState(2553); + dimExprs(); + setState(2555); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) { case 1: { - setState(2552); + setState(2554); dims(); } break; @@ -14797,26 +14805,26 @@ public class Java8Parser extends Parser { case 3: enterOuterAlt(_localctx, 3); { - setState(2555); - match(NEW); - setState(2556); - primitiveType(); setState(2557); - dims(); + match(NEW); setState(2558); + primitiveType(); + setState(2559); + dims(); + setState(2560); arrayInitializer(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2560); - match(NEW); - setState(2561); - classOrInterfaceType(); setState(2562); - dims(); + match(NEW); setState(2563); + classOrInterfaceType(); + setState(2564); + dims(); + setState(2565); arrayInitializer(); } break; @@ -14861,23 +14869,23 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(2567); + setState(2569); dimExpr(); - setState(2571); + setState(2573); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,292,_ctx); + _alt = getInterpreter().adaptivePredict(_input,293,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(2568); + setState(2570); dimExpr(); } } } - setState(2573); + setState(2575); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,292,_ctx); + _alt = getInterpreter().adaptivePredict(_input,293,_ctx); } } } @@ -14923,25 +14931,25 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2577); + setState(2579); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2574); + setState(2576); annotation(); } } - setState(2579); + setState(2581); _errHandler.sync(this); _la = _input.LA(1); } - setState(2580); - match(LBRACK); - setState(2581); - expression(); setState(2582); + match(LBRACK); + setState(2583); + expression(); + setState(2584); match(RBRACK); } } @@ -14980,7 +14988,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2584); + setState(2586); expression(); } } @@ -15020,20 +15028,20 @@ public class Java8Parser extends Parser { ExpressionContext _localctx = new ExpressionContext(_ctx, getState()); enterRule(_localctx, 414, RULE_expression); try { - setState(2588); + setState(2590); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,294,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2586); + setState(2588); lambdaExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2587); + setState(2589); assignmentExpression(); } break; @@ -15077,11 +15085,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2590); - lambdaParameters(); - setState(2591); - match(ARROW); setState(2592); + lambdaParameters(); + setState(2593); + match(ARROW); + setState(2594); lambdaBody(); } } @@ -15123,42 +15131,42 @@ public class Java8Parser extends Parser { enterRule(_localctx, 418, RULE_lambdaParameters); int _la; try { - setState(2604); + setState(2606); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,296,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,297,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2594); + setState(2596); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2595); - match(LPAREN); setState(2597); + match(LPAREN); + setState(2599); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { { - setState(2596); + setState(2598); formalParameterList(); } } - setState(2599); + setState(2601); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2600); - match(LPAREN); - setState(2601); - inferredFormalParameterList(); setState(2602); + match(LPAREN); + setState(2603); + inferredFormalParameterList(); + setState(2604); match(RPAREN); } break; @@ -15201,21 +15209,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2606); + setState(2608); match(Identifier); - setState(2611); + setState(2613); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(2607); + setState(2609); match(COMMA); - setState(2608); + setState(2610); match(Identifier); } } - setState(2613); + setState(2615); _errHandler.sync(this); _la = _input.LA(1); } @@ -15257,7 +15265,7 @@ public class Java8Parser extends Parser { LambdaBodyContext _localctx = new LambdaBodyContext(_ctx, getState()); enterRule(_localctx, 422, RULE_lambdaBody); try { - setState(2616); + setState(2618); switch (_input.LA(1)) { case BOOLEAN: case BYTE: @@ -15288,14 +15296,14 @@ public class Java8Parser extends Parser { case AT: enterOuterAlt(_localctx, 1); { - setState(2614); + setState(2616); expression(); } break; case LBRACE: enterOuterAlt(_localctx, 2); { - setState(2615); + setState(2617); block(); } break; @@ -15339,20 +15347,20 @@ public class Java8Parser extends Parser { AssignmentExpressionContext _localctx = new AssignmentExpressionContext(_ctx, getState()); enterRule(_localctx, 424, RULE_assignmentExpression); try { - setState(2620); + setState(2622); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,299,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2618); + setState(2620); conditionalExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2619); + setState(2621); assignment(); } break; @@ -15399,11 +15407,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2622); - leftHandSide(); - setState(2623); - assignmentOperator(); setState(2624); + leftHandSide(); + setState(2625); + assignmentOperator(); + setState(2626); expression(); } } @@ -15446,27 +15454,27 @@ public class Java8Parser extends Parser { LeftHandSideContext _localctx = new LeftHandSideContext(_ctx, getState()); enterRule(_localctx, 428, RULE_leftHandSide); try { - setState(2629); + setState(2631); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2626); + setState(2628); expressionName(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2627); + setState(2629); fieldAccess(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2628); + setState(2630); arrayAccess(); } break; @@ -15505,7 +15513,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2631); + setState(2633); _la = _input.LA(1); if ( !(((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (ASSIGN - 66)) | (1L << (ADD_ASSIGN - 66)) | (1L << (SUB_ASSIGN - 66)) | (1L << (MUL_ASSIGN - 66)) | (1L << (DIV_ASSIGN - 66)) | (1L << (AND_ASSIGN - 66)) | (1L << (OR_ASSIGN - 66)) | (1L << (XOR_ASSIGN - 66)) | (1L << (MOD_ASSIGN - 66)) | (1L << (LSHIFT_ASSIGN - 66)) | (1L << (RSHIFT_ASSIGN - 66)) | (1L << (URSHIFT_ASSIGN - 66)))) != 0)) ) { _errHandler.recoverInline(this); @@ -15553,28 +15561,28 @@ public class Java8Parser extends Parser { ConditionalExpressionContext _localctx = new ConditionalExpressionContext(_ctx, getState()); enterRule(_localctx, 432, RULE_conditionalExpression); try { - setState(2640); + setState(2642); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,302,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2633); + setState(2635); conditionalOrExpression(0); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2634); - conditionalOrExpression(0); - setState(2635); - match(QUESTION); setState(2636); - expression(); + conditionalOrExpression(0); setState(2637); - match(COLON); + match(QUESTION); setState(2638); + expression(); + setState(2639); + match(COLON); + setState(2640); conditionalExpression(); } break; @@ -15628,13 +15636,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2643); + setState(2645); conditionalAndExpression(0); } _ctx.stop = _input.LT(-1); - setState(2650); + setState(2652); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,302,_ctx); + _alt = getInterpreter().adaptivePredict(_input,303,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15643,18 +15651,18 @@ public class Java8Parser extends Parser { { _localctx = new ConditionalOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_conditionalOrExpression); - setState(2645); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2646); - match(OR); setState(2647); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2648); + match(OR); + setState(2649); conditionalAndExpression(0); } } } - setState(2652); + setState(2654); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,302,_ctx); + _alt = getInterpreter().adaptivePredict(_input,303,_ctx); } } } @@ -15706,13 +15714,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2654); + setState(2656); inclusiveOrExpression(0); } _ctx.stop = _input.LT(-1); - setState(2661); + setState(2663); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,303,_ctx); + _alt = getInterpreter().adaptivePredict(_input,304,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15721,18 +15729,18 @@ public class Java8Parser extends Parser { { _localctx = new ConditionalAndExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_conditionalAndExpression); - setState(2656); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2657); - match(AND); setState(2658); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2659); + match(AND); + setState(2660); inclusiveOrExpression(0); } } } - setState(2663); + setState(2665); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,303,_ctx); + _alt = getInterpreter().adaptivePredict(_input,304,_ctx); } } } @@ -15784,13 +15792,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2665); + setState(2667); exclusiveOrExpression(0); } _ctx.stop = _input.LT(-1); - setState(2672); + setState(2674); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,304,_ctx); + _alt = getInterpreter().adaptivePredict(_input,305,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15799,18 +15807,18 @@ public class Java8Parser extends Parser { { _localctx = new InclusiveOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_inclusiveOrExpression); - setState(2667); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2668); - match(BITOR); setState(2669); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2670); + match(BITOR); + setState(2671); exclusiveOrExpression(0); } } } - setState(2674); + setState(2676); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,304,_ctx); + _alt = getInterpreter().adaptivePredict(_input,305,_ctx); } } } @@ -15862,13 +15870,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2676); + setState(2678); andExpression(0); } _ctx.stop = _input.LT(-1); - setState(2683); + setState(2685); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,305,_ctx); + _alt = getInterpreter().adaptivePredict(_input,306,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15877,18 +15885,18 @@ public class Java8Parser extends Parser { { _localctx = new ExclusiveOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_exclusiveOrExpression); - setState(2678); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2679); - match(CARET); setState(2680); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2681); + match(CARET); + setState(2682); andExpression(0); } } } - setState(2685); + setState(2687); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,305,_ctx); + _alt = getInterpreter().adaptivePredict(_input,306,_ctx); } } } @@ -15940,13 +15948,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2687); + setState(2689); equalityExpression(0); } _ctx.stop = _input.LT(-1); - setState(2694); + setState(2696); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,306,_ctx); + _alt = getInterpreter().adaptivePredict(_input,307,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15955,18 +15963,18 @@ public class Java8Parser extends Parser { { _localctx = new AndExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_andExpression); - setState(2689); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2690); - match(BITAND); setState(2691); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2692); + match(BITAND); + setState(2693); equalityExpression(0); } } } - setState(2696); + setState(2698); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,306,_ctx); + _alt = getInterpreter().adaptivePredict(_input,307,_ctx); } } } @@ -16018,30 +16026,30 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2698); + setState(2700); relationalExpression(0); } _ctx.stop = _input.LT(-1); - setState(2708); + setState(2710); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,308,_ctx); + _alt = getInterpreter().adaptivePredict(_input,309,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2706); + setState(2708); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,307,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,308,_ctx) ) { case 1: { _localctx = new EqualityExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); - setState(2700); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2701); - match(EQUAL); setState(2702); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2703); + match(EQUAL); + setState(2704); relationalExpression(0); } break; @@ -16049,20 +16057,20 @@ public class Java8Parser extends Parser { { _localctx = new EqualityExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); - setState(2703); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2704); - match(NOTEQUAL); setState(2705); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2706); + match(NOTEQUAL); + setState(2707); relationalExpression(0); } break; } } } - setState(2710); + setState(2712); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,308,_ctx); + _alt = getInterpreter().adaptivePredict(_input,309,_ctx); } } } @@ -16117,30 +16125,30 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2712); + setState(2714); shiftExpression(0); } _ctx.stop = _input.LT(-1); - setState(2731); + setState(2733); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,310,_ctx); + _alt = getInterpreter().adaptivePredict(_input,311,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2729); + setState(2731); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,309,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,310,_ctx) ) { case 1: { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2714); - if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); - setState(2715); - match(LT); setState(2716); + if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); + setState(2717); + match(LT); + setState(2718); shiftExpression(0); } break; @@ -16148,11 +16156,11 @@ public class Java8Parser extends Parser { { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2717); - if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); - setState(2718); - match(GT); setState(2719); + if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); + setState(2720); + match(GT); + setState(2721); shiftExpression(0); } break; @@ -16160,11 +16168,11 @@ public class Java8Parser extends Parser { { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2720); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2721); - match(LE); setState(2722); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2723); + match(LE); + setState(2724); shiftExpression(0); } break; @@ -16172,11 +16180,11 @@ public class Java8Parser extends Parser { { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2723); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2724); - match(GE); setState(2725); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2726); + match(GE); + setState(2727); shiftExpression(0); } break; @@ -16184,20 +16192,20 @@ public class Java8Parser extends Parser { { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2726); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2727); - match(INSTANCEOF); setState(2728); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2729); + match(INSTANCEOF); + setState(2730); referenceType(); } break; } } } - setState(2733); + setState(2735); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,310,_ctx); + _alt = getInterpreter().adaptivePredict(_input,311,_ctx); } } } @@ -16249,32 +16257,32 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2735); + setState(2737); additiveExpression(0); } _ctx.stop = _input.LT(-1); - setState(2752); + setState(2754); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,312,_ctx); + _alt = getInterpreter().adaptivePredict(_input,313,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2750); + setState(2752); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,311,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,312,_ctx) ) { case 1: { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2737); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2738); - match(LT); setState(2739); - match(LT); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); setState(2740); + match(LT); + setState(2741); + match(LT); + setState(2742); additiveExpression(0); } break; @@ -16282,13 +16290,13 @@ public class Java8Parser extends Parser { { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2741); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2742); - match(GT); setState(2743); - match(GT); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); setState(2744); + match(GT); + setState(2745); + match(GT); + setState(2746); additiveExpression(0); } break; @@ -16296,24 +16304,24 @@ public class Java8Parser extends Parser { { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2745); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2746); - match(GT); setState(2747); - match(GT); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2748); match(GT); setState(2749); + match(GT); + setState(2750); + match(GT); + setState(2751); additiveExpression(0); } break; } } } - setState(2754); + setState(2756); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,312,_ctx); + _alt = getInterpreter().adaptivePredict(_input,313,_ctx); } } } @@ -16365,30 +16373,30 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2756); + setState(2758); multiplicativeExpression(0); } _ctx.stop = _input.LT(-1); - setState(2766); + setState(2768); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,314,_ctx); + _alt = getInterpreter().adaptivePredict(_input,315,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2764); + setState(2766); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,313,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,314,_ctx) ) { case 1: { _localctx = new AdditiveExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); - setState(2758); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2759); - match(ADD); setState(2760); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2761); + match(ADD); + setState(2762); multiplicativeExpression(0); } break; @@ -16396,20 +16404,20 @@ public class Java8Parser extends Parser { { _localctx = new AdditiveExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); - setState(2761); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2762); - match(SUB); setState(2763); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2764); + match(SUB); + setState(2765); multiplicativeExpression(0); } break; } } } - setState(2768); + setState(2770); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,314,_ctx); + _alt = getInterpreter().adaptivePredict(_input,315,_ctx); } } } @@ -16461,30 +16469,30 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2770); + setState(2772); unaryExpression(); } _ctx.stop = _input.LT(-1); - setState(2783); + setState(2785); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,316,_ctx); + _alt = getInterpreter().adaptivePredict(_input,317,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2781); + setState(2783); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,315,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,316,_ctx) ) { case 1: { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2772); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2773); - match(MUL); setState(2774); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2775); + match(MUL); + setState(2776); unaryExpression(); } break; @@ -16492,11 +16500,11 @@ public class Java8Parser extends Parser { { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2775); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2776); - match(DIV); setState(2777); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2778); + match(DIV); + setState(2779); unaryExpression(); } break; @@ -16504,20 +16512,20 @@ public class Java8Parser extends Parser { { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2778); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2779); - match(MOD); setState(2780); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2781); + match(MOD); + setState(2782); unaryExpression(); } break; } } } - setState(2785); + setState(2787); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,316,_ctx); + _alt = getInterpreter().adaptivePredict(_input,317,_ctx); } } } @@ -16563,37 +16571,37 @@ public class Java8Parser extends Parser { UnaryExpressionContext _localctx = new UnaryExpressionContext(_ctx, getState()); enterRule(_localctx, 454, RULE_unaryExpression); try { - setState(2793); + setState(2795); switch (_input.LA(1)) { case INC: enterOuterAlt(_localctx, 1); { - setState(2786); + setState(2788); preIncrementExpression(); } break; case DEC: enterOuterAlt(_localctx, 2); { - setState(2787); + setState(2789); preDecrementExpression(); } break; case ADD: enterOuterAlt(_localctx, 3); { - setState(2788); + setState(2790); match(ADD); - setState(2789); + setState(2791); unaryExpression(); } break; case SUB: enterOuterAlt(_localctx, 4); { - setState(2790); + setState(2792); match(SUB); - setState(2791); + setState(2793); unaryExpression(); } break; @@ -16622,7 +16630,7 @@ public class Java8Parser extends Parser { case AT: enterOuterAlt(_localctx, 5); { - setState(2792); + setState(2794); unaryExpressionNotPlusMinus(); } break; @@ -16665,9 +16673,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2795); + setState(2797); match(INC); - setState(2796); + setState(2798); unaryExpression(); } } @@ -16706,9 +16714,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2798); + setState(2800); match(DEC); - setState(2799); + setState(2801); unaryExpression(); } } @@ -16751,38 +16759,38 @@ public class Java8Parser extends Parser { UnaryExpressionNotPlusMinusContext _localctx = new UnaryExpressionNotPlusMinusContext(_ctx, getState()); enterRule(_localctx, 460, RULE_unaryExpressionNotPlusMinus); try { - setState(2807); + setState(2809); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,318,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2801); + setState(2803); postfixExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2802); + setState(2804); match(TILDE); - setState(2803); + setState(2805); unaryExpression(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2804); + setState(2806); match(BANG); - setState(2805); + setState(2807); unaryExpression(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2806); + setState(2808); castExpression(); } break; @@ -16839,39 +16847,39 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(2811); + setState(2813); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,320,_ctx) ) { case 1: { - setState(2809); + setState(2811); primary(); } break; case 2: { - setState(2810); + setState(2812); expressionName(); } break; } - setState(2817); + setState(2819); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,321,_ctx); + _alt = getInterpreter().adaptivePredict(_input,322,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { - setState(2815); + setState(2817); switch (_input.LA(1)) { case INC: { - setState(2813); + setState(2815); postIncrementExpression_lf_postfixExpression(); } break; case DEC: { - setState(2814); + setState(2816); postDecrementExpression_lf_postfixExpression(); } break; @@ -16880,9 +16888,9 @@ public class Java8Parser extends Parser { } } } - setState(2819); + setState(2821); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,321,_ctx); + _alt = getInterpreter().adaptivePredict(_input,322,_ctx); } } } @@ -16921,9 +16929,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2820); + setState(2822); postfixExpression(); - setState(2821); + setState(2823); match(INC); } } @@ -16959,7 +16967,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2823); + setState(2825); match(INC); } } @@ -16998,9 +17006,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2825); + setState(2827); postfixExpression(); - setState(2826); + setState(2828); match(DEC); } } @@ -17036,7 +17044,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2828); + setState(2830); match(DEC); } } @@ -17092,73 +17100,73 @@ public class Java8Parser extends Parser { enterRule(_localctx, 472, RULE_castExpression); int _la; try { - setState(2857); + setState(2859); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,324,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,325,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2830); - match(LPAREN); - setState(2831); - primitiveType(); setState(2832); - match(RPAREN); + match(LPAREN); setState(2833); + primitiveType(); + setState(2834); + match(RPAREN); + setState(2835); unaryExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2835); + setState(2837); match(LPAREN); - setState(2836); + setState(2838); referenceType(); - setState(2840); + setState(2842); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITAND) { { { - setState(2837); + setState(2839); additionalBound(); } } - setState(2842); + setState(2844); _errHandler.sync(this); _la = _input.LA(1); } - setState(2843); + setState(2845); match(RPAREN); - setState(2844); + setState(2846); unaryExpressionNotPlusMinus(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2846); + setState(2848); match(LPAREN); - setState(2847); + setState(2849); referenceType(); - setState(2851); + setState(2853); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITAND) { { { - setState(2848); + setState(2850); additionalBound(); } } - setState(2853); + setState(2855); _errHandler.sync(this); _la = _input.LA(1); } - setState(2854); + setState(2856); match(RPAREN); - setState(2855); + setState(2857); lambdaExpression(); } break; @@ -17320,7 +17328,7 @@ public class Java8Parser extends Parser { private static final int _serializedATNSegments = 2; private static final String _serializedATNSegment0 = - "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3m\u0b2e\4\2\t\2\4"+ + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3m\u0b30\4\2\t\2\4"+ "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ @@ -17403,349 +17411,349 @@ public class Java8Parser extends Parser { "\nJ\5J\u0407\nJ\3K\3K\5K\u040b\nK\3L\3L\3L\5L\u0410\nL\3L\3L\5L\u0414"+ "\nL\3M\3M\3M\3M\3M\5M\u041b\nM\3N\3N\3N\7N\u0420\nN\fN\16N\u0423\13N\3"+ "N\3N\3N\7N\u0428\nN\fN\16N\u042b\13N\5N\u042d\nN\3O\7O\u0430\nO\fO\16"+ - "O\u0433\13O\3O\3O\3O\3P\3P\5P\u043a\nP\3Q\7Q\u043d\nQ\fQ\16Q\u0440\13"+ - "Q\3Q\3Q\7Q\u0444\nQ\fQ\16Q\u0447\13Q\3Q\3Q\3Q\3Q\5Q\u044d\nQ\3R\7R\u0450"+ - "\nR\fR\16R\u0453\13R\3R\3R\3R\5R\u0458\nR\3R\3R\3S\3S\3S\3T\3T\3T\7T\u0462"+ - "\nT\fT\16T\u0465\13T\3U\3U\5U\u0469\nU\3V\3V\5V\u046d\nV\3W\3W\3X\3X\3"+ - "X\3Y\7Y\u0475\nY\fY\16Y\u0478\13Y\3Y\3Y\5Y\u047c\nY\3Y\3Y\3Z\3Z\3Z\3Z"+ - "\5Z\u0484\nZ\3[\5[\u0487\n[\3[\3[\3[\5[\u048c\n[\3[\3[\3\\\3\\\3]\3]\5"+ - "]\u0494\n]\3]\5]\u0497\n]\3]\3]\3^\5^\u049c\n^\3^\3^\3^\5^\u04a1\n^\3"+ - "^\3^\3^\5^\u04a6\n^\3^\3^\3^\5^\u04ab\n^\3^\3^\3^\3^\3^\5^\u04b2\n^\3"+ - "^\3^\3^\5^\u04b7\n^\3^\3^\3^\3^\3^\3^\5^\u04bf\n^\3^\3^\3^\5^\u04c4\n"+ - "^\3^\3^\3^\5^\u04c9\n^\3_\7_\u04cc\n_\f_\16_\u04cf\13_\3_\3_\3_\5_\u04d4"+ - "\n_\3_\3_\3`\3`\5`\u04da\n`\3`\5`\u04dd\n`\3`\5`\u04e0\n`\3`\3`\3a\3a"+ - "\3a\7a\u04e7\na\fa\16a\u04ea\13a\3b\7b\u04ed\nb\fb\16b\u04f0\13b\3b\3"+ - "b\3b\5b\u04f5\nb\3b\5b\u04f8\nb\3b\5b\u04fb\nb\3c\3c\3d\3d\7d\u0501\n"+ - "d\fd\16d\u0504\13d\3e\3e\5e\u0508\ne\3f\7f\u050b\nf\ff\16f\u050e\13f\3"+ - "f\3f\3f\5f\u0513\nf\3f\5f\u0516\nf\3f\3f\3g\3g\3g\3g\3g\3g\3g\5g\u0521"+ - "\ng\3h\3h\3h\3i\3i\7i\u0528\ni\fi\16i\u052b\13i\3i\3i\3j\3j\3j\3j\3j\5"+ - "j\u0534\nj\3k\7k\u0537\nk\fk\16k\u053a\13k\3k\3k\3k\3k\3l\3l\3l\3l\5l"+ - "\u0544\nl\3m\7m\u0547\nm\fm\16m\u054a\13m\3m\3m\3m\3n\3n\3n\3n\3n\3n\5"+ - "n\u0555\nn\3o\7o\u0558\no\fo\16o\u055b\13o\3o\3o\3o\3o\3o\3p\3p\7p\u0564"+ - "\np\fp\16p\u0567\13p\3p\3p\3q\3q\3q\3q\3q\5q\u0570\nq\3r\7r\u0573\nr\f"+ - "r\16r\u0576\13r\3r\3r\3r\3r\3r\5r\u057d\nr\3r\5r\u0580\nr\3r\3r\3s\3s"+ - "\3s\5s\u0587\ns\3t\3t\3t\3u\3u\3u\5u\u058f\nu\3v\3v\3v\3v\5v\u0595\nv"+ - "\3v\3v\3w\3w\3w\7w\u059c\nw\fw\16w\u059f\13w\3x\3x\3x\3x\3y\3y\3y\5y\u05a8"+ - "\ny\3z\3z\5z\u05ac\nz\3z\5z\u05af\nz\3z\3z\3{\3{\3{\7{\u05b6\n{\f{\16"+ - "{\u05b9\13{\3|\3|\3|\3}\3}\3}\3}\3}\3}\3~\3~\5~\u05c6\n~\3~\5~\u05c9\n"+ - "~\3~\3~\3\177\3\177\3\177\7\177\u05d0\n\177\f\177\16\177\u05d3\13\177"+ - "\3\u0080\3\u0080\5\u0080\u05d7\n\u0080\3\u0080\3\u0080\3\u0081\3\u0081"+ - "\7\u0081\u05dd\n\u0081\f\u0081\16\u0081\u05e0\13\u0081\3\u0082\3\u0082"+ - "\3\u0082\5\u0082\u05e5\n\u0082\3\u0083\3\u0083\3\u0083\3\u0084\7\u0084"+ - "\u05eb\n\u0084\f\u0084\16\u0084\u05ee\13\u0084\3\u0084\3\u0084\3\u0084"+ - "\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085\5\u0085\u05f9\n\u0085"+ - "\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086\5\u0086\u0600\n\u0086\3\u0087"+ - "\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087"+ - "\3\u0087\3\u0087\5\u0087\u060e\n\u0087\3\u0088\3\u0088\3\u0089\3\u0089"+ - "\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b"+ - "\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\5\u008c\u0624"+ - "\n\u008c\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e"+ - "\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008f\3\u008f\3\u008f"+ - "\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090\3\u0090"+ - "\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\5\u0090\u0646\n\u0090"+ - "\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0092\3\u0092\7\u0092"+ - "\u0650\n\u0092\f\u0092\16\u0092\u0653\13\u0092\3\u0092\7\u0092\u0656\n"+ - "\u0092\f\u0092\16\u0092\u0659\13\u0092\3\u0092\3\u0092\3\u0093\3\u0093"+ - "\3\u0093\3\u0094\3\u0094\7\u0094\u0662\n\u0094\f\u0094\16\u0094\u0665"+ - "\13\u0094\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095"+ - "\3\u0095\3\u0095\5\u0095\u0671\n\u0095\3\u0096\3\u0096\3\u0097\3\u0097"+ - "\3\u0097\3\u0097\3\u0097\3\u0097\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098"+ - "\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099"+ - "\3\u009a\3\u009a\5\u009a\u068b\n\u009a\3\u009b\3\u009b\5\u009b\u068f\n"+ - "\u009b\3\u009c\3\u009c\3\u009c\5\u009c\u0694\n\u009c\3\u009c\3\u009c\5"+ - "\u009c\u0698\n\u009c\3\u009c\3\u009c\5\u009c\u069c\n\u009c\3\u009c\3\u009c"+ - "\3\u009c\3\u009d\3\u009d\3\u009d\5\u009d\u06a4\n\u009d\3\u009d\3\u009d"+ - "\5\u009d\u06a8\n\u009d\3\u009d\3\u009d\5\u009d\u06ac\n\u009d\3\u009d\3"+ - "\u009d\3\u009d\3\u009e\3\u009e\5\u009e\u06b3\n\u009e\3\u009f\3\u009f\3"+ - "\u00a0\3\u00a0\3\u00a0\7\u00a0\u06ba\n\u00a0\f\u00a0\16\u00a0\u06bd\13"+ - "\u00a0\3\u00a1\3\u00a1\3\u00a1\7\u00a1\u06c2\n\u00a1\f\u00a1\16\u00a1"+ - "\u06c5\13\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1"+ - "\3\u00a2\3\u00a2\3\u00a2\7\u00a2\u06d1\n\u00a2\f\u00a2\16\u00a2\u06d4"+ - "\13\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a3"+ - "\3\u00a3\5\u00a3\u06df\n\u00a3\3\u00a3\3\u00a3\3\u00a4\3\u00a4\5\u00a4"+ - "\u06e5\n\u00a4\3\u00a4\3\u00a4\3\u00a5\3\u00a5\5\u00a5\u06eb\n\u00a5\3"+ - "\u00a5\3\u00a5\3\u00a6\3\u00a6\3\u00a6\3\u00a6\3\u00a7\3\u00a7\3\u00a7"+ - "\3\u00a7\3\u00a7\3\u00a7\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8"+ - "\3\u00a8\5\u00a8\u0700\n\u00a8\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u0705\n"+ - "\u00a8\3\u00a9\3\u00a9\7\u00a9\u0709\n\u00a9\f\u00a9\16\u00a9\u070c\13"+ - "\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00ab\7\u00ab"+ - "\u0715\n\u00ab\f\u00ab\16\u00ab\u0718\13\u00ab\3\u00ab\3\u00ab\3\u00ab"+ - "\3\u00ac\3\u00ac\3\u00ac\7\u00ac\u0720\n\u00ac\f\u00ac\16\u00ac\u0723"+ - "\13\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ae\3\u00ae\3\u00ae\3\u00ae\5\u00ae"+ - "\u072c\n\u00ae\3\u00ae\5\u00ae\u072f\n\u00ae\3\u00af\3\u00af\3\u00af\5"+ - "\u00af\u0734\n\u00af\3\u00af\3\u00af\3\u00b0\3\u00b0\3\u00b0\7\u00b0\u073b"+ - "\n\u00b0\f\u00b0\16\u00b0\u073e\13\u00b0\3\u00b1\7\u00b1\u0741\n\u00b1"+ - "\f\u00b1\16\u00b1\u0744\13\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1"+ - "\3\u00b2\3\u00b2\5\u00b2\u074d\n\u00b2\3\u00b2\7\u00b2\u0750\n\u00b2\f"+ - "\u00b2\16\u00b2\u0753\13\u00b2\3\u00b3\3\u00b3\3\u00b3\3\u00b3\7\u00b3"+ - "\u0759\n\u00b3\f\u00b3\16\u00b3\u075c\13\u00b3\3\u00b3\3\u00b3\3\u00b3"+ + "O\u0433\13O\3O\5O\u0436\nO\3O\3O\3P\3P\5P\u043c\nP\3Q\7Q\u043f\nQ\fQ\16"+ + "Q\u0442\13Q\3Q\3Q\7Q\u0446\nQ\fQ\16Q\u0449\13Q\3Q\3Q\3Q\3Q\5Q\u044f\n"+ + "Q\3R\7R\u0452\nR\fR\16R\u0455\13R\3R\3R\3R\5R\u045a\nR\3R\3R\3S\3S\3S"+ + "\3T\3T\3T\7T\u0464\nT\fT\16T\u0467\13T\3U\3U\5U\u046b\nU\3V\3V\5V\u046f"+ + "\nV\3W\3W\3X\3X\3X\3Y\7Y\u0477\nY\fY\16Y\u047a\13Y\3Y\3Y\5Y\u047e\nY\3"+ + "Y\3Y\3Z\3Z\3Z\3Z\5Z\u0486\nZ\3[\5[\u0489\n[\3[\3[\3[\5[\u048e\n[\3[\3"+ + "[\3\\\3\\\3]\3]\5]\u0496\n]\3]\5]\u0499\n]\3]\3]\3^\5^\u049e\n^\3^\3^"+ + "\3^\5^\u04a3\n^\3^\3^\3^\5^\u04a8\n^\3^\3^\3^\5^\u04ad\n^\3^\3^\3^\3^"+ + "\3^\5^\u04b4\n^\3^\3^\3^\5^\u04b9\n^\3^\3^\3^\3^\3^\3^\5^\u04c1\n^\3^"+ + "\3^\3^\5^\u04c6\n^\3^\3^\3^\5^\u04cb\n^\3_\7_\u04ce\n_\f_\16_\u04d1\13"+ + "_\3_\3_\3_\5_\u04d6\n_\3_\3_\3`\3`\5`\u04dc\n`\3`\5`\u04df\n`\3`\5`\u04e2"+ + "\n`\3`\3`\3a\3a\3a\7a\u04e9\na\fa\16a\u04ec\13a\3b\7b\u04ef\nb\fb\16b"+ + "\u04f2\13b\3b\3b\3b\5b\u04f7\nb\3b\5b\u04fa\nb\3b\5b\u04fd\nb\3c\3c\3"+ + "d\3d\7d\u0503\nd\fd\16d\u0506\13d\3e\3e\5e\u050a\ne\3f\7f\u050d\nf\ff"+ + "\16f\u0510\13f\3f\3f\3f\5f\u0515\nf\3f\5f\u0518\nf\3f\3f\3g\3g\3g\3g\3"+ + "g\3g\3g\5g\u0523\ng\3h\3h\3h\3i\3i\7i\u052a\ni\fi\16i\u052d\13i\3i\3i"+ + "\3j\3j\3j\3j\3j\5j\u0536\nj\3k\7k\u0539\nk\fk\16k\u053c\13k\3k\3k\3k\3"+ + "k\3l\3l\3l\3l\5l\u0546\nl\3m\7m\u0549\nm\fm\16m\u054c\13m\3m\3m\3m\3n"+ + "\3n\3n\3n\3n\3n\5n\u0557\nn\3o\7o\u055a\no\fo\16o\u055d\13o\3o\3o\3o\3"+ + "o\3o\3p\3p\7p\u0566\np\fp\16p\u0569\13p\3p\3p\3q\3q\3q\3q\3q\5q\u0572"+ + "\nq\3r\7r\u0575\nr\fr\16r\u0578\13r\3r\3r\3r\3r\3r\5r\u057f\nr\3r\5r\u0582"+ + "\nr\3r\3r\3s\3s\3s\5s\u0589\ns\3t\3t\3t\3u\3u\3u\5u\u0591\nu\3v\3v\3v"+ + "\3v\5v\u0597\nv\3v\3v\3w\3w\3w\7w\u059e\nw\fw\16w\u05a1\13w\3x\3x\3x\3"+ + "x\3y\3y\3y\5y\u05aa\ny\3z\3z\5z\u05ae\nz\3z\5z\u05b1\nz\3z\3z\3{\3{\3"+ + "{\7{\u05b8\n{\f{\16{\u05bb\13{\3|\3|\3|\3}\3}\3}\3}\3}\3}\3~\3~\5~\u05c8"+ + "\n~\3~\5~\u05cb\n~\3~\3~\3\177\3\177\3\177\7\177\u05d2\n\177\f\177\16"+ + "\177\u05d5\13\177\3\u0080\3\u0080\5\u0080\u05d9\n\u0080\3\u0080\3\u0080"+ + "\3\u0081\3\u0081\7\u0081\u05df\n\u0081\f\u0081\16\u0081\u05e2\13\u0081"+ + "\3\u0082\3\u0082\3\u0082\5\u0082\u05e7\n\u0082\3\u0083\3\u0083\3\u0083"+ + "\3\u0084\7\u0084\u05ed\n\u0084\f\u0084\16\u0084\u05f0\13\u0084\3\u0084"+ + "\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085\5\u0085"+ + "\u05fb\n\u0085\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086\5\u0086\u0602\n"+ + "\u0086\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087"+ + "\3\u0087\3\u0087\3\u0087\3\u0087\5\u0087\u0610\n\u0087\3\u0088\3\u0088"+ + "\3\u0089\3\u0089\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008a\3\u008b"+ + "\3\u008b\3\u008b\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c"+ + "\5\u008c\u0626\n\u008c\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d"+ + "\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008f"+ + "\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u0090\3\u0090"+ + "\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\5\u0090"+ + "\u0648\n\u0090\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0092"+ + "\3\u0092\7\u0092\u0652\n\u0092\f\u0092\16\u0092\u0655\13\u0092\3\u0092"+ + "\7\u0092\u0658\n\u0092\f\u0092\16\u0092\u065b\13\u0092\3\u0092\3\u0092"+ + "\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094\7\u0094\u0664\n\u0094\f\u0094"+ + "\16\u0094\u0667\13\u0094\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095"+ + "\3\u0095\3\u0095\3\u0095\3\u0095\5\u0095\u0673\n\u0095\3\u0096\3\u0096"+ + "\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0098\3\u0098\3\u0098"+ + "\3\u0098\3\u0098\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099"+ + "\3\u0099\3\u0099\3\u009a\3\u009a\5\u009a\u068d\n\u009a\3\u009b\3\u009b"+ + "\5\u009b\u0691\n\u009b\3\u009c\3\u009c\3\u009c\5\u009c\u0696\n\u009c\3"+ + "\u009c\3\u009c\5\u009c\u069a\n\u009c\3\u009c\3\u009c\5\u009c\u069e\n\u009c"+ + "\3\u009c\3\u009c\3\u009c\3\u009d\3\u009d\3\u009d\5\u009d\u06a6\n\u009d"+ + "\3\u009d\3\u009d\5\u009d\u06aa\n\u009d\3\u009d\3\u009d\5\u009d\u06ae\n"+ + "\u009d\3\u009d\3\u009d\3\u009d\3\u009e\3\u009e\5\u009e\u06b5\n\u009e\3"+ + "\u009f\3\u009f\3\u00a0\3\u00a0\3\u00a0\7\u00a0\u06bc\n\u00a0\f\u00a0\16"+ + "\u00a0\u06bf\13\u00a0\3\u00a1\3\u00a1\3\u00a1\7\u00a1\u06c4\n\u00a1\f"+ + "\u00a1\16\u00a1\u06c7\13\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1"+ + "\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a2\7\u00a2\u06d3\n\u00a2\f\u00a2"+ + "\16\u00a2\u06d6\13\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2"+ + "\3\u00a2\3\u00a3\3\u00a3\5\u00a3\u06e1\n\u00a3\3\u00a3\3\u00a3\3\u00a4"+ + "\3\u00a4\5\u00a4\u06e7\n\u00a4\3\u00a4\3\u00a4\3\u00a5\3\u00a5\5\u00a5"+ + "\u06ed\n\u00a5\3\u00a5\3\u00a5\3\u00a6\3\u00a6\3\u00a6\3\u00a6\3\u00a7"+ + "\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a8\3\u00a8\3\u00a8\3\u00a8"+ + "\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u0702\n\u00a8\3\u00a8\3\u00a8\3\u00a8"+ + "\5\u00a8\u0707\n\u00a8\3\u00a9\3\u00a9\7\u00a9\u070b\n\u00a9\f\u00a9\16"+ + "\u00a9\u070e\13\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa"+ + "\3\u00ab\7\u00ab\u0717\n\u00ab\f\u00ab\16\u00ab\u071a\13\u00ab\3\u00ab"+ + "\3\u00ab\3\u00ab\3\u00ac\3\u00ac\3\u00ac\7\u00ac\u0722\n\u00ac\f\u00ac"+ + "\16\u00ac\u0725\13\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ae\3\u00ae\3\u00ae"+ + "\3\u00ae\5\u00ae\u072e\n\u00ae\3\u00ae\5\u00ae\u0731\n\u00ae\3\u00af\3"+ + "\u00af\3\u00af\5\u00af\u0736\n\u00af\3\u00af\3\u00af\3\u00b0\3\u00b0\3"+ + "\u00b0\7\u00b0\u073d\n\u00b0\f\u00b0\16\u00b0\u0740\13\u00b0\3\u00b1\7"+ + "\u00b1\u0743\n\u00b1\f\u00b1\16\u00b1\u0746\13\u00b1\3\u00b1\3\u00b1\3"+ + "\u00b1\3\u00b1\3\u00b1\3\u00b2\3\u00b2\5\u00b2\u074f\n\u00b2\3\u00b2\7"+ + "\u00b2\u0752\n\u00b2\f\u00b2\16\u00b2\u0755\13\u00b2\3\u00b3\3\u00b3\3"+ + "\u00b3\3\u00b3\7\u00b3\u075b\n\u00b3\f\u00b3\16\u00b3\u075e\13\u00b3\3"+ + "\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ - "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\5\u00b3"+ - "\u0772\n\u00b3\3\u00b4\3\u00b4\3\u00b5\3\u00b5\3\u00b5\3\u00b5\7\u00b5"+ - "\u077a\n\u00b5\f\u00b5\16\u00b5\u077d\13\u00b5\3\u00b5\3\u00b5\3\u00b5"+ + "\3\u00b3\3\u00b3\5\u00b3\u0774\n\u00b3\3\u00b4\3\u00b4\3\u00b5\3\u00b5"+ + "\3\u00b5\3\u00b5\7\u00b5\u077c\n\u00b5\f\u00b5\16\u00b5\u077f\13\u00b5"+ "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ - "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\5\u00b5\u0792"+ - "\n\u00b5\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\5\u00b6\u0799\n\u00b6"+ - "\3\u00b7\3\u00b7\3\u00b8\3\u00b8\3\u00b8\3\u00b8\5\u00b8\u07a1\n\u00b8"+ - "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9\u07a7\n\u00b9\f\u00b9\16\u00b9"+ - "\u07aa\13\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9"+ - "\u07b2\n\u00b9\f\u00b9\16\u00b9\u07b5\13\u00b9\3\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ + "\3\u00b5\5\u00b5\u0794\n\u00b5\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6"+ + "\5\u00b6\u079b\n\u00b6\3\u00b7\3\u00b7\3\u00b8\3\u00b8\3\u00b8\3\u00b8"+ + "\5\u00b8\u07a3\n\u00b8\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9\u07a9\n"+ + "\u00b9\f\u00b9\16\u00b9\u07ac\13\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b9\3\u00b9\7\u00b9\u07b4\n\u00b9\f\u00b9\16\u00b9\u07b7\13\u00b9"+ "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ - "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\5\u00b9"+ - "\u07cb\n\u00b9\3\u00ba\3\u00ba\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb"+ - "\u07d3\n\u00bb\f\u00bb\16\u00bb\u07d6\13\u00bb\3\u00bb\3\u00bb\3\u00bb"+ - "\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07de\n\u00bb\f\u00bb\16\u00bb\u07e1"+ - "\13\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b9\3\u00b9\5\u00b9\u07cd\n\u00b9\3\u00ba\3\u00ba\3\u00bb\3\u00bb"+ + "\3\u00bb\3\u00bb\7\u00bb\u07d5\n\u00bb\f\u00bb\16\u00bb\u07d8\13\u00bb"+ + "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07e0\n\u00bb"+ + "\f\u00bb\16\u00bb\u07e3\13\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ - "\3\u00bb\3\u00bb\5\u00bb\u07f6\n\u00bb\3\u00bc\3\u00bc\5\u00bc\u07fa\n"+ - "\u00bc\3\u00bc\7\u00bc\u07fd\n\u00bc\f\u00bc\16\u00bc\u0800\13\u00bc\3"+ - "\u00bc\3\u00bc\3\u00bc\7\u00bc\u0805\n\u00bc\f\u00bc\16\u00bc\u0808\13"+ - "\u00bc\3\u00bc\7\u00bc\u080b\n\u00bc\f\u00bc\16\u00bc\u080e\13\u00bc\3"+ - "\u00bc\5\u00bc\u0811\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0815\n\u00bc\3\u00bc"+ - "\3\u00bc\5\u00bc\u0819\n\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc"+ - "\u081f\n\u00bc\3\u00bc\7\u00bc\u0822\n\u00bc\f\u00bc\16\u00bc\u0825\13"+ - "\u00bc\3\u00bc\3\u00bc\5\u00bc\u0829\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u082d"+ - "\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0831\n\u00bc\3\u00bc\3\u00bc\3\u00bc"+ - "\3\u00bc\5\u00bc\u0837\n\u00bc\3\u00bc\7\u00bc\u083a\n\u00bc\f\u00bc\16"+ - "\u00bc\u083d\13\u00bc\3\u00bc\3\u00bc\5\u00bc\u0841\n\u00bc\3\u00bc\3"+ - "\u00bc\5\u00bc\u0845\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0849\n\u00bc\5\u00bc"+ - "\u084b\n\u00bc\3\u00bd\3\u00bd\3\u00bd\5\u00bd\u0850\n\u00bd\3\u00bd\7"+ - "\u00bd\u0853\n\u00bd\f\u00bd\16\u00bd\u0856\13\u00bd\3\u00bd\3\u00bd\5"+ - "\u00bd\u085a\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u085e\n\u00bd\3\u00bd\3\u00bd"+ - "\5\u00bd\u0862\n\u00bd\3\u00be\3\u00be\5\u00be\u0866\n\u00be\3\u00be\7"+ - "\u00be\u0869\n\u00be\f\u00be\16\u00be\u086c\13\u00be\3\u00be\3\u00be\3"+ - "\u00be\7\u00be\u0871\n\u00be\f\u00be\16\u00be\u0874\13\u00be\3\u00be\7"+ - "\u00be\u0877\n\u00be\f\u00be\16\u00be\u087a\13\u00be\3\u00be\5\u00be\u087d"+ - "\n\u00be\3\u00be\3\u00be\5\u00be\u0881\n\u00be\3\u00be\3\u00be\5\u00be"+ - "\u0885\n\u00be\3\u00be\3\u00be\3\u00be\3\u00be\5\u00be\u088b\n\u00be\3"+ - "\u00be\7\u00be\u088e\n\u00be\f\u00be\16\u00be\u0891\13\u00be\3\u00be\3"+ - "\u00be\5\u00be\u0895\n\u00be\3\u00be\3\u00be\5\u00be\u0899\n\u00be\3\u00be"+ - "\3\u00be\5\u00be\u089d\n\u00be\5\u00be\u089f\n\u00be\3\u00bf\3\u00bf\3"+ - "\u00bf\5\u00bf\u08a4\n\u00bf\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3"+ - "\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\5\u00c0"+ - "\u08b3\n\u00c0\3\u00c1\3\u00c1\3\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c2"+ - "\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\5\u00c2\u08c1\n\u00c2\3\u00c3"+ - "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3"+ - "\5\u00c3\u08cd\n\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\7\u00c3"+ - "\u08d4\n\u00c3\f\u00c3\16\u00c3\u08d7\13\u00c3\3\u00c4\3\u00c4\3\u00c4"+ - "\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\7\u00c4\u08e3"+ - "\n\u00c4\f\u00c4\16\u00c4\u08e6\13\u00c4\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ - "\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\5\u00c5\u08f2\n\u00c5"+ - "\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5\u08f9\n\u00c5\f\u00c5"+ - "\16\u00c5\u08fc\13\u00c5\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0901\n\u00c6"+ - "\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0908\n\u00c6\3\u00c6"+ - "\3\u00c6\3\u00c6\5\u00c6\u090d\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ - "\3\u00c6\5\u00c6\u0914\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0919\n"+ - "\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0920\n\u00c6\3"+ - "\u00c6\3\u00c6\3\u00c6\5\u00c6\u0925\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3"+ - "\u00c6\3\u00c6\5\u00c6\u092c\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0931"+ - "\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0939"+ - "\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u093e\n\u00c6\3\u00c6\3\u00c6"+ - "\5\u00c6\u0942\n\u00c6\3\u00c7\3\u00c7\5\u00c7\u0946\n\u00c7\3\u00c7\3"+ - "\u00c7\3\u00c7\5\u00c7\u094b\n\u00c7\3\u00c7\3\u00c7\3\u00c8\3\u00c8\3"+ - "\u00c8\5\u00c8\u0952\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5"+ - "\u00c8\u0959\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u095e\n\u00c8\3\u00c8"+ - "\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0965\n\u00c8\3\u00c8\3\u00c8"+ - "\3\u00c8\5\u00c8\u096a\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8"+ - "\5\u00c8\u0971\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0976\n\u00c8\3"+ - "\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u097e\n\u00c8\3"+ - "\u00c8\3\u00c8\3\u00c8\5\u00c8\u0983\n\u00c8\3\u00c8\3\u00c8\5\u00c8\u0987"+ - "\n\u00c8\3\u00c9\3\u00c9\3\u00c9\7\u00c9\u098c\n\u00c9\f\u00c9\16\u00c9"+ - "\u098f\13\u00c9\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u0994\n\u00ca\3\u00ca"+ - "\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u099b\n\u00ca\3\u00ca\3\u00ca"+ - "\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09a2\n\u00ca\3\u00ca\3\u00ca\3\u00ca"+ - "\3\u00ca\3\u00ca\5\u00ca\u09a9\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ - "\3\u00ca\3\u00ca\5\u00ca\u09b1\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ - "\3\u00ca\5\u00ca\u09b8\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ - "\3\u00ca\5\u00ca\u09c0\n\u00ca\3\u00cb\3\u00cb\5\u00cb\u09c4\n\u00cb\3"+ - "\u00cb\3\u00cb\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09cb\n\u00cc\3\u00cc\3"+ - "\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09d2\n\u00cc\3\u00cc\3\u00cc\3"+ - "\u00cc\3\u00cc\3\u00cc\5\u00cc\u09d9\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3"+ - "\u00cc\3\u00cc\3\u00cc\5\u00cc\u09e1\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3"+ - "\u00cc\3\u00cc\5\u00cc\u09e8\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3"+ - "\u00cc\3\u00cc\5\u00cc\u09f0\n\u00cc\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5"+ - "\u00cd\u09f6\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09fc\n\u00cd"+ - "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ - "\3\u00cd\5\u00cd\u0a08\n\u00cd\3\u00ce\3\u00ce\7\u00ce\u0a0c\n\u00ce\f"+ - "\u00ce\16\u00ce\u0a0f\13\u00ce\3\u00cf\7\u00cf\u0a12\n\u00cf\f\u00cf\16"+ - "\u00cf\u0a15\13\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00d0\3\u00d0"+ - "\3\u00d1\3\u00d1\5\u00d1\u0a1f\n\u00d1\3\u00d2\3\u00d2\3\u00d2\3\u00d2"+ - "\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a28\n\u00d3\3\u00d3\3\u00d3\3\u00d3"+ - "\3\u00d3\3\u00d3\5\u00d3\u0a2f\n\u00d3\3\u00d4\3\u00d4\3\u00d4\7\u00d4"+ - "\u0a34\n\u00d4\f\u00d4\16\u00d4\u0a37\13\u00d4\3\u00d5\3\u00d5\5\u00d5"+ - "\u0a3b\n\u00d5\3\u00d6\3\u00d6\5\u00d6\u0a3f\n\u00d6\3\u00d7\3\u00d7\3"+ - "\u00d7\3\u00d7\3\u00d8\3\u00d8\3\u00d8\5\u00d8\u0a48\n\u00d8\3\u00d9\3"+ - "\u00d9\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\5\u00da"+ - "\u0a53\n\u00da\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\7\u00db"+ - "\u0a5b\n\u00db\f\u00db\16\u00db\u0a5e\13\u00db\3\u00dc\3\u00dc\3\u00dc"+ - "\3\u00dc\3\u00dc\3\u00dc\7\u00dc\u0a66\n\u00dc\f\u00dc\16\u00dc\u0a69"+ - "\13\u00dc\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00dd\7\u00dd\u0a71"+ - "\n\u00dd\f\u00dd\16\u00dd\u0a74\13\u00dd\3\u00de\3\u00de\3\u00de\3\u00de"+ - "\3\u00de\3\u00de\7\u00de\u0a7c\n\u00de\f\u00de\16\u00de\u0a7f\13\u00de"+ - "\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\7\u00df\u0a87\n\u00df"+ - "\f\u00df\16\u00df\u0a8a\13\u00df\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0"+ - "\3\u00e0\3\u00e0\3\u00e0\3\u00e0\7\u00e0\u0a95\n\u00e0\f\u00e0\16\u00e0"+ - "\u0a98\13\u00e0\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ + "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\5\u00bb\u07f8\n\u00bb\3\u00bc"+ + "\3\u00bc\5\u00bc\u07fc\n\u00bc\3\u00bc\7\u00bc\u07ff\n\u00bc\f\u00bc\16"+ + "\u00bc\u0802\13\u00bc\3\u00bc\3\u00bc\3\u00bc\7\u00bc\u0807\n\u00bc\f"+ + "\u00bc\16\u00bc\u080a\13\u00bc\3\u00bc\7\u00bc\u080d\n\u00bc\f\u00bc\16"+ + "\u00bc\u0810\13\u00bc\3\u00bc\5\u00bc\u0813\n\u00bc\3\u00bc\3\u00bc\5"+ + "\u00bc\u0817\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u081b\n\u00bc\3\u00bc\3\u00bc"+ + "\3\u00bc\3\u00bc\5\u00bc\u0821\n\u00bc\3\u00bc\7\u00bc\u0824\n\u00bc\f"+ + "\u00bc\16\u00bc\u0827\13\u00bc\3\u00bc\3\u00bc\5\u00bc\u082b\n\u00bc\3"+ + "\u00bc\3\u00bc\5\u00bc\u082f\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0833\n\u00bc"+ + "\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u0839\n\u00bc\3\u00bc\7\u00bc"+ + "\u083c\n\u00bc\f\u00bc\16\u00bc\u083f\13\u00bc\3\u00bc\3\u00bc\5\u00bc"+ + "\u0843\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0847\n\u00bc\3\u00bc\3\u00bc\5"+ + "\u00bc\u084b\n\u00bc\5\u00bc\u084d\n\u00bc\3\u00bd\3\u00bd\3\u00bd\5\u00bd"+ + "\u0852\n\u00bd\3\u00bd\7\u00bd\u0855\n\u00bd\f\u00bd\16\u00bd\u0858\13"+ + "\u00bd\3\u00bd\3\u00bd\5\u00bd\u085c\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u0860"+ + "\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u0864\n\u00bd\3\u00be\3\u00be\5\u00be"+ + "\u0868\n\u00be\3\u00be\7\u00be\u086b\n\u00be\f\u00be\16\u00be\u086e\13"+ + "\u00be\3\u00be\3\u00be\3\u00be\7\u00be\u0873\n\u00be\f\u00be\16\u00be"+ + "\u0876\13\u00be\3\u00be\7\u00be\u0879\n\u00be\f\u00be\16\u00be\u087c\13"+ + "\u00be\3\u00be\5\u00be\u087f\n\u00be\3\u00be\3\u00be\5\u00be\u0883\n\u00be"+ + "\3\u00be\3\u00be\5\u00be\u0887\n\u00be\3\u00be\3\u00be\3\u00be\3\u00be"+ + "\5\u00be\u088d\n\u00be\3\u00be\7\u00be\u0890\n\u00be\f\u00be\16\u00be"+ + "\u0893\13\u00be\3\u00be\3\u00be\5\u00be\u0897\n\u00be\3\u00be\3\u00be"+ + "\5\u00be\u089b\n\u00be\3\u00be\3\u00be\5\u00be\u089f\n\u00be\5\u00be\u08a1"+ + "\n\u00be\3\u00bf\3\u00bf\3\u00bf\5\u00bf\u08a6\n\u00bf\3\u00c0\3\u00c0"+ + "\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0"+ + "\3\u00c0\3\u00c0\5\u00c0\u08b5\n\u00c0\3\u00c1\3\u00c1\3\u00c1\3\u00c2"+ + "\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\5\u00c2"+ + "\u08c3\n\u00c2\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3"+ + "\3\u00c3\3\u00c3\3\u00c3\5\u00c3\u08cf\n\u00c3\3\u00c3\3\u00c3\3\u00c3"+ + "\3\u00c3\3\u00c3\7\u00c3\u08d6\n\u00c3\f\u00c3\16\u00c3\u08d9\13\u00c3"+ + "\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4"+ + "\3\u00c4\7\u00c4\u08e5\n\u00c4\f\u00c4\16\u00c4\u08e8\13\u00c4\3\u00c5"+ + "\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ + "\5\u00c5\u08f4\n\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5"+ + "\u08fb\n\u00c5\f\u00c5\16\u00c5\u08fe\13\u00c5\3\u00c6\3\u00c6\3\u00c6"+ + "\5\u00c6\u0903\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6"+ + "\u090a\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u090f\n\u00c6\3\u00c6\3"+ + "\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0916\n\u00c6\3\u00c6\3\u00c6\3"+ + "\u00c6\5\u00c6\u091b\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5"+ + "\u00c6\u0922\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0927\n\u00c6\3\u00c6"+ + "\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u092e\n\u00c6\3\u00c6\3\u00c6"+ + "\3\u00c6\5\u00c6\u0933\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ + "\3\u00c6\5\u00c6\u093b\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0940\n"+ + "\u00c6\3\u00c6\3\u00c6\5\u00c6\u0944\n\u00c6\3\u00c7\3\u00c7\5\u00c7\u0948"+ + "\n\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u094d\n\u00c7\3\u00c7\3\u00c7"+ + "\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0954\n\u00c8\3\u00c8\3\u00c8\3\u00c8"+ + "\3\u00c8\3\u00c8\5\u00c8\u095b\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8"+ + "\u0960\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0967\n"+ + "\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u096c\n\u00c8\3\u00c8\3\u00c8\3"+ + "\u00c8\3\u00c8\3\u00c8\5\u00c8\u0973\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5"+ + "\u00c8\u0978\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5"+ + "\u00c8\u0980\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0985\n\u00c8\3\u00c8"+ + "\3\u00c8\5\u00c8\u0989\n\u00c8\3\u00c9\3\u00c9\3\u00c9\7\u00c9\u098e\n"+ + "\u00c9\f\u00c9\16\u00c9\u0991\13\u00c9\3\u00ca\3\u00ca\3\u00ca\5\u00ca"+ + "\u0996\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u099d\n"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09a4\n\u00ca\3"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09ab\n\u00ca\3\u00ca\3"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09b3\n\u00ca\3\u00ca\3"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09ba\n\u00ca\3\u00ca\3\u00ca\3"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09c2\n\u00ca\3\u00cb\3\u00cb\5"+ + "\u00cb\u09c6\n\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09cd"+ + "\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09d4\n\u00cc"+ + "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09db\n\u00cc\3\u00cc"+ + "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09e3\n\u00cc\3\u00cc"+ + "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09ea\n\u00cc\3\u00cc\3\u00cc"+ + "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09f2\n\u00cc\3\u00cd\3\u00cd"+ + "\3\u00cd\3\u00cd\5\u00cd\u09f8\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ + "\5\u00cd\u09fe\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ + "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u0a0a\n\u00cd\3\u00ce\3\u00ce"+ + "\7\u00ce\u0a0e\n\u00ce\f\u00ce\16\u00ce\u0a11\13\u00ce\3\u00cf\7\u00cf"+ + "\u0a14\n\u00cf\f\u00cf\16\u00cf\u0a17\13\u00cf\3\u00cf\3\u00cf\3\u00cf"+ + "\3\u00cf\3\u00d0\3\u00d0\3\u00d1\3\u00d1\5\u00d1\u0a21\n\u00d1\3\u00d2"+ + "\3\u00d2\3\u00d2\3\u00d2\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a2a\n\u00d3"+ + "\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a31\n\u00d3\3\u00d4"+ + "\3\u00d4\3\u00d4\7\u00d4\u0a36\n\u00d4\f\u00d4\16\u00d4\u0a39\13\u00d4"+ + "\3\u00d5\3\u00d5\5\u00d5\u0a3d\n\u00d5\3\u00d6\3\u00d6\5\u00d6\u0a41\n"+ + "\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7\3\u00d8\3\u00d8\3\u00d8\5\u00d8"+ + "\u0a4a\n\u00d8\3\u00d9\3\u00d9\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da"+ + "\3\u00da\3\u00da\5\u00da\u0a55\n\u00da\3\u00db\3\u00db\3\u00db\3\u00db"+ + "\3\u00db\3\u00db\7\u00db\u0a5d\n\u00db\f\u00db\16\u00db\u0a60\13\u00db"+ + "\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\7\u00dc\u0a68\n\u00dc"+ + "\f\u00dc\16\u00dc\u0a6b\13\u00dc\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00dd"+ + "\3\u00dd\7\u00dd\u0a73\n\u00dd\f\u00dd\16\u00dd\u0a76\13\u00dd\3\u00de"+ + "\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\7\u00de\u0a7e\n\u00de\f\u00de"+ + "\16\u00de\u0a81\13\u00de\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df"+ + "\7\u00df\u0a89\n\u00df\f\u00df\16\u00df\u0a8c\13\u00df\3\u00e0\3\u00e0"+ + "\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\7\u00e0\u0a97"+ + "\n\u00e0\f\u00e0\16\u00e0\u0a9a\13\u00e0\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ - "\3\u00e1\3\u00e1\7\u00e1\u0aac\n\u00e1\f\u00e1\16\u00e1\u0aaf\13\u00e1"+ + "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\7\u00e1\u0aae\n\u00e1\f\u00e1"+ + "\16\u00e1\u0ab1\13\u00e1\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ "\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ - "\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\7\u00e2\u0ac1"+ - "\n\u00e2\f\u00e2\16\u00e2\u0ac4\13\u00e2\3\u00e3\3\u00e3\3\u00e3\3\u00e3"+ - "\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\7\u00e3\u0acf\n\u00e3\f\u00e3"+ - "\16\u00e3\u0ad2\13\u00e3\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4"+ - "\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\7\u00e4\u0ae0\n\u00e4"+ - "\f\u00e4\16\u00e4\u0ae3\13\u00e4\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5"+ - "\3\u00e5\3\u00e5\5\u00e5\u0aec\n\u00e5\3\u00e6\3\u00e6\3\u00e6\3\u00e7"+ - "\3\u00e7\3\u00e7\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\5\u00e8"+ - "\u0afa\n\u00e8\3\u00e9\3\u00e9\5\u00e9\u0afe\n\u00e9\3\u00e9\3\u00e9\7"+ - "\u00e9\u0b02\n\u00e9\f\u00e9\16\u00e9\u0b05\13\u00e9\3\u00ea\3\u00ea\3"+ - "\u00ea\3\u00eb\3\u00eb\3\u00ec\3\u00ec\3\u00ec\3\u00ed\3\u00ed\3\u00ee"+ - "\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b19"+ - "\n\u00ee\f\u00ee\16\u00ee\u0b1c\13\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee"+ - "\3\u00ee\3\u00ee\7\u00ee\u0b24\n\u00ee\f\u00ee\16\u00ee\u0b27\13\u00ee"+ - "\3\u00ee\3\u00ee\3\u00ee\5\u00ee\u0b2c\n\u00ee\3\u00ee\2\17\66:@\u01b4"+ - "\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4\u01c6\u00ef\2\4\6\b\n"+ - "\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\"+ - "^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090"+ - "\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8"+ - "\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0"+ - "\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8"+ - "\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0"+ - "\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104\u0106\u0108"+ - "\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120"+ - "\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0138"+ - "\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a\u014c\u014e\u0150"+ - "\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168"+ - "\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a\u017c\u017e\u0180"+ - "\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192\u0194\u0196\u0198"+ - "\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa\u01ac\u01ae\u01b0"+ - "\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4\u01c6\u01c8"+ - "\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\2\6\3\2\65:\7\2"+ - "\7\7\n\n\35\35\37\37\'\'\4\2\20\20\26\26\4\2DD]g\u0c20\2\u01dc\3\2\2\2"+ - "\4\u01e0\3\2\2\2\6\u01f0\3\2\2\2\b\u01f4\3\2\2\2\n\u01f6\3\2\2\2\f\u01f8"+ - "\3\2\2\2\16\u01fd\3\2\2\2\20\u0201\3\2\2\2\22\u0220\3\2\2\2\24\u0222\3"+ - "\2\2\2\26\u0230\3\2\2\2\30\u0237\3\2\2\2\32\u0239\3\2\2\2\34\u023b\3\2"+ - "\2\2\36\u0240\3\2\2\2 \u024e\3\2\2\2\"\u0253\3\2\2\2$\u0268\3\2\2\2&\u026f"+ - "\3\2\2\2(\u027b\3\2\2\2*\u027d\3\2\2\2,\u0280\3\2\2\2.\u0284\3\2\2\2\60"+ - "\u028e\3\2\2\2\62\u0293\3\2\2\2\64\u029e\3\2\2\2\66\u02a0\3\2\2\28\u02b0"+ - "\3\2\2\2:\u02b2\3\2\2\2<\u02c2\3\2\2\2>\u02c4\3\2\2\2@\u02c6\3\2\2\2B"+ - "\u02d2\3\2\2\2D\u02e5\3\2\2\2F\u02f3\3\2\2\2H\u02f9\3\2\2\2J\u02fb\3\2"+ - "\2\2L\u02ff\3\2\2\2N\u0305\3\2\2\2P\u030c\3\2\2\2R\u0316\3\2\2\2T\u031a"+ - "\3\2\2\2V\u031f\3\2\2\2X\u0337\3\2\2\2Z\u0339\3\2\2\2\\\u033d\3\2\2\2"+ - "^\u0345\3\2\2\2`\u0348\3\2\2\2b\u034b\3\2\2\2d\u0353\3\2\2\2f\u0360\3"+ - "\2\2\2h\u0367\3\2\2\2j\u036c\3\2\2\2l\u037d\3\2\2\2n\u037f\3\2\2\2p\u0387"+ - "\3\2\2\2r\u038c\3\2\2\2t\u0392\3\2\2\2v\u0396\3\2\2\2x\u039a\3\2\2\2z"+ - "\u039f\3\2\2\2|\u03a3\3\2\2\2~\u03bc\3\2\2\2\u0080\u03be\3\2\2\2\u0082"+ - "\u03c9\3\2\2\2\u0084\u03cd\3\2\2\2\u0086\u03cf\3\2\2\2\u0088\u03d1\3\2"+ - "\2\2\u008a\u03d3\3\2\2\2\u008c\u03de\3\2\2\2\u008e\u03e3\3\2\2\2\u0090"+ - "\u03f3\3\2\2\2\u0092\u0406\3\2\2\2\u0094\u040a\3\2\2\2\u0096\u040c\3\2"+ - "\2\2\u0098\u041a\3\2\2\2\u009a\u042c\3\2\2\2\u009c\u0431\3\2\2\2\u009e"+ - "\u0439\3\2\2\2\u00a0\u044c\3\2\2\2\u00a2\u0451\3\2\2\2\u00a4\u045b\3\2"+ - "\2\2\u00a6\u045e\3\2\2\2\u00a8\u0468\3\2\2\2\u00aa\u046c\3\2\2\2\u00ac"+ - "\u046e\3\2\2\2\u00ae\u0470\3\2\2\2\u00b0\u0476\3\2\2\2\u00b2\u0483\3\2"+ - "\2\2\u00b4\u0486\3\2\2\2\u00b6\u048f\3\2\2\2\u00b8\u0491\3\2\2\2\u00ba"+ - "\u04c8\3\2\2\2\u00bc\u04cd\3\2\2\2\u00be\u04d7\3\2\2\2\u00c0\u04e3\3\2"+ - "\2\2\u00c2\u04ee\3\2\2\2\u00c4\u04fc\3\2\2\2\u00c6\u04fe\3\2\2\2\u00c8"+ - "\u0507\3\2\2\2\u00ca\u050c\3\2\2\2\u00cc\u0520\3\2\2\2\u00ce\u0522\3\2"+ - "\2\2\u00d0\u0525\3\2\2\2\u00d2\u0533\3\2\2\2\u00d4\u0538\3\2\2\2\u00d6"+ - "\u0543\3\2\2\2\u00d8\u0548\3\2\2\2\u00da\u0554\3\2\2\2\u00dc\u0559\3\2"+ - "\2\2\u00de\u0561\3\2\2\2\u00e0\u056f\3\2\2\2\u00e2\u0574\3\2\2\2\u00e4"+ - "\u0586\3\2\2\2\u00e6\u0588\3\2\2\2\u00e8\u058e\3\2\2\2\u00ea\u0590\3\2"+ - "\2\2\u00ec\u0598\3\2\2\2\u00ee\u05a0\3\2\2\2\u00f0\u05a7\3\2\2\2\u00f2"+ - "\u05a9\3\2\2\2\u00f4\u05b2\3\2\2\2\u00f6\u05ba\3\2\2\2\u00f8\u05bd\3\2"+ - "\2\2\u00fa\u05c3\3\2\2\2\u00fc\u05cc\3\2\2\2\u00fe\u05d4\3\2\2\2\u0100"+ - "\u05da\3\2\2\2\u0102\u05e4\3\2\2\2\u0104\u05e6\3\2\2\2\u0106\u05ec\3\2"+ - "\2\2\u0108\u05f8\3\2\2\2\u010a\u05ff\3\2\2\2\u010c\u060d\3\2\2\2\u010e"+ - "\u060f\3\2\2\2\u0110\u0611\3\2\2\2\u0112\u0615\3\2\2\2\u0114\u0619\3\2"+ - "\2\2\u0116\u0623\3\2\2\2\u0118\u0625\3\2\2\2\u011a\u062b\3\2\2\2\u011c"+ - "\u0633\3\2\2\2\u011e\u0645\3\2\2\2\u0120\u0647\3\2\2\2\u0122\u064d\3\2"+ - "\2\2\u0124\u065c\3\2\2\2\u0126\u065f\3\2\2\2\u0128\u0670\3\2\2\2\u012a"+ - "\u0672\3\2\2\2\u012c\u0674\3\2\2\2\u012e\u067a\3\2\2\2\u0130\u0680\3\2"+ - "\2\2\u0132\u068a\3\2\2\2\u0134\u068e\3\2\2\2\u0136\u0690\3\2\2\2\u0138"+ - "\u06a0\3\2\2\2\u013a\u06b2\3\2\2\2\u013c\u06b4\3\2\2\2\u013e\u06b6\3\2"+ - "\2\2\u0140\u06be\3\2\2\2\u0142\u06cd\3\2\2\2\u0144\u06dc\3\2\2\2\u0146"+ - "\u06e2\3\2\2\2\u0148\u06e8\3\2\2\2\u014a\u06ee\3\2\2\2\u014c\u06f2\3\2"+ - "\2\2\u014e\u0704\3\2\2\2\u0150\u0706\3\2\2\2\u0152\u070d\3\2\2\2\u0154"+ - "\u0716\3\2\2\2\u0156\u071c\3\2\2\2\u0158\u0724\3\2\2\2\u015a\u0727\3\2"+ - "\2\2\u015c\u0730\3\2\2\2\u015e\u0737\3\2\2\2\u0160\u0742\3\2\2\2\u0162"+ - "\u074c\3\2\2\2\u0164\u0771\3\2\2\2\u0166\u0773\3\2\2\2\u0168\u0791\3\2"+ - "\2\2\u016a\u0798\3\2\2\2\u016c\u079a\3\2\2\2\u016e\u07a0\3\2\2\2\u0170"+ - "\u07ca\3\2\2\2\u0172\u07cc\3\2\2\2\u0174\u07f5\3\2\2\2\u0176\u084a\3\2"+ - "\2\2\u0178\u084c\3\2\2\2\u017a\u089e\3\2\2\2\u017c\u08a3\3\2\2\2\u017e"+ - "\u08b2\3\2\2\2\u0180\u08b4\3\2\2\2\u0182\u08c0\3\2\2\2\u0184\u08cc\3\2"+ - "\2\2\u0186\u08d8\3\2\2\2\u0188\u08f1\3\2\2\2\u018a\u0941\3\2\2\2\u018c"+ - "\u0943\3\2\2\2\u018e\u0986\3\2\2\2\u0190\u0988\3\2\2\2\u0192\u09bf\3\2"+ - "\2\2\u0194\u09c1\3\2\2\2\u0196\u09ef\3\2\2\2\u0198\u0a07\3\2\2\2\u019a"+ - "\u0a09\3\2\2\2\u019c\u0a13\3\2\2\2\u019e\u0a1a\3\2\2\2\u01a0\u0a1e\3\2"+ - "\2\2\u01a2\u0a20\3\2\2\2\u01a4\u0a2e\3\2\2\2\u01a6\u0a30\3\2\2\2\u01a8"+ - "\u0a3a\3\2\2\2\u01aa\u0a3e\3\2\2\2\u01ac\u0a40\3\2\2\2\u01ae\u0a47\3\2"+ - "\2\2\u01b0\u0a49\3\2\2\2\u01b2\u0a52\3\2\2\2\u01b4\u0a54\3\2\2\2\u01b6"+ - "\u0a5f\3\2\2\2\u01b8\u0a6a\3\2\2\2\u01ba\u0a75\3\2\2\2\u01bc\u0a80\3\2"+ - "\2\2\u01be\u0a8b\3\2\2\2\u01c0\u0a99\3\2\2\2\u01c2\u0ab0\3\2\2\2\u01c4"+ - "\u0ac5\3\2\2\2\u01c6\u0ad3\3\2\2\2\u01c8\u0aeb\3\2\2\2\u01ca\u0aed\3\2"+ - "\2\2\u01cc\u0af0\3\2\2\2\u01ce\u0af9\3\2\2\2\u01d0\u0afd\3\2\2\2\u01d2"+ - "\u0b06\3\2\2\2\u01d4\u0b09\3\2\2\2\u01d6\u0b0b\3\2\2\2\u01d8\u0b0e\3\2"+ - "\2\2\u01da\u0b2b\3\2\2\2\u01dc\u01dd\t\2\2\2\u01dd\3\3\2\2\2\u01de\u01e1"+ - "\5\6\4\2\u01df\u01e1\5\16\b\2\u01e0\u01de\3\2\2\2\u01e0\u01df\3\2\2\2"+ - "\u01e1\5\3\2\2\2\u01e2\u01e4\5\u00e8u\2\u01e3\u01e2\3\2\2\2\u01e4\u01e7"+ - "\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6\u01e8\3\2\2\2\u01e7"+ - "\u01e5\3\2\2\2\u01e8\u01f1\5\b\5\2\u01e9\u01eb\5\u00e8u\2\u01ea\u01e9"+ - "\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea\3\2\2\2\u01ec\u01ed\3\2\2\2\u01ed"+ - "\u01ef\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef\u01f1\7\5\2\2\u01f0\u01e5\3\2"+ - "\2\2\u01f0\u01ec\3\2\2\2\u01f1\7\3\2\2\2\u01f2\u01f5\5\n\6\2\u01f3\u01f5"+ - "\5\f\7\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3\3\2\2\2\u01f5\t\3\2\2\2\u01f6"+ - "\u01f7\t\3\2\2\u01f7\13\3\2\2\2\u01f8\u01f9\t\4\2\2\u01f9\r\3\2\2\2\u01fa"+ - "\u01fe\5\20\t\2\u01fb\u01fe\5\36\20\2\u01fc\u01fe\5 \21\2\u01fd\u01fa"+ - "\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fd\u01fc\3\2\2\2\u01fe\17\3\2\2\2\u01ff"+ - "\u0202\5\26\f\2\u0200\u0202\5\34\17\2\u0201\u01ff\3\2\2\2\u0201\u0200"+ - "\3\2\2\2\u0202\u0207\3\2\2\2\u0203\u0206\5\24\13\2\u0204\u0206\5\32\16"+ - "\2\u0205\u0203\3\2\2\2\u0205\u0204\3\2\2\2\u0206\u0209\3\2\2\2\u0207\u0205"+ - "\3\2\2\2\u0207\u0208\3\2\2\2\u0208\21\3\2\2\2\u0209\u0207\3\2\2\2\u020a"+ - "\u020c\5\u00e8u\2\u020b\u020a\3\2\2\2\u020c\u020f\3\2\2\2\u020d\u020b"+ - "\3\2\2\2\u020d\u020e\3\2\2\2\u020e\u0210\3\2\2\2\u020f\u020d\3\2\2\2\u0210"+ - "\u0212\7h\2\2\u0211\u0213\5,\27\2\u0212\u0211\3\2\2\2\u0212\u0213\3\2"+ - "\2\2\u0213\u0221\3\2\2\2\u0214\u0215\5\20\t\2\u0215\u0219\7C\2\2\u0216"+ - "\u0218\5\u00e8u\2\u0217\u0216\3\2\2\2\u0218\u021b\3\2\2\2\u0219\u0217"+ - "\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021c\3\2\2\2\u021b\u0219\3\2\2\2\u021c"+ - "\u021e\7h\2\2\u021d\u021f\5,\27\2\u021e\u021d\3\2\2\2\u021e\u021f\3\2"+ - "\2\2\u021f\u0221\3\2\2\2\u0220\u020d\3\2\2\2\u0220\u0214\3\2\2\2\u0221"+ - "\23\3\2\2\2\u0222\u0226\7C\2\2\u0223\u0225\5\u00e8u\2\u0224\u0223\3\2"+ - "\2\2\u0225\u0228\3\2\2\2\u0226\u0224\3\2\2\2\u0226\u0227\3\2\2\2\u0227"+ - "\u0229\3\2\2\2\u0228\u0226\3\2\2\2\u0229\u022b\7h\2\2\u022a\u022c\5,\27"+ - "\2\u022b\u022a\3\2\2\2\u022b\u022c\3\2\2\2\u022c\25\3\2\2\2\u022d\u022f"+ - "\5\u00e8u\2\u022e\u022d\3\2\2\2\u022f\u0232\3\2\2\2\u0230\u022e\3\2\2"+ - "\2\u0230\u0231\3\2\2\2\u0231\u0233\3\2\2\2\u0232\u0230\3\2\2\2\u0233\u0235"+ - "\7h\2\2\u0234\u0236\5,\27\2\u0235\u0234\3\2\2\2\u0235\u0236\3\2\2\2\u0236"+ - "\27\3\2\2\2\u0237\u0238\5\22\n\2\u0238\31\3\2\2\2\u0239\u023a\5\24\13"+ - "\2\u023a\33\3\2\2\2\u023b\u023c\5\26\f\2\u023c\35\3\2\2\2\u023d\u023f"+ - "\5\u00e8u\2\u023e\u023d\3\2\2\2\u023f\u0242\3\2\2\2\u0240\u023e\3\2\2"+ - "\2\u0240\u0241\3\2\2\2\u0241\u0243\3\2\2\2\u0242\u0240\3\2\2\2\u0243\u0244"+ - "\7h\2\2\u0244\37\3\2\2\2\u0245\u0246\5\6\4\2\u0246\u0247\5\"\22\2\u0247"+ - "\u024f\3\2\2\2\u0248\u0249\5\20\t\2\u0249\u024a\5\"\22\2\u024a\u024f\3"+ - "\2\2\2\u024b\u024c\5\36\20\2\u024c\u024d\5\"\22\2\u024d\u024f\3\2\2\2"+ - "\u024e\u0245\3\2\2\2\u024e\u0248\3\2\2\2\u024e\u024b\3\2\2\2\u024f!\3"+ - "\2\2\2\u0250\u0252\5\u00e8u\2\u0251\u0250\3\2\2\2\u0252\u0255\3\2\2\2"+ - "\u0253\u0251\3\2\2\2\u0253\u0254\3\2\2\2\u0254\u0256\3\2\2\2\u0255\u0253"+ - "\3\2\2\2\u0256\u0257\7?\2\2\u0257\u0262\7@\2\2\u0258\u025a\5\u00e8u\2"+ - "\u0259\u0258\3\2\2\2\u025a\u025d\3\2\2\2\u025b\u0259\3\2\2\2\u025b\u025c"+ - "\3\2\2\2\u025c\u025e\3\2\2\2\u025d\u025b\3\2\2\2\u025e\u025f\7?\2\2\u025f"+ - "\u0261\7@\2\2\u0260\u025b\3\2\2\2\u0261\u0264\3\2\2\2\u0262\u0260\3\2"+ - "\2\2\u0262\u0263\3\2\2\2\u0263#\3\2\2\2\u0264\u0262\3\2\2\2\u0265\u0267"+ - "\5&\24\2\u0266\u0265\3\2\2\2\u0267\u026a\3\2\2\2\u0268\u0266\3\2\2\2\u0268"+ - "\u0269\3\2\2\2\u0269\u026b\3\2\2\2\u026a\u0268\3\2\2\2\u026b\u026d\7h"+ - "\2\2\u026c\u026e\5(\25\2\u026d\u026c\3\2\2\2\u026d\u026e\3\2\2\2\u026e"+ - "%\3\2\2\2\u026f\u0270\5\u00e8u\2\u0270\'\3\2\2\2\u0271\u0272\7\23\2\2"+ - "\u0272\u027c\5\36\20\2\u0273\u0274\7\23\2\2\u0274\u0278\5\20\t\2\u0275"+ - "\u0277\5*\26\2\u0276\u0275\3\2\2\2\u0277\u027a\3\2\2\2\u0278\u0276\3\2"+ - "\2\2\u0278\u0279\3\2\2\2\u0279\u027c\3\2\2\2\u027a\u0278\3\2\2\2\u027b"+ - "\u0271\3\2\2\2\u027b\u0273\3\2\2\2\u027c)\3\2\2\2\u027d\u027e\7W\2\2\u027e"+ - "\u027f\5\30\r\2\u027f+\3\2\2\2\u0280\u0281\7F\2\2\u0281\u0282\5.\30\2"+ - "\u0282\u0283\7E\2\2\u0283-\3\2\2\2\u0284\u0289\5\60\31\2\u0285\u0286\7"+ - "B\2\2\u0286\u0288\5\60\31\2\u0287\u0285\3\2\2\2\u0288\u028b\3\2\2\2\u0289"+ - "\u0287\3\2\2\2\u0289\u028a\3\2\2\2\u028a/\3\2\2\2\u028b\u0289\3\2\2\2"+ - "\u028c\u028f\5\16\b\2\u028d\u028f\5\62\32\2\u028e\u028c\3\2\2\2\u028e"+ - "\u028d\3\2\2\2\u028f\61\3\2\2\2\u0290\u0292\5\u00e8u\2\u0291\u0290\3\2"+ - "\2\2\u0292\u0295\3\2\2\2\u0293\u0291\3\2\2\2\u0293\u0294\3\2\2\2\u0294"+ + "\3\u00e2\7\u00e2\u0ac3\n\u00e2\f\u00e2\16\u00e2\u0ac6\13\u00e2\3\u00e3"+ + "\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\7\u00e3"+ + "\u0ad1\n\u00e3\f\u00e3\16\u00e3\u0ad4\13\u00e3\3\u00e4\3\u00e4\3\u00e4"+ + "\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4"+ + "\7\u00e4\u0ae2\n\u00e4\f\u00e4\16\u00e4\u0ae5\13\u00e4\3\u00e5\3\u00e5"+ + "\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\5\u00e5\u0aee\n\u00e5\3\u00e6"+ + "\3\u00e6\3\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e8\3\u00e8\3\u00e8\3\u00e8"+ + "\3\u00e8\3\u00e8\5\u00e8\u0afc\n\u00e8\3\u00e9\3\u00e9\5\u00e9\u0b00\n"+ + "\u00e9\3\u00e9\3\u00e9\7\u00e9\u0b04\n\u00e9\f\u00e9\16\u00e9\u0b07\13"+ + "\u00e9\3\u00ea\3\u00ea\3\u00ea\3\u00eb\3\u00eb\3\u00ec\3\u00ec\3\u00ec"+ + "\3\u00ed\3\u00ed\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee"+ + "\3\u00ee\7\u00ee\u0b1b\n\u00ee\f\u00ee\16\u00ee\u0b1e\13\u00ee\3\u00ee"+ + "\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b26\n\u00ee\f\u00ee"+ + "\16\u00ee\u0b29\13\u00ee\3\u00ee\3\u00ee\3\u00ee\5\u00ee\u0b2e\n\u00ee"+ + "\3\u00ee\2\17\66:@\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4"+ + "\u01c6\u00ef\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64"+ + "\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088"+ + "\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0"+ + "\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8"+ + "\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0"+ + "\u00d2\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8"+ + "\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100"+ + "\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118"+ + "\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130"+ + "\u0132\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148"+ + "\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160"+ + "\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178"+ + "\u017a\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190"+ + "\u0192\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8"+ + "\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0"+ + "\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8"+ + "\u01da\2\6\3\2\65:\7\2\7\7\n\n\35\35\37\37\'\'\4\2\20\20\26\26\4\2DD]"+ + "g\u0c23\2\u01dc\3\2\2\2\4\u01e0\3\2\2\2\6\u01f0\3\2\2\2\b\u01f4\3\2\2"+ + "\2\n\u01f6\3\2\2\2\f\u01f8\3\2\2\2\16\u01fd\3\2\2\2\20\u0201\3\2\2\2\22"+ + "\u0220\3\2\2\2\24\u0222\3\2\2\2\26\u0230\3\2\2\2\30\u0237\3\2\2\2\32\u0239"+ + "\3\2\2\2\34\u023b\3\2\2\2\36\u0240\3\2\2\2 \u024e\3\2\2\2\"\u0253\3\2"+ + "\2\2$\u0268\3\2\2\2&\u026f\3\2\2\2(\u027b\3\2\2\2*\u027d\3\2\2\2,\u0280"+ + "\3\2\2\2.\u0284\3\2\2\2\60\u028e\3\2\2\2\62\u0293\3\2\2\2\64\u029e\3\2"+ + "\2\2\66\u02a0\3\2\2\28\u02b0\3\2\2\2:\u02b2\3\2\2\2<\u02c2\3\2\2\2>\u02c4"+ + "\3\2\2\2@\u02c6\3\2\2\2B\u02d2\3\2\2\2D\u02e5\3\2\2\2F\u02f3\3\2\2\2H"+ + "\u02f9\3\2\2\2J\u02fb\3\2\2\2L\u02ff\3\2\2\2N\u0305\3\2\2\2P\u030c\3\2"+ + "\2\2R\u0316\3\2\2\2T\u031a\3\2\2\2V\u031f\3\2\2\2X\u0337\3\2\2\2Z\u0339"+ + "\3\2\2\2\\\u033d\3\2\2\2^\u0345\3\2\2\2`\u0348\3\2\2\2b\u034b\3\2\2\2"+ + "d\u0353\3\2\2\2f\u0360\3\2\2\2h\u0367\3\2\2\2j\u036c\3\2\2\2l\u037d\3"+ + "\2\2\2n\u037f\3\2\2\2p\u0387\3\2\2\2r\u038c\3\2\2\2t\u0392\3\2\2\2v\u0396"+ + "\3\2\2\2x\u039a\3\2\2\2z\u039f\3\2\2\2|\u03a3\3\2\2\2~\u03bc\3\2\2\2\u0080"+ + "\u03be\3\2\2\2\u0082\u03c9\3\2\2\2\u0084\u03cd\3\2\2\2\u0086\u03cf\3\2"+ + "\2\2\u0088\u03d1\3\2\2\2\u008a\u03d3\3\2\2\2\u008c\u03de\3\2\2\2\u008e"+ + "\u03e3\3\2\2\2\u0090\u03f3\3\2\2\2\u0092\u0406\3\2\2\2\u0094\u040a\3\2"+ + "\2\2\u0096\u040c\3\2\2\2\u0098\u041a\3\2\2\2\u009a\u042c\3\2\2\2\u009c"+ + "\u0431\3\2\2\2\u009e\u043b\3\2\2\2\u00a0\u044e\3\2\2\2\u00a2\u0453\3\2"+ + "\2\2\u00a4\u045d\3\2\2\2\u00a6\u0460\3\2\2\2\u00a8\u046a\3\2\2\2\u00aa"+ + "\u046e\3\2\2\2\u00ac\u0470\3\2\2\2\u00ae\u0472\3\2\2\2\u00b0\u0478\3\2"+ + "\2\2\u00b2\u0485\3\2\2\2\u00b4\u0488\3\2\2\2\u00b6\u0491\3\2\2\2\u00b8"+ + "\u0493\3\2\2\2\u00ba\u04ca\3\2\2\2\u00bc\u04cf\3\2\2\2\u00be\u04d9\3\2"+ + "\2\2\u00c0\u04e5\3\2\2\2\u00c2\u04f0\3\2\2\2\u00c4\u04fe\3\2\2\2\u00c6"+ + "\u0500\3\2\2\2\u00c8\u0509\3\2\2\2\u00ca\u050e\3\2\2\2\u00cc\u0522\3\2"+ + "\2\2\u00ce\u0524\3\2\2\2\u00d0\u0527\3\2\2\2\u00d2\u0535\3\2\2\2\u00d4"+ + "\u053a\3\2\2\2\u00d6\u0545\3\2\2\2\u00d8\u054a\3\2\2\2\u00da\u0556\3\2"+ + "\2\2\u00dc\u055b\3\2\2\2\u00de\u0563\3\2\2\2\u00e0\u0571\3\2\2\2\u00e2"+ + "\u0576\3\2\2\2\u00e4\u0588\3\2\2\2\u00e6\u058a\3\2\2\2\u00e8\u0590\3\2"+ + "\2\2\u00ea\u0592\3\2\2\2\u00ec\u059a\3\2\2\2\u00ee\u05a2\3\2\2\2\u00f0"+ + "\u05a9\3\2\2\2\u00f2\u05ab\3\2\2\2\u00f4\u05b4\3\2\2\2\u00f6\u05bc\3\2"+ + "\2\2\u00f8\u05bf\3\2\2\2\u00fa\u05c5\3\2\2\2\u00fc\u05ce\3\2\2\2\u00fe"+ + "\u05d6\3\2\2\2\u0100\u05dc\3\2\2\2\u0102\u05e6\3\2\2\2\u0104\u05e8\3\2"+ + "\2\2\u0106\u05ee\3\2\2\2\u0108\u05fa\3\2\2\2\u010a\u0601\3\2\2\2\u010c"+ + "\u060f\3\2\2\2\u010e\u0611\3\2\2\2\u0110\u0613\3\2\2\2\u0112\u0617\3\2"+ + "\2\2\u0114\u061b\3\2\2\2\u0116\u0625\3\2\2\2\u0118\u0627\3\2\2\2\u011a"+ + "\u062d\3\2\2\2\u011c\u0635\3\2\2\2\u011e\u0647\3\2\2\2\u0120\u0649\3\2"+ + "\2\2\u0122\u064f\3\2\2\2\u0124\u065e\3\2\2\2\u0126\u0661\3\2\2\2\u0128"+ + "\u0672\3\2\2\2\u012a\u0674\3\2\2\2\u012c\u0676\3\2\2\2\u012e\u067c\3\2"+ + "\2\2\u0130\u0682\3\2\2\2\u0132\u068c\3\2\2\2\u0134\u0690\3\2\2\2\u0136"+ + "\u0692\3\2\2\2\u0138\u06a2\3\2\2\2\u013a\u06b4\3\2\2\2\u013c\u06b6\3\2"+ + "\2\2\u013e\u06b8\3\2\2\2\u0140\u06c0\3\2\2\2\u0142\u06cf\3\2\2\2\u0144"+ + "\u06de\3\2\2\2\u0146\u06e4\3\2\2\2\u0148\u06ea\3\2\2\2\u014a\u06f0\3\2"+ + "\2\2\u014c\u06f4\3\2\2\2\u014e\u0706\3\2\2\2\u0150\u0708\3\2\2\2\u0152"+ + "\u070f\3\2\2\2\u0154\u0718\3\2\2\2\u0156\u071e\3\2\2\2\u0158\u0726\3\2"+ + "\2\2\u015a\u0729\3\2\2\2\u015c\u0732\3\2\2\2\u015e\u0739\3\2\2\2\u0160"+ + "\u0744\3\2\2\2\u0162\u074e\3\2\2\2\u0164\u0773\3\2\2\2\u0166\u0775\3\2"+ + "\2\2\u0168\u0793\3\2\2\2\u016a\u079a\3\2\2\2\u016c\u079c\3\2\2\2\u016e"+ + "\u07a2\3\2\2\2\u0170\u07cc\3\2\2\2\u0172\u07ce\3\2\2\2\u0174\u07f7\3\2"+ + "\2\2\u0176\u084c\3\2\2\2\u0178\u084e\3\2\2\2\u017a\u08a0\3\2\2\2\u017c"+ + "\u08a5\3\2\2\2\u017e\u08b4\3\2\2\2\u0180\u08b6\3\2\2\2\u0182\u08c2\3\2"+ + "\2\2\u0184\u08ce\3\2\2\2\u0186\u08da\3\2\2\2\u0188\u08f3\3\2\2\2\u018a"+ + "\u0943\3\2\2\2\u018c\u0945\3\2\2\2\u018e\u0988\3\2\2\2\u0190\u098a\3\2"+ + "\2\2\u0192\u09c1\3\2\2\2\u0194\u09c3\3\2\2\2\u0196\u09f1\3\2\2\2\u0198"+ + "\u0a09\3\2\2\2\u019a\u0a0b\3\2\2\2\u019c\u0a15\3\2\2\2\u019e\u0a1c\3\2"+ + "\2\2\u01a0\u0a20\3\2\2\2\u01a2\u0a22\3\2\2\2\u01a4\u0a30\3\2\2\2\u01a6"+ + "\u0a32\3\2\2\2\u01a8\u0a3c\3\2\2\2\u01aa\u0a40\3\2\2\2\u01ac\u0a42\3\2"+ + "\2\2\u01ae\u0a49\3\2\2\2\u01b0\u0a4b\3\2\2\2\u01b2\u0a54\3\2\2\2\u01b4"+ + "\u0a56\3\2\2\2\u01b6\u0a61\3\2\2\2\u01b8\u0a6c\3\2\2\2\u01ba\u0a77\3\2"+ + "\2\2\u01bc\u0a82\3\2\2\2\u01be\u0a8d\3\2\2\2\u01c0\u0a9b\3\2\2\2\u01c2"+ + "\u0ab2\3\2\2\2\u01c4\u0ac7\3\2\2\2\u01c6\u0ad5\3\2\2\2\u01c8\u0aed\3\2"+ + "\2\2\u01ca\u0aef\3\2\2\2\u01cc\u0af2\3\2\2\2\u01ce\u0afb\3\2\2\2\u01d0"+ + "\u0aff\3\2\2\2\u01d2\u0b08\3\2\2\2\u01d4\u0b0b\3\2\2\2\u01d6\u0b0d\3\2"+ + "\2\2\u01d8\u0b10\3\2\2\2\u01da\u0b2d\3\2\2\2\u01dc\u01dd\t\2\2\2\u01dd"+ + "\3\3\2\2\2\u01de\u01e1\5\6\4\2\u01df\u01e1\5\16\b\2\u01e0\u01de\3\2\2"+ + "\2\u01e0\u01df\3\2\2\2\u01e1\5\3\2\2\2\u01e2\u01e4\5\u00e8u\2\u01e3\u01e2"+ + "\3\2\2\2\u01e4\u01e7\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6"+ + "\u01e8\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e8\u01f1\5\b\5\2\u01e9\u01eb\5\u00e8"+ + "u\2\u01ea\u01e9\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea\3\2\2\2\u01ec"+ + "\u01ed\3\2\2\2\u01ed\u01ef\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef\u01f1\7\5"+ + "\2\2\u01f0\u01e5\3\2\2\2\u01f0\u01ec\3\2\2\2\u01f1\7\3\2\2\2\u01f2\u01f5"+ + "\5\n\6\2\u01f3\u01f5\5\f\7\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3\3\2\2\2\u01f5"+ + "\t\3\2\2\2\u01f6\u01f7\t\3\2\2\u01f7\13\3\2\2\2\u01f8\u01f9\t\4\2\2\u01f9"+ + "\r\3\2\2\2\u01fa\u01fe\5\20\t\2\u01fb\u01fe\5\36\20\2\u01fc\u01fe\5 \21"+ + "\2\u01fd\u01fa\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fd\u01fc\3\2\2\2\u01fe\17"+ + "\3\2\2\2\u01ff\u0202\5\26\f\2\u0200\u0202\5\34\17\2\u0201\u01ff\3\2\2"+ + "\2\u0201\u0200\3\2\2\2\u0202\u0207\3\2\2\2\u0203\u0206\5\24\13\2\u0204"+ + "\u0206\5\32\16\2\u0205\u0203\3\2\2\2\u0205\u0204\3\2\2\2\u0206\u0209\3"+ + "\2\2\2\u0207\u0205\3\2\2\2\u0207\u0208\3\2\2\2\u0208\21\3\2\2\2\u0209"+ + "\u0207\3\2\2\2\u020a\u020c\5\u00e8u\2\u020b\u020a\3\2\2\2\u020c\u020f"+ + "\3\2\2\2\u020d\u020b\3\2\2\2\u020d\u020e\3\2\2\2\u020e\u0210\3\2\2\2\u020f"+ + "\u020d\3\2\2\2\u0210\u0212\7h\2\2\u0211\u0213\5,\27\2\u0212\u0211\3\2"+ + "\2\2\u0212\u0213\3\2\2\2\u0213\u0221\3\2\2\2\u0214\u0215\5\20\t\2\u0215"+ + "\u0219\7C\2\2\u0216\u0218\5\u00e8u\2\u0217\u0216\3\2\2\2\u0218\u021b\3"+ + "\2\2\2\u0219\u0217\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021c\3\2\2\2\u021b"+ + "\u0219\3\2\2\2\u021c\u021e\7h\2\2\u021d\u021f\5,\27\2\u021e\u021d\3\2"+ + "\2\2\u021e\u021f\3\2\2\2\u021f\u0221\3\2\2\2\u0220\u020d\3\2\2\2\u0220"+ + "\u0214\3\2\2\2\u0221\23\3\2\2\2\u0222\u0226\7C\2\2\u0223\u0225\5\u00e8"+ + "u\2\u0224\u0223\3\2\2\2\u0225\u0228\3\2\2\2\u0226\u0224\3\2\2\2\u0226"+ + "\u0227\3\2\2\2\u0227\u0229\3\2\2\2\u0228\u0226\3\2\2\2\u0229\u022b\7h"+ + "\2\2\u022a\u022c\5,\27\2\u022b\u022a\3\2\2\2\u022b\u022c\3\2\2\2\u022c"+ + "\25\3\2\2\2\u022d\u022f\5\u00e8u\2\u022e\u022d\3\2\2\2\u022f\u0232\3\2"+ + "\2\2\u0230\u022e\3\2\2\2\u0230\u0231\3\2\2\2\u0231\u0233\3\2\2\2\u0232"+ + "\u0230\3\2\2\2\u0233\u0235\7h\2\2\u0234\u0236\5,\27\2\u0235\u0234\3\2"+ + "\2\2\u0235\u0236\3\2\2\2\u0236\27\3\2\2\2\u0237\u0238\5\22\n\2\u0238\31"+ + "\3\2\2\2\u0239\u023a\5\24\13\2\u023a\33\3\2\2\2\u023b\u023c\5\26\f\2\u023c"+ + "\35\3\2\2\2\u023d\u023f\5\u00e8u\2\u023e\u023d\3\2\2\2\u023f\u0242\3\2"+ + "\2\2\u0240\u023e\3\2\2\2\u0240\u0241\3\2\2\2\u0241\u0243\3\2\2\2\u0242"+ + "\u0240\3\2\2\2\u0243\u0244\7h\2\2\u0244\37\3\2\2\2\u0245\u0246\5\6\4\2"+ + "\u0246\u0247\5\"\22\2\u0247\u024f\3\2\2\2\u0248\u0249\5\20\t\2\u0249\u024a"+ + "\5\"\22\2\u024a\u024f\3\2\2\2\u024b\u024c\5\36\20\2\u024c\u024d\5\"\22"+ + "\2\u024d\u024f\3\2\2\2\u024e\u0245\3\2\2\2\u024e\u0248\3\2\2\2\u024e\u024b"+ + "\3\2\2\2\u024f!\3\2\2\2\u0250\u0252\5\u00e8u\2\u0251\u0250\3\2\2\2\u0252"+ + "\u0255\3\2\2\2\u0253\u0251\3\2\2\2\u0253\u0254\3\2\2\2\u0254\u0256\3\2"+ + "\2\2\u0255\u0253\3\2\2\2\u0256\u0257\7?\2\2\u0257\u0262\7@\2\2\u0258\u025a"+ + "\5\u00e8u\2\u0259\u0258\3\2\2\2\u025a\u025d\3\2\2\2\u025b\u0259\3\2\2"+ + "\2\u025b\u025c\3\2\2\2\u025c\u025e\3\2\2\2\u025d\u025b\3\2\2\2\u025e\u025f"+ + "\7?\2\2\u025f\u0261\7@\2\2\u0260\u025b\3\2\2\2\u0261\u0264\3\2\2\2\u0262"+ + "\u0260\3\2\2\2\u0262\u0263\3\2\2\2\u0263#\3\2\2\2\u0264\u0262\3\2\2\2"+ + "\u0265\u0267\5&\24\2\u0266\u0265\3\2\2\2\u0267\u026a\3\2\2\2\u0268\u0266"+ + "\3\2\2\2\u0268\u0269\3\2\2\2\u0269\u026b\3\2\2\2\u026a\u0268\3\2\2\2\u026b"+ + "\u026d\7h\2\2\u026c\u026e\5(\25\2\u026d\u026c\3\2\2\2\u026d\u026e\3\2"+ + "\2\2\u026e%\3\2\2\2\u026f\u0270\5\u00e8u\2\u0270\'\3\2\2\2\u0271\u0272"+ + "\7\23\2\2\u0272\u027c\5\36\20\2\u0273\u0274\7\23\2\2\u0274\u0278\5\20"+ + "\t\2\u0275\u0277\5*\26\2\u0276\u0275\3\2\2\2\u0277\u027a\3\2\2\2\u0278"+ + "\u0276\3\2\2\2\u0278\u0279\3\2\2\2\u0279\u027c\3\2\2\2\u027a\u0278\3\2"+ + "\2\2\u027b\u0271\3\2\2\2\u027b\u0273\3\2\2\2\u027c)\3\2\2\2\u027d\u027e"+ + "\7W\2\2\u027e\u027f\5\30\r\2\u027f+\3\2\2\2\u0280\u0281\7F\2\2\u0281\u0282"+ + "\5.\30\2\u0282\u0283\7E\2\2\u0283-\3\2\2\2\u0284\u0289\5\60\31\2\u0285"+ + "\u0286\7B\2\2\u0286\u0288\5\60\31\2\u0287\u0285\3\2\2\2\u0288\u028b\3"+ + "\2\2\2\u0289\u0287\3\2\2\2\u0289\u028a\3\2\2\2\u028a/\3\2\2\2\u028b\u0289"+ + "\3\2\2\2\u028c\u028f\5\16\b\2\u028d\u028f\5\62\32\2\u028e\u028c\3\2\2"+ + "\2\u028e\u028d\3\2\2\2\u028f\61\3\2\2\2\u0290\u0292\5\u00e8u\2\u0291\u0290"+ + "\3\2\2\2\u0292\u0295\3\2\2\2\u0293\u0291\3\2\2\2\u0293\u0294\3\2\2\2\u0294"+ "\u0296\3\2\2\2\u0295\u0293\3\2\2\2\u0296\u0298\7I\2\2\u0297\u0299\5\64"+ "\33\2\u0298\u0297\3\2\2\2\u0298\u0299\3\2\2\2\u0299\63\3\2\2\2\u029a\u029b"+ "\7\23\2\2\u029b\u029f\5\16\b\2\u029c\u029d\7*\2\2\u029d\u029f\5\16\b\2"+ @@ -17885,642 +17893,641 @@ public class Java8Parser extends Parser { "\u042b\3\2\2\2\u0429\u0427\3\2\2\2\u0429\u042a\3\2\2\2\u042a\u042d\3\2"+ "\2\2\u042b\u0429\3\2\2\2\u042c\u041c\3\2\2\2\u042c\u0424\3\2\2\2\u042d"+ "\u009b\3\2\2\2\u042e\u0430\5\u009eP\2\u042f\u042e\3\2\2\2\u0430\u0433"+ - "\3\2\2\2\u0431\u042f\3\2\2\2\u0431\u0432\3\2\2\2\u0432\u0434\3\2\2\2\u0433"+ - "\u0431\3\2\2\2\u0434\u0435\5v<\2\u0435\u0436\5r:\2\u0436\u009d\3\2\2\2"+ - "\u0437\u043a\5\u00e8u\2\u0438\u043a\7\24\2\2\u0439\u0437\3\2\2\2\u0439"+ - "\u0438\3\2\2\2\u043a\u009f\3\2\2\2\u043b\u043d\5\u009eP\2\u043c\u043b"+ - "\3\2\2\2\u043d\u0440\3\2\2\2\u043e\u043c\3\2\2\2\u043e\u043f\3\2\2\2\u043f"+ - "\u0441\3\2\2\2\u0440\u043e\3\2\2\2\u0441\u0445\5v<\2\u0442\u0444\5\u00e8"+ - "u\2\u0443\u0442\3\2\2\2\u0444\u0447\3\2\2\2\u0445\u0443\3\2\2\2\u0445"+ - "\u0446\3\2\2\2\u0446\u0448\3\2\2\2\u0447\u0445\3\2\2\2\u0448\u0449\7j"+ - "\2\2\u0449\u044a\5r:\2\u044a\u044d\3\2\2\2\u044b\u044d\5\u009cO\2\u044c"+ - "\u043e\3\2\2\2\u044c\u044b\3\2\2\2\u044d\u00a1\3\2\2\2\u044e\u0450\5\u00e8"+ - "u\2\u044f\u044e\3\2\2\2\u0450\u0453\3\2\2\2\u0451\u044f\3\2\2\2\u0451"+ - "\u0452\3\2\2\2\u0452\u0454\3\2\2\2\u0453\u0451\3\2\2\2\u0454\u0457\5v"+ - "<\2\u0455\u0456\7h\2\2\u0456\u0458\7C\2\2\u0457\u0455\3\2\2\2\u0457\u0458"+ - "\3\2\2\2\u0458\u0459\3\2\2\2\u0459\u045a\7-\2\2\u045a\u00a3\3\2\2\2\u045b"+ - "\u045c\7/\2\2\u045c\u045d\5\u00a6T\2\u045d\u00a5\3\2\2\2\u045e\u0463\5"+ - "\u00a8U\2\u045f\u0460\7B\2\2\u0460\u0462\5\u00a8U\2\u0461\u045f\3\2\2"+ - "\2\u0462\u0465\3\2\2\2\u0463\u0461\3\2\2\2\u0463\u0464\3\2\2\2\u0464\u00a7"+ - "\3\2\2\2\u0465\u0463\3\2\2\2\u0466\u0469\5\22\n\2\u0467\u0469\5\36\20"+ - "\2\u0468\u0466\3\2\2\2\u0468\u0467\3\2\2\2\u0469\u00a9\3\2\2\2\u046a\u046d"+ - "\5\u00fe\u0080\2\u046b\u046d\7A\2\2\u046c\u046a\3\2\2\2\u046c\u046b\3"+ - "\2\2\2\u046d\u00ab\3\2\2\2\u046e\u046f\5\u00fe\u0080\2\u046f\u00ad\3\2"+ - "\2\2\u0470\u0471\7(\2\2\u0471\u0472\5\u00fe\u0080\2\u0472\u00af\3\2\2"+ - "\2\u0473\u0475\5\u00b2Z\2\u0474\u0473\3\2\2\2\u0475\u0478\3\2\2\2\u0476"+ - "\u0474\3\2\2\2\u0476\u0477\3\2\2\2\u0477\u0479\3\2\2\2\u0478\u0476\3\2"+ - "\2\2\u0479\u047b\5\u00b4[\2\u047a\u047c\5\u00a4S\2\u047b\u047a\3\2\2\2"+ - "\u047b\u047c\3\2\2\2\u047c\u047d\3\2\2\2\u047d\u047e\5\u00b8]\2\u047e"+ - "\u00b1\3\2\2\2\u047f\u0484\5\u00e8u\2\u0480\u0484\7%\2\2\u0481\u0484\7"+ - "$\2\2\u0482\u0484\7#\2\2\u0483\u047f\3\2\2\2\u0483\u0480\3\2\2\2\u0483"+ - "\u0481\3\2\2\2\u0483\u0482\3\2\2\2\u0484\u00b3\3\2\2\2\u0485\u0487\5Z"+ - ".\2\u0486\u0485\3\2\2\2\u0486\u0487\3\2\2\2\u0487\u0488\3\2\2\2\u0488"+ - "\u0489\5\u00b6\\\2\u0489\u048b\7;\2\2\u048a\u048c\5\u0098M\2\u048b\u048a"+ - "\3\2\2\2\u048b\u048c\3\2\2\2\u048c\u048d\3\2\2\2\u048d\u048e\7<\2\2\u048e"+ - "\u00b5\3\2\2\2\u048f\u0490\7h\2\2\u0490\u00b7\3\2\2\2\u0491\u0493\7=\2"+ - "\2\u0492\u0494\5\u00ba^\2\u0493\u0492\3\2\2\2\u0493\u0494\3\2\2\2\u0494"+ - "\u0496\3\2\2\2\u0495\u0497\5\u0100\u0081\2\u0496\u0495\3\2\2\2\u0496\u0497"+ - "\3\2\2\2\u0497\u0498\3\2\2\2\u0498\u0499\7>\2\2\u0499\u00b9\3\2\2\2\u049a"+ - "\u049c\5,\27\2\u049b\u049a\3\2\2\2\u049b\u049c\3\2\2\2\u049c\u049d\3\2"+ - "\2\2\u049d\u049e\7-\2\2\u049e\u04a0\7;\2\2\u049f\u04a1\5\u0190\u00c9\2"+ - "\u04a0\u049f\3\2\2\2\u04a0\u04a1\3\2\2\2\u04a1\u04a2\3\2\2\2\u04a2\u04a3"+ - "\7<\2\2\u04a3\u04c9\7A\2\2\u04a4\u04a6\5,\27\2\u04a5\u04a4\3\2\2\2\u04a5"+ - "\u04a6\3\2\2\2\u04a6\u04a7\3\2\2\2\u04a7\u04a8\7*\2\2\u04a8\u04aa\7;\2"+ - "\2\u04a9\u04ab\5\u0190\u00c9\2\u04aa\u04a9\3\2\2\2\u04aa\u04ab\3\2\2\2"+ - "\u04ab\u04ac\3\2\2\2\u04ac\u04ad\7<\2\2\u04ad\u04c9\7A\2\2\u04ae\u04af"+ - "\5<\37\2\u04af\u04b1\7C\2\2\u04b0\u04b2\5,\27\2\u04b1\u04b0\3\2\2\2\u04b1"+ - "\u04b2\3\2\2\2\u04b2\u04b3\3\2\2\2\u04b3\u04b4\7*\2\2\u04b4\u04b6\7;\2"+ - "\2\u04b5\u04b7\5\u0190\u00c9\2\u04b6\u04b5\3\2\2\2\u04b6\u04b7\3\2\2\2"+ - "\u04b7\u04b8\3\2\2\2\u04b8\u04b9\7<\2\2\u04b9\u04ba\7A\2\2\u04ba\u04c9"+ - "\3\2\2\2\u04bb\u04bc\5\u0162\u00b2\2\u04bc\u04be\7C\2\2\u04bd\u04bf\5"+ - ",\27\2\u04be\u04bd\3\2\2\2\u04be\u04bf\3\2\2\2\u04bf\u04c0\3\2\2\2\u04c0"+ - "\u04c1\7*\2\2\u04c1\u04c3\7;\2\2\u04c2\u04c4\5\u0190\u00c9\2\u04c3\u04c2"+ - "\3\2\2\2\u04c3\u04c4\3\2\2\2\u04c4\u04c5\3\2\2\2\u04c5\u04c6\7<\2\2\u04c6"+ - "\u04c7\7A\2\2\u04c7\u04c9\3\2\2\2\u04c8\u049b\3\2\2\2\u04c8\u04a5\3\2"+ - "\2\2\u04c8\u04ae\3\2\2\2\u04c8\u04bb\3\2\2\2\u04c9\u00bb\3\2\2\2\u04ca"+ - "\u04cc\5X-\2\u04cb\u04ca\3\2\2\2\u04cc\u04cf\3\2\2\2\u04cd\u04cb\3\2\2"+ - "\2\u04cd\u04ce\3\2\2\2\u04ce\u04d0\3\2\2\2\u04cf\u04cd\3\2\2\2\u04d0\u04d1"+ - "\7\22\2\2\u04d1\u04d3\7h\2\2\u04d2\u04d4\5`\61\2\u04d3\u04d2\3\2\2\2\u04d3"+ - "\u04d4\3\2\2\2\u04d4\u04d5\3\2\2\2\u04d5\u04d6\5\u00be`\2\u04d6\u00bd"+ - "\3\2\2\2\u04d7\u04d9\7=\2\2\u04d8\u04da\5\u00c0a\2\u04d9\u04d8\3\2\2\2"+ - "\u04d9\u04da\3\2\2\2\u04da\u04dc\3\2\2\2\u04db\u04dd\7B\2\2\u04dc\u04db"+ - "\3\2\2\2\u04dc\u04dd\3\2\2\2\u04dd\u04df\3\2\2\2\u04de\u04e0\5\u00c6d"+ - "\2\u04df\u04de\3\2\2\2\u04df\u04e0\3\2\2\2\u04e0\u04e1\3\2\2\2\u04e1\u04e2"+ - "\7>\2\2\u04e2\u00bf\3\2\2\2\u04e3\u04e8\5\u00c2b\2\u04e4\u04e5\7B\2\2"+ - "\u04e5\u04e7\5\u00c2b\2\u04e6\u04e4\3\2\2\2\u04e7\u04ea\3\2\2\2\u04e8"+ - "\u04e6\3\2\2\2\u04e8\u04e9\3\2\2\2\u04e9\u00c1\3\2\2\2\u04ea\u04e8\3\2"+ - "\2\2\u04eb\u04ed\5\u00c4c\2\u04ec\u04eb\3\2\2\2\u04ed\u04f0\3\2\2\2\u04ee"+ - "\u04ec\3\2\2\2\u04ee\u04ef\3\2\2\2\u04ef\u04f1\3\2\2\2\u04f0\u04ee\3\2"+ - "\2\2\u04f1\u04f7\7h\2\2\u04f2\u04f4\7;\2\2\u04f3\u04f5\5\u0190\u00c9\2"+ - "\u04f4\u04f3\3\2\2\2\u04f4\u04f5\3\2\2\2\u04f5\u04f6\3\2\2\2\u04f6\u04f8"+ - "\7<\2\2\u04f7\u04f2\3\2\2\2\u04f7\u04f8\3\2\2\2\u04f8\u04fa\3\2\2\2\u04f9"+ - "\u04fb\5d\63\2\u04fa\u04f9\3\2\2\2\u04fa\u04fb\3\2\2\2\u04fb\u00c3\3\2"+ - "\2\2\u04fc\u04fd\5\u00e8u\2\u04fd\u00c5\3\2\2\2\u04fe\u0502\7A\2\2\u04ff"+ - "\u0501\5f\64\2\u0500\u04ff\3\2\2\2\u0501\u0504\3\2\2\2\u0502\u0500\3\2"+ - "\2\2\u0502\u0503\3\2\2\2\u0503\u00c7\3\2\2\2\u0504\u0502\3\2\2\2\u0505"+ - "\u0508\5\u00caf\2\u0506\u0508\5\u00dco\2\u0507\u0505\3\2\2\2\u0507\u0506"+ - "\3\2\2\2\u0508\u00c9\3\2\2\2\u0509\u050b\5\u00ccg\2\u050a\u0509\3\2\2"+ - "\2\u050b\u050e\3\2\2\2\u050c\u050a\3\2\2\2\u050c\u050d\3\2\2\2\u050d\u050f"+ - "\3\2\2\2\u050e\u050c\3\2\2\2\u050f\u0510\7\36\2\2\u0510\u0512\7h\2\2\u0511"+ - "\u0513\5Z.\2\u0512\u0511\3\2\2\2\u0512\u0513\3\2\2\2\u0513\u0515\3\2\2"+ - "\2\u0514\u0516\5\u00ceh\2\u0515\u0514\3\2\2\2\u0515\u0516\3\2\2\2\u0516"+ - "\u0517\3\2\2\2\u0517\u0518\5\u00d0i\2\u0518\u00cb\3\2\2\2\u0519\u0521"+ - "\5\u00e8u\2\u051a\u0521\7%\2\2\u051b\u0521\7$\2\2\u051c\u0521\7#\2\2\u051d"+ - "\u0521\7\3\2\2\u051e\u0521\7(\2\2\u051f\u0521\7)\2\2\u0520\u0519\3\2\2"+ - "\2\u0520\u051a\3\2\2\2\u0520\u051b\3\2\2\2\u0520\u051c\3\2\2\2\u0520\u051d"+ - "\3\2\2\2\u0520\u051e\3\2\2\2\u0520\u051f\3\2\2\2\u0521\u00cd\3\2\2\2\u0522"+ - "\u0523\7\23\2\2\u0523\u0524\5b\62\2\u0524\u00cf\3\2\2\2\u0525\u0529\7"+ - "=\2\2\u0526\u0528\5\u00d2j\2\u0527\u0526\3\2\2\2\u0528\u052b\3\2\2\2\u0529"+ - "\u0527\3\2\2\2\u0529\u052a\3\2\2\2\u052a\u052c\3\2\2\2\u052b\u0529\3\2"+ - "\2\2\u052c\u052d\7>\2\2\u052d\u00d1\3\2\2\2\u052e\u0534\5\u00d4k\2\u052f"+ - "\u0534\5\u00d8m\2\u0530\u0534\5T+\2\u0531\u0534\5\u00c8e\2\u0532\u0534"+ - "\7A\2\2\u0533\u052e\3\2\2\2\u0533\u052f\3\2\2\2\u0533\u0530\3\2\2\2\u0533"+ - "\u0531\3\2\2\2\u0533\u0532\3\2\2\2\u0534\u00d3\3\2\2\2\u0535\u0537\5\u00d6"+ - "l\2\u0536\u0535\3\2\2\2\u0537\u053a\3\2\2\2\u0538\u0536\3\2\2\2\u0538"+ - "\u0539\3\2\2\2\u0539\u053b\3\2\2\2\u053a\u0538\3\2\2\2\u053b\u053c\5v"+ - "<\2\u053c\u053d\5n8\2\u053d\u053e\7A\2\2\u053e\u00d5\3\2\2\2\u053f\u0544"+ - "\5\u00e8u\2\u0540\u0544\7%\2\2\u0541\u0544\7(\2\2\u0542\u0544\7\24\2\2"+ - "\u0543\u053f\3\2\2\2\u0543\u0540\3\2\2\2\u0543\u0541\3\2\2\2\u0543\u0542"+ - "\3\2\2\2\u0544\u00d7\3\2\2\2\u0545\u0547\5\u00dan\2\u0546\u0545\3\2\2"+ - "\2\u0547\u054a\3\2\2\2\u0548\u0546\3\2\2\2\u0548\u0549\3\2\2\2\u0549\u054b"+ - "\3\2\2\2\u054a\u0548\3\2\2\2\u054b\u054c\5\u0092J\2\u054c\u054d\5\u00aa"+ - "V\2\u054d\u00d9\3\2\2\2\u054e\u0555\5\u00e8u\2\u054f\u0555\7%\2\2\u0550"+ - "\u0555\7\3\2\2\u0551\u0555\7\16\2\2\u0552\u0555\7(\2\2\u0553\u0555\7)"+ - "\2\2\u0554\u054e\3\2\2\2\u0554\u054f\3\2\2\2\u0554\u0550\3\2\2\2\u0554"+ - "\u0551\3\2\2\2\u0554\u0552\3\2\2\2\u0554\u0553\3\2\2\2\u0555\u00db\3\2"+ - "\2\2\u0556\u0558\5\u00ccg\2\u0557\u0556\3\2\2\2\u0558\u055b\3\2\2\2\u0559"+ - "\u0557\3\2\2\2\u0559\u055a\3\2\2\2\u055a\u055c\3\2\2\2\u055b\u0559\3\2"+ - "\2\2\u055c\u055d\7i\2\2\u055d\u055e\7\36\2\2\u055e\u055f\7h\2\2\u055f"+ - "\u0560\5\u00dep\2\u0560\u00dd\3\2\2\2\u0561\u0565\7=\2\2\u0562\u0564\5"+ - "\u00e0q\2\u0563\u0562\3\2\2\2\u0564\u0567\3\2\2\2\u0565\u0563\3\2\2\2"+ - "\u0565\u0566\3\2\2\2\u0566\u0568\3\2\2\2\u0567\u0565\3\2\2\2\u0568\u0569"+ - "\7>\2\2\u0569\u00df\3\2\2\2\u056a\u0570\5\u00e2r\2\u056b\u0570\5\u00d4"+ - "k\2\u056c\u0570\5T+\2\u056d\u0570\5\u00c8e\2\u056e\u0570\7A\2\2\u056f"+ - "\u056a\3\2\2\2\u056f\u056b\3\2\2\2\u056f\u056c\3\2\2\2\u056f\u056d\3\2"+ - "\2\2\u056f\u056e\3\2\2\2\u0570\u00e1\3\2\2\2\u0571\u0573\5\u00e4s\2\u0572"+ - "\u0571\3\2\2\2\u0573\u0576\3\2\2\2\u0574\u0572\3\2\2\2\u0574\u0575\3\2"+ - "\2\2\u0575\u0577\3\2\2\2\u0576\u0574\3\2\2\2\u0577\u0578\5v<\2\u0578\u0579"+ - "\7h\2\2\u0579\u057a\7;\2\2\u057a\u057c\7<\2\2\u057b\u057d\5\"\22\2\u057c"+ - "\u057b\3\2\2\2\u057c\u057d\3\2\2\2\u057d\u057f\3\2\2\2\u057e\u0580\5\u00e6"+ - "t\2\u057f\u057e\3\2\2\2\u057f\u0580\3\2\2\2\u0580\u0581\3\2\2\2\u0581"+ - "\u0582\7A\2\2\u0582\u00e3\3\2\2\2\u0583\u0587\5\u00e8u\2\u0584\u0587\7"+ - "%\2\2\u0585\u0587\7\3\2\2\u0586\u0583\3\2\2\2\u0586\u0584\3\2\2\2\u0586"+ - "\u0585\3\2\2\2\u0587\u00e5\3\2\2\2\u0588\u0589\7\16\2\2\u0589\u058a\5"+ - "\u00f0y\2\u058a\u00e7\3\2\2\2\u058b\u058f\5\u00eav\2\u058c\u058f\5\u00f6"+ - "|\2\u058d\u058f\5\u00f8}\2\u058e\u058b\3\2\2\2\u058e\u058c\3\2\2\2\u058e"+ - "\u058d\3\2\2\2\u058f\u00e9\3\2\2\2\u0590\u0591\7i\2\2\u0591\u0592\58\35"+ - "\2\u0592\u0594\7;\2\2\u0593\u0595\5\u00ecw\2\u0594\u0593\3\2\2\2\u0594"+ - "\u0595\3\2\2\2\u0595\u0596\3\2\2\2\u0596\u0597\7<\2\2\u0597\u00eb\3\2"+ - "\2\2\u0598\u059d\5\u00eex\2\u0599\u059a\7B\2\2\u059a\u059c\5\u00eex\2"+ - "\u059b\u0599\3\2\2\2\u059c\u059f\3\2\2\2\u059d\u059b\3\2\2\2\u059d\u059e"+ - "\3\2\2\2\u059e\u00ed\3\2\2\2\u059f\u059d\3\2\2\2\u05a0\u05a1\7h\2\2\u05a1"+ - "\u05a2\7D\2\2\u05a2\u05a3\5\u00f0y\2\u05a3\u00ef\3\2\2\2\u05a4\u05a8\5"+ - "\u01b2\u00da\2\u05a5\u05a8\5\u00f2z\2\u05a6\u05a8\5\u00e8u\2\u05a7\u05a4"+ - "\3\2\2\2\u05a7\u05a5\3\2\2\2\u05a7\u05a6\3\2\2\2\u05a8\u00f1\3\2\2\2\u05a9"+ - "\u05ab\7=\2\2\u05aa\u05ac\5\u00f4{\2\u05ab\u05aa\3\2\2\2\u05ab\u05ac\3"+ - "\2\2\2\u05ac\u05ae\3\2\2\2\u05ad\u05af\7B\2\2\u05ae\u05ad\3\2\2\2\u05ae"+ - "\u05af\3\2\2\2\u05af\u05b0\3\2\2\2\u05b0\u05b1\7>\2\2\u05b1\u00f3\3\2"+ - "\2\2\u05b2\u05b7\5\u00f0y\2\u05b3\u05b4\7B\2\2\u05b4\u05b6\5\u00f0y\2"+ - "\u05b5\u05b3\3\2\2\2\u05b6\u05b9\3\2\2\2\u05b7\u05b5\3\2\2\2\u05b7\u05b8"+ - "\3\2\2\2\u05b8\u00f5\3\2\2\2\u05b9\u05b7\3\2\2\2\u05ba\u05bb\7i\2\2\u05bb"+ - "\u05bc\58\35\2\u05bc\u00f7\3\2\2\2\u05bd\u05be\7i\2\2\u05be\u05bf\58\35"+ - "\2\u05bf\u05c0\7;\2\2\u05c0\u05c1\5\u00f0y\2\u05c1\u05c2\7<\2\2\u05c2"+ - "\u00f9\3\2\2\2\u05c3\u05c5\7=\2\2\u05c4\u05c6\5\u00fc\177\2\u05c5\u05c4"+ - "\3\2\2\2\u05c5\u05c6\3\2\2\2\u05c6\u05c8\3\2\2\2\u05c7\u05c9\7B\2\2\u05c8"+ - "\u05c7\3\2\2\2\u05c8\u05c9\3\2\2\2\u05c9\u05ca\3\2\2\2\u05ca\u05cb\7>"+ - "\2\2\u05cb\u00fb\3\2\2\2\u05cc\u05d1\5t;\2\u05cd\u05ce\7B\2\2\u05ce\u05d0"+ - "\5t;\2\u05cf\u05cd\3\2\2\2\u05d0\u05d3\3\2\2\2\u05d1\u05cf\3\2\2\2\u05d1"+ - "\u05d2\3\2\2\2\u05d2\u00fd\3\2\2\2\u05d3\u05d1\3\2\2\2\u05d4\u05d6\7="+ - "\2\2\u05d5\u05d7\5\u0100\u0081\2\u05d6\u05d5\3\2\2\2\u05d6\u05d7\3\2\2"+ - "\2\u05d7\u05d8\3\2\2\2\u05d8\u05d9\7>\2\2\u05d9\u00ff\3\2\2\2\u05da\u05de"+ - "\5\u0102\u0082\2\u05db\u05dd\5\u0102\u0082\2\u05dc\u05db\3\2\2\2\u05dd"+ - "\u05e0\3\2\2\2\u05de\u05dc\3\2\2\2\u05de\u05df\3\2\2\2\u05df\u0101\3\2"+ - "\2\2\u05e0\u05de\3\2\2\2\u05e1\u05e5\5\u0104\u0083\2\u05e2\u05e5\5T+\2"+ - "\u05e3\u05e5\5\u0108\u0085\2\u05e4\u05e1\3\2\2\2\u05e4\u05e2\3\2\2\2\u05e4"+ - "\u05e3\3\2\2\2\u05e5\u0103\3\2\2\2\u05e6\u05e7\5\u0106\u0084\2\u05e7\u05e8"+ - "\7A\2\2\u05e8\u0105\3\2\2\2\u05e9\u05eb\5\u009eP\2\u05ea\u05e9\3\2\2\2"+ - "\u05eb\u05ee\3\2\2\2\u05ec\u05ea\3\2\2\2\u05ec\u05ed\3\2\2\2\u05ed\u05ef"+ - "\3\2\2\2\u05ee\u05ec\3\2\2\2\u05ef\u05f0\5v<\2\u05f0\u05f1\5n8\2\u05f1"+ - "\u0107\3\2\2\2\u05f2\u05f9\5\u010c\u0087\2\u05f3\u05f9\5\u0110\u0089\2"+ - "\u05f4\u05f9\5\u0118\u008d\2\u05f5\u05f9\5\u011a\u008e\2\u05f6\u05f9\5"+ - "\u012c\u0097\2\u05f7\u05f9\5\u0132\u009a\2\u05f8\u05f2\3\2\2\2\u05f8\u05f3"+ - "\3\2\2\2\u05f8\u05f4\3\2\2\2\u05f8\u05f5\3\2\2\2\u05f8\u05f6\3\2\2\2\u05f8"+ - "\u05f7\3\2\2\2\u05f9\u0109\3\2\2\2\u05fa\u0600\5\u010c\u0087\2\u05fb\u0600"+ - "\5\u0112\u008a\2\u05fc\u0600\5\u011c\u008f\2\u05fd\u0600\5\u012e\u0098"+ - "\2\u05fe\u0600\5\u0134\u009b\2\u05ff\u05fa\3\2\2\2\u05ff\u05fb\3\2\2\2"+ - "\u05ff\u05fc\3\2\2\2\u05ff\u05fd\3\2\2\2\u05ff\u05fe\3\2\2\2\u0600\u010b"+ - "\3\2\2\2\u0601\u060e\5\u00fe\u0080\2\u0602\u060e\5\u010e\u0088\2\u0603"+ - "\u060e\5\u0114\u008b\2\u0604\u060e\5\u011e\u0090\2\u0605\u060e\5\u0120"+ - "\u0091\2\u0606\u060e\5\u0130\u0099\2\u0607\u060e\5\u0144\u00a3\2\u0608"+ - "\u060e\5\u0146\u00a4\2\u0609\u060e\5\u0148\u00a5\2\u060a\u060e\5\u014c"+ - "\u00a7\2\u060b\u060e\5\u014a\u00a6\2\u060c\u060e\5\u014e\u00a8\2\u060d"+ - "\u0601\3\2\2\2\u060d\u0602\3\2\2\2\u060d\u0603\3\2\2\2\u060d\u0604\3\2"+ - "\2\2\u060d\u0605\3\2\2\2\u060d\u0606\3\2\2\2\u060d\u0607\3\2\2\2\u060d"+ - "\u0608\3\2\2\2\u060d\u0609\3\2\2\2\u060d\u060a\3\2\2\2\u060d\u060b\3\2"+ - "\2\2\u060d\u060c\3\2\2\2\u060e\u010d\3\2\2\2\u060f\u0610\7A\2\2\u0610"+ - "\u010f\3\2\2\2\u0611\u0612\7h\2\2\u0612\u0613\7J\2\2\u0613\u0614\5\u0108"+ - "\u0085\2\u0614\u0111\3\2\2\2\u0615\u0616\7h\2\2\u0616\u0617\7J\2\2\u0617"+ - "\u0618\5\u010a\u0086\2\u0618\u0113\3\2\2\2\u0619\u061a\5\u0116\u008c\2"+ - "\u061a\u061b\7A\2\2\u061b\u0115\3\2\2\2\u061c\u0624\5\u01ac\u00d7\2\u061d"+ - "\u0624\5\u01ca\u00e6\2\u061e\u0624\5\u01cc\u00e7\2\u061f\u0624\5\u01d2"+ - "\u00ea\2\u0620\u0624\5\u01d6\u00ec\2\u0621\u0624\5\u018a\u00c6\2\u0622"+ - "\u0624\5\u0176\u00bc\2\u0623\u061c\3\2\2\2\u0623\u061d\3\2\2\2\u0623\u061e"+ - "\3\2\2\2\u0623\u061f\3\2\2\2\u0623\u0620\3\2\2\2\u0623\u0621\3\2\2\2\u0623"+ - "\u0622\3\2\2\2\u0624\u0117\3\2\2\2\u0625\u0626\7\30\2\2\u0626\u0627\7"+ - ";\2\2\u0627\u0628\5\u01a0\u00d1\2\u0628\u0629\7<\2\2\u0629\u062a\5\u0108"+ - "\u0085\2\u062a\u0119\3\2\2\2\u062b\u062c\7\30\2\2\u062c\u062d\7;\2\2\u062d"+ - "\u062e\5\u01a0\u00d1\2\u062e\u062f\7<\2\2\u062f\u0630\5\u010a\u0086\2"+ - "\u0630\u0631\7\21\2\2\u0631\u0632\5\u0108\u0085\2\u0632\u011b\3\2\2\2"+ - "\u0633\u0634\7\30\2\2\u0634\u0635\7;\2\2\u0635\u0636\5\u01a0\u00d1\2\u0636"+ - "\u0637\7<\2\2\u0637\u0638\5\u010a\u0086\2\u0638\u0639\7\21\2\2\u0639\u063a"+ - "\5\u010a\u0086\2\u063a\u011d\3\2\2\2\u063b\u063c\7\4\2\2\u063c\u063d\5"+ - "\u01a0\u00d1\2\u063d\u063e\7A\2\2\u063e\u0646\3\2\2\2\u063f\u0640\7\4"+ - "\2\2\u0640\u0641\5\u01a0\u00d1\2\u0641\u0642\7J\2\2\u0642\u0643\5\u01a0"+ - "\u00d1\2\u0643\u0644\7A\2\2\u0644\u0646\3\2\2\2\u0645\u063b\3\2\2\2\u0645"+ - "\u063f\3\2\2\2\u0646\u011f\3\2\2\2\u0647\u0648\7+\2\2\u0648\u0649\7;\2"+ - "\2\u0649\u064a\5\u01a0\u00d1\2\u064a\u064b\7<\2\2\u064b\u064c\5\u0122"+ - "\u0092\2\u064c\u0121\3\2\2\2\u064d\u0651\7=\2\2\u064e\u0650\5\u0124\u0093"+ - "\2\u064f\u064e\3\2\2\2\u0650\u0653\3\2\2\2\u0651\u064f\3\2\2\2\u0651\u0652"+ - "\3\2\2\2\u0652\u0657\3\2\2\2\u0653\u0651\3\2\2\2\u0654\u0656\5\u0128\u0095"+ - "\2\u0655\u0654\3\2\2\2\u0656\u0659\3\2\2\2\u0657\u0655\3\2\2\2\u0657\u0658"+ - "\3\2\2\2\u0658\u065a\3\2\2\2\u0659\u0657\3\2\2\2\u065a\u065b\7>\2\2\u065b"+ - "\u0123\3\2\2\2\u065c\u065d\5\u0126\u0094\2\u065d\u065e\5\u0100\u0081\2"+ - "\u065e\u0125\3\2\2\2\u065f\u0663\5\u0128\u0095\2\u0660\u0662\5\u0128\u0095"+ - "\2\u0661\u0660\3\2\2\2\u0662\u0665\3\2\2\2\u0663\u0661\3\2\2\2\u0663\u0664"+ - "\3\2\2\2\u0664\u0127\3\2\2\2\u0665\u0663\3\2\2\2\u0666\u0667\7\b\2\2\u0667"+ - "\u0668\5\u019e\u00d0\2\u0668\u0669\7J\2\2\u0669\u0671\3\2\2\2\u066a\u066b"+ - "\7\b\2\2\u066b\u066c\5\u012a\u0096\2\u066c\u066d\7J\2\2\u066d\u0671\3"+ - "\2\2\2\u066e\u066f\7\16\2\2\u066f\u0671\7J\2\2\u0670\u0666\3\2\2\2\u0670"+ - "\u066a\3\2\2\2\u0670\u066e\3\2\2\2\u0671\u0129\3\2\2\2\u0672\u0673\7h"+ - "\2\2\u0673\u012b\3\2\2\2\u0674\u0675\7\64\2\2\u0675\u0676\7;\2\2\u0676"+ - "\u0677\5\u01a0\u00d1\2\u0677\u0678\7<\2\2\u0678\u0679\5\u0108\u0085\2"+ - "\u0679\u012d\3\2\2\2\u067a\u067b\7\64\2\2\u067b\u067c\7;\2\2\u067c\u067d"+ - "\5\u01a0\u00d1\2\u067d\u067e\7<\2\2\u067e\u067f\5\u010a\u0086\2\u067f"+ - "\u012f\3\2\2\2\u0680\u0681\7\17\2\2\u0681\u0682\5\u0108\u0085\2\u0682"+ - "\u0683\7\64\2\2\u0683\u0684\7;\2\2\u0684\u0685\5\u01a0\u00d1\2\u0685\u0686"+ - "\7<\2\2\u0686\u0687\7A\2\2\u0687\u0131\3\2\2\2\u0688\u068b\5\u0136\u009c"+ - "\2\u0689\u068b\5\u0140\u00a1\2\u068a\u0688\3\2\2\2\u068a\u0689\3\2\2\2"+ - "\u068b\u0133\3\2\2\2\u068c\u068f\5\u0138\u009d\2\u068d\u068f\5\u0142\u00a2"+ - "\2\u068e\u068c\3\2\2\2\u068e\u068d\3\2\2\2\u068f\u0135\3\2\2\2\u0690\u0691"+ - "\7\27\2\2\u0691\u0693\7;\2\2\u0692\u0694\5\u013a\u009e\2\u0693\u0692\3"+ - "\2\2\2\u0693\u0694\3\2\2\2\u0694\u0695\3\2\2\2\u0695\u0697\7A\2\2\u0696"+ - "\u0698\5\u01a0\u00d1\2\u0697\u0696\3\2\2\2\u0697\u0698\3\2\2\2\u0698\u0699"+ - "\3\2\2\2\u0699\u069b\7A\2\2\u069a\u069c\5\u013c\u009f\2\u069b\u069a\3"+ - "\2\2\2\u069b\u069c\3\2\2\2\u069c\u069d\3\2\2\2\u069d\u069e\7<\2\2\u069e"+ - "\u069f\5\u0108\u0085\2\u069f\u0137\3\2\2\2\u06a0\u06a1\7\27\2\2\u06a1"+ - "\u06a3\7;\2\2\u06a2\u06a4\5\u013a\u009e\2\u06a3\u06a2\3\2\2\2\u06a3\u06a4"+ - "\3\2\2\2\u06a4\u06a5\3\2\2\2\u06a5\u06a7\7A\2\2\u06a6\u06a8\5\u01a0\u00d1"+ - "\2\u06a7\u06a6\3\2\2\2\u06a7\u06a8\3\2\2\2\u06a8\u06a9\3\2\2\2\u06a9\u06ab"+ - "\7A\2\2\u06aa\u06ac\5\u013c\u009f\2\u06ab\u06aa\3\2\2\2\u06ab\u06ac\3"+ - "\2\2\2\u06ac\u06ad\3\2\2\2\u06ad\u06ae\7<\2\2\u06ae\u06af\5\u010a\u0086"+ - "\2\u06af\u0139\3\2\2\2\u06b0\u06b3\5\u013e\u00a0\2\u06b1\u06b3\5\u0106"+ - "\u0084\2\u06b2\u06b0\3\2\2\2\u06b2\u06b1\3\2\2\2\u06b3\u013b\3\2\2\2\u06b4"+ - "\u06b5\5\u013e\u00a0\2\u06b5\u013d\3\2\2\2\u06b6\u06bb\5\u0116\u008c\2"+ - "\u06b7\u06b8\7B\2\2\u06b8\u06ba\5\u0116\u008c\2\u06b9\u06b7\3\2\2\2\u06ba"+ - "\u06bd\3\2\2\2\u06bb\u06b9\3\2\2\2\u06bb\u06bc\3\2\2\2\u06bc\u013f\3\2"+ - "\2\2\u06bd\u06bb\3\2\2\2\u06be\u06bf\7\27\2\2\u06bf\u06c3\7;\2\2\u06c0"+ - "\u06c2\5\u009eP\2\u06c1\u06c0\3\2\2\2\u06c2\u06c5\3\2\2\2\u06c3\u06c1"+ - "\3\2\2\2\u06c3\u06c4\3\2\2\2\u06c4\u06c6\3\2\2\2\u06c5\u06c3\3\2\2\2\u06c6"+ - "\u06c7\5v<\2\u06c7\u06c8\5r:\2\u06c8\u06c9\7J\2\2\u06c9\u06ca\5\u01a0"+ - "\u00d1\2\u06ca\u06cb\7<\2\2\u06cb\u06cc\5\u0108\u0085\2\u06cc\u0141\3"+ - "\2\2\2\u06cd\u06ce\7\27\2\2\u06ce\u06d2\7;\2\2\u06cf\u06d1\5\u009eP\2"+ - "\u06d0\u06cf\3\2\2\2\u06d1\u06d4\3\2\2\2\u06d2\u06d0\3\2\2\2\u06d2\u06d3"+ - "\3\2\2\2\u06d3\u06d5\3\2\2\2\u06d4\u06d2\3\2\2\2\u06d5\u06d6\5v<\2\u06d6"+ - "\u06d7\5r:\2\u06d7\u06d8\7J\2\2\u06d8\u06d9\5\u01a0\u00d1\2\u06d9\u06da"+ - "\7<\2\2\u06da\u06db\5\u010a\u0086\2\u06db\u0143\3\2\2\2\u06dc\u06de\7"+ - "\6\2\2\u06dd\u06df\7h\2\2\u06de\u06dd\3\2\2\2\u06de\u06df\3\2\2\2\u06df"+ - "\u06e0\3\2\2\2\u06e0\u06e1\7A\2\2\u06e1\u0145\3\2\2\2\u06e2\u06e4\7\r"+ - "\2\2\u06e3\u06e5\7h\2\2\u06e4\u06e3\3\2\2\2\u06e4\u06e5\3\2\2\2\u06e5"+ - "\u06e6\3\2\2\2\u06e6\u06e7\7A\2\2\u06e7\u0147\3\2\2\2\u06e8\u06ea\7&\2"+ - "\2\u06e9\u06eb\5\u01a0\u00d1\2\u06ea\u06e9\3\2\2\2\u06ea\u06eb\3\2\2\2"+ - "\u06eb\u06ec\3\2\2\2\u06ec\u06ed\7A\2\2\u06ed\u0149\3\2\2\2\u06ee\u06ef"+ - "\7.\2\2\u06ef\u06f0\5\u01a0\u00d1\2\u06f0\u06f1\7A\2\2\u06f1\u014b\3\2"+ - "\2\2\u06f2\u06f3\7,\2\2\u06f3\u06f4\7;\2\2\u06f4\u06f5\5\u01a0\u00d1\2"+ - "\u06f5\u06f6\7<\2\2\u06f6\u06f7\5\u00fe\u0080\2\u06f7\u014d\3\2\2\2\u06f8"+ - "\u06f9\7\61\2\2\u06f9\u06fa\5\u00fe\u0080\2\u06fa\u06fb\5\u0150\u00a9"+ - "\2\u06fb\u0705\3\2\2\2\u06fc\u06fd\7\61\2\2\u06fd\u06ff\5\u00fe\u0080"+ - "\2\u06fe\u0700\5\u0150\u00a9\2\u06ff\u06fe\3\2\2\2\u06ff\u0700\3\2\2\2"+ - "\u0700\u0701\3\2\2\2\u0701\u0702\5\u0158\u00ad\2\u0702\u0705\3\2\2\2\u0703"+ - "\u0705\5\u015a\u00ae\2\u0704\u06f8\3\2\2\2\u0704\u06fc\3\2\2\2\u0704\u0703"+ - "\3\2\2\2\u0705\u014f\3\2\2\2\u0706\u070a\5\u0152\u00aa\2\u0707\u0709\5"+ - "\u0152\u00aa\2\u0708\u0707\3\2\2\2\u0709\u070c\3\2\2\2\u070a\u0708\3\2"+ - "\2\2\u070a\u070b\3\2\2\2\u070b\u0151\3\2\2\2\u070c\u070a\3\2\2\2\u070d"+ - "\u070e\7\t\2\2\u070e\u070f\7;\2\2\u070f\u0710\5\u0154\u00ab\2\u0710\u0711"+ - "\7<\2\2\u0711\u0712\5\u00fe\u0080\2\u0712\u0153\3\2\2\2\u0713\u0715\5"+ - "\u009eP\2\u0714\u0713\3\2\2\2\u0715\u0718\3\2\2\2\u0716\u0714\3\2\2\2"+ - "\u0716\u0717\3\2\2\2\u0717\u0719\3\2\2\2\u0718\u0716\3\2\2\2\u0719\u071a"+ - "\5\u0156\u00ac\2\u071a\u071b\5r:\2\u071b\u0155\3\2\2\2\u071c\u0721\5~"+ - "@\2\u071d\u071e\7X\2\2\u071e\u0720\5\22\n\2\u071f\u071d\3\2\2\2\u0720"+ - "\u0723\3\2\2\2\u0721\u071f\3\2\2\2\u0721\u0722\3\2\2\2\u0722\u0157\3\2"+ - "\2\2\u0723\u0721\3\2\2\2\u0724\u0725\7\25\2\2\u0725\u0726\5\u00fe\u0080"+ - "\2\u0726\u0159\3\2\2\2\u0727\u0728\7\61\2\2\u0728\u0729\5\u015c\u00af"+ - "\2\u0729\u072b\5\u00fe\u0080\2\u072a\u072c\5\u0150\u00a9\2\u072b\u072a"+ - "\3\2\2\2\u072b\u072c\3\2\2\2\u072c\u072e\3\2\2\2\u072d\u072f\5\u0158\u00ad"+ - "\2\u072e\u072d\3\2\2\2\u072e\u072f\3\2\2\2\u072f\u015b\3\2\2\2\u0730\u0731"+ - "\7;\2\2\u0731\u0733\5\u015e\u00b0\2\u0732\u0734\7A\2\2\u0733\u0732\3\2"+ - "\2\2\u0733\u0734\3\2\2\2\u0734\u0735\3\2\2\2\u0735\u0736\7<\2\2\u0736"+ - "\u015d\3\2\2\2\u0737\u073c\5\u0160\u00b1\2\u0738\u0739\7A\2\2\u0739\u073b"+ - "\5\u0160\u00b1\2\u073a\u0738\3\2\2\2\u073b\u073e\3\2\2\2\u073c\u073a\3"+ - "\2\2\2\u073c\u073d\3\2\2\2\u073d\u015f\3\2\2\2\u073e\u073c\3\2\2\2\u073f"+ - "\u0741\5\u009eP\2\u0740\u073f\3\2\2\2\u0741\u0744\3\2\2\2\u0742\u0740"+ - "\3\2\2\2\u0742\u0743\3\2\2\2\u0743\u0745\3\2\2\2\u0744\u0742\3\2\2\2\u0745"+ - "\u0746\5v<\2\u0746\u0747\5r:\2\u0747\u0748\7D\2\2\u0748\u0749\5\u01a0"+ - "\u00d1\2\u0749\u0161\3\2\2\2\u074a\u074d\5\u0170\u00b9\2\u074b\u074d\5"+ - "\u0198\u00cd\2\u074c\u074a\3\2\2\2\u074c\u074b\3\2\2\2\u074d\u0751\3\2"+ - "\2\2\u074e\u0750\5\u016a\u00b6\2\u074f\u074e\3\2\2\2\u0750\u0753\3\2\2"+ - "\2\u0751\u074f\3\2\2\2\u0751\u0752\3\2\2\2\u0752\u0163\3\2\2\2\u0753\u0751"+ - "\3\2\2\2\u0754\u0772\5\2\2\2\u0755\u075a\58\35\2\u0756\u0757\7?\2\2\u0757"+ - "\u0759\7@\2\2\u0758\u0756\3\2\2\2\u0759\u075c\3\2\2\2\u075a\u0758\3\2"+ - "\2\2\u075a\u075b\3\2\2\2\u075b\u075d\3\2\2\2\u075c\u075a\3\2\2\2\u075d"+ - "\u075e\7C\2\2\u075e\u075f\7\13\2\2\u075f\u0772\3\2\2\2\u0760\u0761\7\62"+ - "\2\2\u0761\u0762\7C\2\2\u0762\u0772\7\13\2\2\u0763\u0772\7-\2\2\u0764"+ - "\u0765\58\35\2\u0765\u0766\7C\2\2\u0766\u0767\7-\2\2\u0767\u0772\3\2\2"+ - "\2\u0768\u0769\7;\2\2\u0769\u076a\5\u01a0\u00d1\2\u076a\u076b\7<\2\2\u076b"+ - "\u0772\3\2\2\2\u076c\u0772\5\u0176\u00bc\2\u076d\u0772\5\u017e\u00c0\2"+ - "\u076e\u0772\5\u0184\u00c3\2\u076f\u0772\5\u018a\u00c6\2\u0770\u0772\5"+ - "\u0192\u00ca\2\u0771\u0754\3\2\2\2\u0771\u0755\3\2\2\2\u0771\u0760\3\2"+ - "\2\2\u0771\u0763\3\2\2\2\u0771\u0764\3\2\2\2\u0771\u0768\3\2\2\2\u0771"+ - "\u076c\3\2\2\2\u0771\u076d\3\2\2\2\u0771\u076e\3\2\2\2\u0771\u076f\3\2"+ - "\2\2\u0771\u0770\3\2\2\2\u0772\u0165\3\2\2\2\u0773\u0774\3\2\2\2\u0774"+ - "\u0167\3\2\2\2\u0775\u0792\5\2\2\2\u0776\u077b\58\35\2\u0777\u0778\7?"+ - "\2\2\u0778\u077a\7@\2\2\u0779\u0777\3\2\2\2\u077a\u077d\3\2\2\2\u077b"+ - "\u0779\3\2\2\2\u077b\u077c\3\2\2\2\u077c\u077e\3\2\2\2\u077d\u077b\3\2"+ - "\2\2\u077e\u077f\7C\2\2\u077f\u0780\7\13\2\2\u0780\u0792\3\2\2\2\u0781"+ - "\u0782\7\62\2\2\u0782\u0783\7C\2\2\u0783\u0792\7\13\2\2\u0784\u0792\7"+ - "-\2\2\u0785\u0786\58\35\2\u0786\u0787\7C\2\2\u0787\u0788\7-\2\2\u0788"+ - "\u0792\3\2\2\2\u0789\u078a\7;\2\2\u078a\u078b\5\u01a0\u00d1\2\u078b\u078c"+ - "\7<\2\2\u078c\u0792\3\2\2\2\u078d\u0792\5\u0176\u00bc\2\u078e\u0792\5"+ - "\u017e\u00c0\2\u078f\u0792\5\u018a\u00c6\2\u0790\u0792\5\u0192\u00ca\2"+ - "\u0791\u0775\3\2\2\2\u0791\u0776\3\2\2\2\u0791\u0781\3\2\2\2\u0791\u0784"+ - "\3\2\2\2\u0791\u0785\3\2\2\2\u0791\u0789\3\2\2\2\u0791\u078d\3\2\2\2\u0791"+ - "\u078e\3\2\2\2\u0791\u078f\3\2\2\2\u0791\u0790\3\2\2\2\u0792\u0169\3\2"+ - "\2\2\u0793\u0799\5\u0178\u00bd\2\u0794\u0799\5\u0180\u00c1\2\u0795\u0799"+ - "\5\u0186\u00c4\2\u0796\u0799\5\u018c\u00c7\2\u0797\u0799\5\u0194\u00cb"+ - "\2\u0798\u0793\3\2\2\2\u0798\u0794\3\2\2\2\u0798\u0795\3\2\2\2\u0798\u0796"+ - "\3\2\2\2\u0798\u0797\3\2\2\2\u0799\u016b\3\2\2\2\u079a\u079b\3\2\2\2\u079b"+ - "\u016d\3\2\2\2\u079c\u07a1\5\u0178\u00bd\2\u079d\u07a1\5\u0180\u00c1\2"+ - "\u079e\u07a1\5\u018c\u00c7\2\u079f\u07a1\5\u0194\u00cb\2\u07a0\u079c\3"+ - "\2\2\2\u07a0\u079d\3\2\2\2\u07a0\u079e\3\2\2\2\u07a0\u079f\3\2\2\2\u07a1"+ - "\u016f\3\2\2\2\u07a2\u07cb\5\2\2\2\u07a3\u07a8\58\35\2\u07a4\u07a5\7?"+ - "\2\2\u07a5\u07a7\7@\2\2\u07a6\u07a4\3\2\2\2\u07a7\u07aa\3\2\2\2\u07a8"+ - "\u07a6\3\2\2\2\u07a8\u07a9\3\2\2\2\u07a9\u07ab\3\2\2\2\u07aa\u07a8\3\2"+ - "\2\2\u07ab\u07ac\7C\2\2\u07ac\u07ad\7\13\2\2\u07ad\u07cb\3\2\2\2\u07ae"+ - "\u07b3\5x=\2\u07af\u07b0\7?\2\2\u07b0\u07b2\7@\2\2\u07b1\u07af\3\2\2\2"+ - "\u07b2\u07b5\3\2\2\2\u07b3\u07b1\3\2\2\2\u07b3\u07b4\3\2\2\2\u07b4\u07b6"+ - "\3\2\2\2\u07b5\u07b3\3\2\2\2\u07b6\u07b7\7C\2\2\u07b7\u07b8\7\13\2\2\u07b8"+ - "\u07cb\3\2\2\2\u07b9\u07ba\7\62\2\2\u07ba\u07bb\7C\2\2\u07bb\u07cb\7\13"+ - "\2\2\u07bc\u07cb\7-\2\2\u07bd\u07be\58\35\2\u07be\u07bf\7C\2\2\u07bf\u07c0"+ - "\7-\2\2\u07c0\u07cb\3\2\2\2\u07c1\u07c2\7;\2\2\u07c2\u07c3\5\u01a0\u00d1"+ - "\2\u07c3\u07c4\7<\2\2\u07c4\u07cb\3\2\2\2\u07c5\u07cb\5\u017a\u00be\2"+ - "\u07c6\u07cb\5\u0182\u00c2\2\u07c7\u07cb\5\u0188\u00c5\2\u07c8\u07cb\5"+ - "\u018e\u00c8\2\u07c9\u07cb\5\u0196\u00cc\2\u07ca\u07a2\3\2\2\2\u07ca\u07a3"+ - "\3\2\2\2\u07ca\u07ae\3\2\2\2\u07ca\u07b9\3\2\2\2\u07ca\u07bc\3\2\2\2\u07ca"+ - "\u07bd\3\2\2\2\u07ca\u07c1\3\2\2\2\u07ca\u07c5\3\2\2\2\u07ca\u07c6\3\2"+ - "\2\2\u07ca\u07c7\3\2\2\2\u07ca\u07c8\3\2\2\2\u07ca\u07c9\3\2\2\2\u07cb"+ - "\u0171\3\2\2\2\u07cc\u07cd\3\2\2\2\u07cd\u0173\3\2\2\2\u07ce\u07f6\5\2"+ - "\2\2\u07cf\u07d4\58\35\2\u07d0\u07d1\7?\2\2\u07d1\u07d3\7@\2\2\u07d2\u07d0"+ - "\3\2\2\2\u07d3\u07d6\3\2\2\2\u07d4\u07d2\3\2\2\2\u07d4\u07d5\3\2\2\2\u07d5"+ - "\u07d7\3\2\2\2\u07d6\u07d4\3\2\2\2\u07d7\u07d8\7C\2\2\u07d8\u07d9\7\13"+ - "\2\2\u07d9\u07f6\3\2\2\2\u07da\u07df\5x=\2\u07db\u07dc\7?\2\2\u07dc\u07de"+ - "\7@\2\2\u07dd\u07db\3\2\2\2\u07de\u07e1\3\2\2\2\u07df\u07dd\3\2\2\2\u07df"+ - "\u07e0\3\2\2\2\u07e0\u07e2\3\2\2\2\u07e1\u07df\3\2\2\2\u07e2\u07e3\7C"+ - "\2\2\u07e3\u07e4\7\13\2\2\u07e4\u07f6\3\2\2\2\u07e5\u07e6\7\62\2\2\u07e6"+ - "\u07e7\7C\2\2\u07e7\u07f6\7\13\2\2\u07e8\u07f6\7-\2\2\u07e9\u07ea\58\35"+ - "\2\u07ea\u07eb\7C\2\2\u07eb\u07ec\7-\2\2\u07ec\u07f6\3\2\2\2\u07ed\u07ee"+ - "\7;\2\2\u07ee\u07ef\5\u01a0\u00d1\2\u07ef\u07f0\7<\2\2\u07f0\u07f6\3\2"+ - "\2\2\u07f1\u07f6\5\u017a\u00be\2\u07f2\u07f6\5\u0182\u00c2\2\u07f3\u07f6"+ - "\5\u018e\u00c8\2\u07f4\u07f6\5\u0196\u00cc\2\u07f5\u07ce\3\2\2\2\u07f5"+ - "\u07cf\3\2\2\2\u07f5\u07da\3\2\2\2\u07f5\u07e5\3\2\2\2\u07f5\u07e8\3\2"+ - "\2\2\u07f5\u07e9\3\2\2\2\u07f5\u07ed\3\2\2\2\u07f5\u07f1\3\2\2\2\u07f5"+ - "\u07f2\3\2\2\2\u07f5\u07f3\3\2\2\2\u07f5\u07f4\3\2\2\2\u07f6\u0175\3\2"+ - "\2\2\u07f7\u07f9\7!\2\2\u07f8\u07fa\5,\27\2\u07f9\u07f8\3\2\2\2\u07f9"+ - "\u07fa\3\2\2\2\u07fa\u07fe\3\2\2\2\u07fb\u07fd\5\u00e8u\2\u07fc\u07fb"+ - "\3\2\2\2\u07fd\u0800\3\2\2\2\u07fe\u07fc\3\2\2\2\u07fe\u07ff\3\2\2\2\u07ff"+ - "\u0801\3\2\2\2\u0800\u07fe\3\2\2\2\u0801\u080c\7h\2\2\u0802\u0806\7C\2"+ - "\2\u0803\u0805\5\u00e8u\2\u0804\u0803\3\2\2\2\u0805\u0808\3\2\2\2\u0806"+ - "\u0804\3\2\2\2\u0806\u0807\3\2\2\2\u0807\u0809\3\2\2\2\u0808\u0806\3\2"+ - "\2\2\u0809\u080b\7h\2\2\u080a\u0802\3\2\2\2\u080b\u080e\3\2\2\2\u080c"+ - "\u080a\3\2\2\2\u080c\u080d\3\2\2\2\u080d\u0810\3\2\2\2\u080e\u080c\3\2"+ - "\2\2\u080f\u0811\5\u017c\u00bf\2\u0810\u080f\3\2\2\2\u0810\u0811\3\2\2"+ - "\2\u0811\u0812\3\2\2\2\u0812\u0814\7;\2\2\u0813\u0815\5\u0190\u00c9\2"+ - "\u0814\u0813\3\2\2\2\u0814\u0815\3\2\2\2\u0815\u0816\3\2\2\2\u0816\u0818"+ - "\7<\2\2\u0817\u0819\5d\63\2\u0818\u0817\3\2\2\2\u0818\u0819\3\2\2\2\u0819"+ - "\u084b\3\2\2\2\u081a\u081b\5<\37\2\u081b\u081c\7C\2\2\u081c\u081e\7!\2"+ - "\2\u081d\u081f\5,\27\2\u081e\u081d\3\2\2\2\u081e\u081f\3\2\2\2\u081f\u0823"+ - "\3\2\2\2\u0820\u0822\5\u00e8u\2\u0821\u0820\3\2\2\2\u0822\u0825\3\2\2"+ - "\2\u0823\u0821\3\2\2\2\u0823\u0824\3\2\2\2\u0824\u0826\3\2\2\2\u0825\u0823"+ - "\3\2\2\2\u0826\u0828\7h\2\2\u0827\u0829\5\u017c\u00bf\2\u0828\u0827\3"+ - "\2\2\2\u0828\u0829\3\2\2\2\u0829\u082a\3\2\2\2\u082a\u082c\7;\2\2\u082b"+ - "\u082d\5\u0190\u00c9\2\u082c\u082b\3\2\2\2\u082c\u082d\3\2\2\2\u082d\u082e"+ - "\3\2\2\2\u082e\u0830\7<\2\2\u082f\u0831\5d\63\2\u0830\u082f\3\2\2\2\u0830"+ - "\u0831\3\2\2\2\u0831\u084b\3\2\2\2\u0832\u0833\5\u0162\u00b2\2\u0833\u0834"+ - "\7C\2\2\u0834\u0836\7!\2\2\u0835\u0837\5,\27\2\u0836\u0835\3\2\2\2\u0836"+ - "\u0837\3\2\2\2\u0837\u083b\3\2\2\2\u0838\u083a\5\u00e8u\2\u0839\u0838"+ - "\3\2\2\2\u083a\u083d\3\2\2\2\u083b\u0839\3\2\2\2\u083b\u083c\3\2\2\2\u083c"+ - "\u083e\3\2\2\2\u083d\u083b\3\2\2\2\u083e\u0840\7h\2\2\u083f\u0841\5\u017c"+ - "\u00bf\2\u0840\u083f\3\2\2\2\u0840\u0841\3\2\2\2\u0841\u0842\3\2\2\2\u0842"+ - "\u0844\7;\2\2\u0843\u0845\5\u0190\u00c9\2\u0844\u0843\3\2\2\2\u0844\u0845"+ - "\3\2\2\2\u0845\u0846\3\2\2\2\u0846\u0848\7<\2\2\u0847\u0849\5d\63\2\u0848"+ - "\u0847\3\2\2\2\u0848\u0849\3\2\2\2\u0849\u084b\3\2\2\2\u084a\u07f7\3\2"+ - "\2\2\u084a\u081a\3\2\2\2\u084a\u0832\3\2\2\2\u084b\u0177\3\2\2\2\u084c"+ - "\u084d\7C\2\2\u084d\u084f\7!\2\2\u084e\u0850\5,\27\2\u084f\u084e\3\2\2"+ - "\2\u084f\u0850\3\2\2\2\u0850\u0854\3\2\2\2\u0851\u0853\5\u00e8u\2\u0852"+ - "\u0851\3\2\2\2\u0853\u0856\3\2\2\2\u0854\u0852\3\2\2\2\u0854\u0855\3\2"+ - "\2\2\u0855\u0857\3\2\2\2\u0856\u0854\3\2\2\2\u0857\u0859\7h\2\2\u0858"+ - "\u085a\5\u017c\u00bf\2\u0859\u0858\3\2\2\2\u0859\u085a\3\2\2\2\u085a\u085b"+ - "\3\2\2\2\u085b\u085d\7;\2\2\u085c\u085e\5\u0190\u00c9\2\u085d\u085c\3"+ - "\2\2\2\u085d\u085e\3\2\2\2\u085e\u085f\3\2\2\2\u085f\u0861\7<\2\2\u0860"+ - "\u0862\5d\63\2\u0861\u0860\3\2\2\2\u0861\u0862\3\2\2\2\u0862\u0179\3\2"+ - "\2\2\u0863\u0865\7!\2\2\u0864\u0866\5,\27\2\u0865\u0864\3\2\2\2\u0865"+ - "\u0866\3\2\2\2\u0866\u086a\3\2\2\2\u0867\u0869\5\u00e8u\2\u0868\u0867"+ - "\3\2\2\2\u0869\u086c\3\2\2\2\u086a\u0868\3\2\2\2\u086a\u086b\3\2\2\2\u086b"+ - "\u086d\3\2\2\2\u086c\u086a\3\2\2\2\u086d\u0878\7h\2\2\u086e\u0872\7C\2"+ - "\2\u086f\u0871\5\u00e8u\2\u0870\u086f\3\2\2\2\u0871\u0874\3\2\2\2\u0872"+ - "\u0870\3\2\2\2\u0872\u0873\3\2\2\2\u0873\u0875\3\2\2\2\u0874\u0872\3\2"+ - "\2\2\u0875\u0877\7h\2\2\u0876\u086e\3\2\2\2\u0877\u087a\3\2\2\2\u0878"+ - "\u0876\3\2\2\2\u0878\u0879\3\2\2\2\u0879\u087c\3\2\2\2\u087a\u0878\3\2"+ - "\2\2\u087b\u087d\5\u017c\u00bf\2\u087c\u087b\3\2\2\2\u087c\u087d\3\2\2"+ - "\2\u087d\u087e\3\2\2\2\u087e\u0880\7;\2\2\u087f\u0881\5\u0190\u00c9\2"+ - "\u0880\u087f\3\2\2\2\u0880\u0881\3\2\2\2\u0881\u0882\3\2\2\2\u0882\u0884"+ - "\7<\2\2\u0883\u0885\5d\63\2\u0884\u0883\3\2\2\2\u0884\u0885\3\2\2\2\u0885"+ - "\u089f\3\2\2\2\u0886\u0887\5<\37\2\u0887\u0888\7C\2\2\u0888\u088a\7!\2"+ - "\2\u0889\u088b\5,\27\2\u088a\u0889\3\2\2\2\u088a\u088b\3\2\2\2\u088b\u088f"+ - "\3\2\2\2\u088c\u088e\5\u00e8u\2\u088d\u088c\3\2\2\2\u088e\u0891\3\2\2"+ - "\2\u088f\u088d\3\2\2\2\u088f\u0890\3\2\2\2\u0890\u0892\3\2\2\2\u0891\u088f"+ - "\3\2\2\2\u0892\u0894\7h\2\2\u0893\u0895\5\u017c\u00bf\2\u0894\u0893\3"+ - "\2\2\2\u0894\u0895\3\2\2\2\u0895\u0896\3\2\2\2\u0896\u0898\7;\2\2\u0897"+ - "\u0899\5\u0190\u00c9\2\u0898\u0897\3\2\2\2\u0898\u0899\3\2\2\2\u0899\u089a"+ - "\3\2\2\2\u089a\u089c\7<\2\2\u089b\u089d\5d\63\2\u089c\u089b\3\2\2\2\u089c"+ - "\u089d\3\2\2\2\u089d\u089f\3\2\2\2\u089e\u0863\3\2\2\2\u089e\u0886\3\2"+ - "\2\2\u089f\u017b\3\2\2\2\u08a0\u08a4\5,\27\2\u08a1\u08a2\7F\2\2\u08a2"+ - "\u08a4\7E\2\2\u08a3\u08a0\3\2\2\2\u08a3\u08a1\3\2\2\2\u08a4\u017d\3\2"+ - "\2\2\u08a5\u08a6\5\u0162\u00b2\2\u08a6\u08a7\7C\2\2\u08a7\u08a8\7h\2\2"+ - "\u08a8\u08b3\3\2\2\2\u08a9\u08aa\7*\2\2\u08aa\u08ab\7C\2\2\u08ab\u08b3"+ - "\7h\2\2\u08ac\u08ad\58\35\2\u08ad\u08ae\7C\2\2\u08ae\u08af\7*\2\2\u08af"+ - "\u08b0\7C\2\2\u08b0\u08b1\7h\2\2\u08b1\u08b3\3\2\2\2\u08b2\u08a5\3\2\2"+ - "\2\u08b2\u08a9\3\2\2\2\u08b2\u08ac\3\2\2\2\u08b3\u017f\3\2\2\2\u08b4\u08b5"+ - "\7C\2\2\u08b5\u08b6\7h\2\2\u08b6\u0181\3\2\2\2\u08b7\u08b8\7*\2\2\u08b8"+ - "\u08b9\7C\2\2\u08b9\u08c1\7h\2\2\u08ba\u08bb\58\35\2\u08bb\u08bc\7C\2"+ - "\2\u08bc\u08bd\7*\2\2\u08bd\u08be\7C\2\2\u08be\u08bf\7h\2\2\u08bf\u08c1"+ - "\3\2\2\2\u08c0\u08b7\3\2\2\2\u08c0\u08ba\3\2\2\2\u08c1\u0183\3\2\2\2\u08c2"+ - "\u08c3\5<\37\2\u08c3\u08c4\7?\2\2\u08c4\u08c5\5\u01a0\u00d1\2\u08c5\u08c6"+ - "\7@\2\2\u08c6\u08cd\3\2\2\2\u08c7\u08c8\5\u0168\u00b5\2\u08c8\u08c9\7"+ - "?\2\2\u08c9\u08ca\5\u01a0\u00d1\2\u08ca\u08cb\7@\2\2\u08cb\u08cd\3\2\2"+ - "\2\u08cc\u08c2\3\2\2\2\u08cc\u08c7\3\2\2\2\u08cd\u08d5\3\2\2\2\u08ce\u08cf"+ - "\5\u0166\u00b4\2\u08cf\u08d0\7?\2\2\u08d0\u08d1\5\u01a0\u00d1\2\u08d1"+ - "\u08d2\7@\2\2\u08d2\u08d4\3\2\2\2\u08d3\u08ce\3\2\2\2\u08d4\u08d7\3\2"+ - "\2\2\u08d5\u08d3\3\2\2\2\u08d5\u08d6\3\2\2\2\u08d6\u0185\3\2\2\2\u08d7"+ - "\u08d5\3\2\2\2\u08d8\u08d9\5\u016e\u00b8\2\u08d9\u08da\7?\2\2\u08da\u08db"+ - "\5\u01a0\u00d1\2\u08db\u08dc\7@\2\2\u08dc\u08e4\3\2\2\2\u08dd\u08de\5"+ - "\u016c\u00b7\2\u08de\u08df\7?\2\2\u08df\u08e0\5\u01a0\u00d1\2\u08e0\u08e1"+ - "\7@\2\2\u08e1\u08e3\3\2\2\2\u08e2\u08dd\3\2\2\2\u08e3\u08e6\3\2\2\2\u08e4"+ - "\u08e2\3\2\2\2\u08e4\u08e5\3\2\2\2\u08e5\u0187\3\2\2\2\u08e6\u08e4\3\2"+ - "\2\2\u08e7\u08e8\5<\37\2\u08e8\u08e9\7?\2\2\u08e9\u08ea\5\u01a0\u00d1"+ - "\2\u08ea\u08eb\7@\2\2\u08eb\u08f2\3\2\2\2\u08ec\u08ed\5\u0174\u00bb\2"+ - "\u08ed\u08ee\7?\2\2\u08ee\u08ef\5\u01a0\u00d1\2\u08ef\u08f0\7@\2\2\u08f0"+ - "\u08f2\3\2\2\2\u08f1\u08e7\3\2\2\2\u08f1\u08ec\3\2\2\2\u08f2\u08fa\3\2"+ - "\2\2\u08f3\u08f4\5\u0172\u00ba\2\u08f4\u08f5\7?\2\2\u08f5\u08f6\5\u01a0"+ - "\u00d1\2\u08f6\u08f7\7@\2\2\u08f7\u08f9\3\2\2\2\u08f8\u08f3\3\2\2\2\u08f9"+ - "\u08fc\3\2\2\2\u08fa\u08f8\3\2\2\2\u08fa\u08fb\3\2\2\2\u08fb\u0189\3\2"+ - "\2\2\u08fc\u08fa\3\2\2\2\u08fd\u08fe\5> \2\u08fe\u0900\7;\2\2\u08ff\u0901"+ - "\5\u0190\u00c9\2\u0900\u08ff\3\2\2\2\u0900\u0901\3\2\2\2\u0901\u0902\3"+ - "\2\2\2\u0902\u0903\7<\2\2\u0903\u0942\3\2\2\2\u0904\u0905\58\35\2\u0905"+ - "\u0907\7C\2\2\u0906\u0908\5,\27\2\u0907\u0906\3\2\2\2\u0907\u0908\3\2"+ - "\2\2\u0908\u0909\3\2\2\2\u0909\u090a\7h\2\2\u090a\u090c\7;\2\2\u090b\u090d"+ - "\5\u0190\u00c9\2\u090c\u090b\3\2\2\2\u090c\u090d\3\2\2\2\u090d\u090e\3"+ - "\2\2\2\u090e\u090f\7<\2\2\u090f\u0942\3\2\2\2\u0910\u0911\5<\37\2\u0911"+ - "\u0913\7C\2\2\u0912\u0914\5,\27\2\u0913\u0912\3\2\2\2\u0913\u0914\3\2"+ - "\2\2\u0914\u0915\3\2\2\2\u0915\u0916\7h\2\2\u0916\u0918\7;\2\2\u0917\u0919"+ - "\5\u0190\u00c9\2\u0918\u0917\3\2\2\2\u0918\u0919\3\2\2\2\u0919\u091a\3"+ - "\2\2\2\u091a\u091b\7<\2\2\u091b\u0942\3\2\2\2\u091c\u091d\5\u0162\u00b2"+ - "\2\u091d\u091f\7C\2\2\u091e\u0920\5,\27\2\u091f\u091e\3\2\2\2\u091f\u0920"+ - "\3\2\2\2\u0920\u0921\3\2\2\2\u0921\u0922\7h\2\2\u0922\u0924\7;\2\2\u0923"+ - "\u0925\5\u0190\u00c9\2\u0924\u0923\3\2\2\2\u0924\u0925\3\2\2\2\u0925\u0926"+ - "\3\2\2\2\u0926\u0927\7<\2\2\u0927\u0942\3\2\2\2\u0928\u0929\7*\2\2\u0929"+ - "\u092b\7C\2\2\u092a\u092c\5,\27\2\u092b\u092a\3\2\2\2\u092b\u092c\3\2"+ - "\2\2\u092c\u092d\3\2\2\2\u092d\u092e\7h\2\2\u092e\u0930\7;\2\2\u092f\u0931"+ - "\5\u0190\u00c9\2\u0930\u092f\3\2\2\2\u0930\u0931\3\2\2\2\u0931\u0932\3"+ - "\2\2\2\u0932\u0942\7<\2\2\u0933\u0934\58\35\2\u0934\u0935\7C\2\2\u0935"+ - "\u0936\7*\2\2\u0936\u0938\7C\2\2\u0937\u0939\5,\27\2\u0938\u0937\3\2\2"+ - "\2\u0938\u0939\3\2\2\2\u0939\u093a\3\2\2\2\u093a\u093b\7h\2\2\u093b\u093d"+ - "\7;\2\2\u093c\u093e\5\u0190\u00c9\2\u093d\u093c\3\2\2\2\u093d\u093e\3"+ - "\2\2\2\u093e\u093f\3\2\2\2\u093f\u0940\7<\2\2\u0940\u0942\3\2\2\2\u0941"+ - "\u08fd\3\2\2\2\u0941\u0904\3\2\2\2\u0941\u0910\3\2\2\2\u0941\u091c\3\2"+ - "\2\2\u0941\u0928\3\2\2\2\u0941\u0933\3\2\2\2\u0942\u018b\3\2\2\2\u0943"+ - "\u0945\7C\2\2\u0944\u0946\5,\27\2\u0945\u0944\3\2\2\2\u0945\u0946\3\2"+ - "\2\2\u0946\u0947\3\2\2\2\u0947\u0948\7h\2\2\u0948\u094a\7;\2\2\u0949\u094b"+ - "\5\u0190\u00c9\2\u094a\u0949\3\2\2\2\u094a\u094b\3\2\2\2\u094b\u094c\3"+ - "\2\2\2\u094c\u094d\7<\2\2\u094d\u018d\3\2\2\2\u094e\u094f\5> \2\u094f"+ - "\u0951\7;\2\2\u0950\u0952\5\u0190\u00c9\2\u0951\u0950\3\2\2\2\u0951\u0952"+ - "\3\2\2\2\u0952\u0953\3\2\2\2\u0953\u0954\7<\2\2\u0954\u0987\3\2\2\2\u0955"+ - "\u0956\58\35\2\u0956\u0958\7C\2\2\u0957\u0959\5,\27\2\u0958\u0957\3\2"+ - "\2\2\u0958\u0959\3\2\2\2\u0959\u095a\3\2\2\2\u095a\u095b\7h\2\2\u095b"+ - "\u095d\7;\2\2\u095c\u095e\5\u0190\u00c9\2\u095d\u095c\3\2\2\2\u095d\u095e"+ - "\3\2\2\2\u095e\u095f\3\2\2\2\u095f\u0960\7<\2\2\u0960\u0987\3\2\2\2\u0961"+ - "\u0962\5<\37\2\u0962\u0964\7C\2\2\u0963\u0965\5,\27\2\u0964\u0963\3\2"+ - "\2\2\u0964\u0965\3\2\2\2\u0965\u0966\3\2\2\2\u0966\u0967\7h\2\2\u0967"+ - "\u0969\7;\2\2\u0968\u096a\5\u0190\u00c9\2\u0969\u0968\3\2\2\2\u0969\u096a"+ - "\3\2\2"; + "\3\2\2\2\u0431\u042f\3\2\2\2\u0431\u0432\3\2\2\2\u0432\u0435\3\2\2\2\u0433"+ + "\u0431\3\2\2\2\u0434\u0436\5v<\2\u0435\u0434\3\2\2\2\u0435\u0436\3\2\2"+ + "\2\u0436\u0437\3\2\2\2\u0437\u0438\5r:\2\u0438\u009d\3\2\2\2\u0439\u043c"+ + "\5\u00e8u\2\u043a\u043c\7\24\2\2\u043b\u0439\3\2\2\2\u043b\u043a\3\2\2"+ + "\2\u043c\u009f\3\2\2\2\u043d\u043f\5\u009eP\2\u043e\u043d\3\2\2\2\u043f"+ + "\u0442\3\2\2\2\u0440\u043e\3\2\2\2\u0440\u0441\3\2\2\2\u0441\u0443\3\2"+ + "\2\2\u0442\u0440\3\2\2\2\u0443\u0447\5v<\2\u0444\u0446\5\u00e8u\2\u0445"+ + "\u0444\3\2\2\2\u0446\u0449\3\2\2\2\u0447\u0445\3\2\2\2\u0447\u0448\3\2"+ + "\2\2\u0448\u044a\3\2\2\2\u0449\u0447\3\2\2\2\u044a\u044b\7j\2\2\u044b"+ + "\u044c\5r:\2\u044c\u044f\3\2\2\2\u044d\u044f\5\u009cO\2\u044e\u0440\3"+ + "\2\2\2\u044e\u044d\3\2\2\2\u044f\u00a1\3\2\2\2\u0450\u0452\5\u00e8u\2"+ + "\u0451\u0450\3\2\2\2\u0452\u0455\3\2\2\2\u0453\u0451\3\2\2\2\u0453\u0454"+ + "\3\2\2\2\u0454\u0456\3\2\2\2\u0455\u0453\3\2\2\2\u0456\u0459\5v<\2\u0457"+ + "\u0458\7h\2\2\u0458\u045a\7C\2\2\u0459\u0457\3\2\2\2\u0459\u045a\3\2\2"+ + "\2\u045a\u045b\3\2\2\2\u045b\u045c\7-\2\2\u045c\u00a3\3\2\2\2\u045d\u045e"+ + "\7/\2\2\u045e\u045f\5\u00a6T\2\u045f\u00a5\3\2\2\2\u0460\u0465\5\u00a8"+ + "U\2\u0461\u0462\7B\2\2\u0462\u0464\5\u00a8U\2\u0463\u0461\3\2\2\2\u0464"+ + "\u0467\3\2\2\2\u0465\u0463\3\2\2\2\u0465\u0466\3\2\2\2\u0466\u00a7\3\2"+ + "\2\2\u0467\u0465\3\2\2\2\u0468\u046b\5\22\n\2\u0469\u046b\5\36\20\2\u046a"+ + "\u0468\3\2\2\2\u046a\u0469\3\2\2\2\u046b\u00a9\3\2\2\2\u046c\u046f\5\u00fe"+ + "\u0080\2\u046d\u046f\7A\2\2\u046e\u046c\3\2\2\2\u046e\u046d\3\2\2\2\u046f"+ + "\u00ab\3\2\2\2\u0470\u0471\5\u00fe\u0080\2\u0471\u00ad\3\2\2\2\u0472\u0473"+ + "\7(\2\2\u0473\u0474\5\u00fe\u0080\2\u0474\u00af\3\2\2\2\u0475\u0477\5"+ + "\u00b2Z\2\u0476\u0475\3\2\2\2\u0477\u047a\3\2\2\2\u0478\u0476\3\2\2\2"+ + "\u0478\u0479\3\2\2\2\u0479\u047b\3\2\2\2\u047a\u0478\3\2\2\2\u047b\u047d"+ + "\5\u00b4[\2\u047c\u047e\5\u00a4S\2\u047d\u047c\3\2\2\2\u047d\u047e\3\2"+ + "\2\2\u047e\u047f\3\2\2\2\u047f\u0480\5\u00b8]\2\u0480\u00b1\3\2\2\2\u0481"+ + "\u0486\5\u00e8u\2\u0482\u0486\7%\2\2\u0483\u0486\7$\2\2\u0484\u0486\7"+ + "#\2\2\u0485\u0481\3\2\2\2\u0485\u0482\3\2\2\2\u0485\u0483\3\2\2\2\u0485"+ + "\u0484\3\2\2\2\u0486\u00b3\3\2\2\2\u0487\u0489\5Z.\2\u0488\u0487\3\2\2"+ + "\2\u0488\u0489\3\2\2\2\u0489\u048a\3\2\2\2\u048a\u048b\5\u00b6\\\2\u048b"+ + "\u048d\7;\2\2\u048c\u048e\5\u0098M\2\u048d\u048c\3\2\2\2\u048d\u048e\3"+ + "\2\2\2\u048e\u048f\3\2\2\2\u048f\u0490\7<\2\2\u0490\u00b5\3\2\2\2\u0491"+ + "\u0492\7h\2\2\u0492\u00b7\3\2\2\2\u0493\u0495\7=\2\2\u0494\u0496\5\u00ba"+ + "^\2\u0495\u0494\3\2\2\2\u0495\u0496\3\2\2\2\u0496\u0498\3\2\2\2\u0497"+ + "\u0499\5\u0100\u0081\2\u0498\u0497\3\2\2\2\u0498\u0499\3\2\2\2\u0499\u049a"+ + "\3\2\2\2\u049a\u049b\7>\2\2\u049b\u00b9\3\2\2\2\u049c\u049e\5,\27\2\u049d"+ + "\u049c\3\2\2\2\u049d\u049e\3\2\2\2\u049e\u049f\3\2\2\2\u049f\u04a0\7-"+ + "\2\2\u04a0\u04a2\7;\2\2\u04a1\u04a3\5\u0190\u00c9\2\u04a2\u04a1\3\2\2"+ + "\2\u04a2\u04a3\3\2\2\2\u04a3\u04a4\3\2\2\2\u04a4\u04a5\7<\2\2\u04a5\u04cb"+ + "\7A\2\2\u04a6\u04a8\5,\27\2\u04a7\u04a6\3\2\2\2\u04a7\u04a8\3\2\2\2\u04a8"+ + "\u04a9\3\2\2\2\u04a9\u04aa\7*\2\2\u04aa\u04ac\7;\2\2\u04ab\u04ad\5\u0190"+ + "\u00c9\2\u04ac\u04ab\3\2\2\2\u04ac\u04ad\3\2\2\2\u04ad\u04ae\3\2\2\2\u04ae"+ + "\u04af\7<\2\2\u04af\u04cb\7A\2\2\u04b0\u04b1\5<\37\2\u04b1\u04b3\7C\2"+ + "\2\u04b2\u04b4\5,\27\2\u04b3\u04b2\3\2\2\2\u04b3\u04b4\3\2\2\2\u04b4\u04b5"+ + "\3\2\2\2\u04b5\u04b6\7*\2\2\u04b6\u04b8\7;\2\2\u04b7\u04b9\5\u0190\u00c9"+ + "\2\u04b8\u04b7\3\2\2\2\u04b8\u04b9\3\2\2\2\u04b9\u04ba\3\2\2\2\u04ba\u04bb"+ + "\7<\2\2\u04bb\u04bc\7A\2\2\u04bc\u04cb\3\2\2\2\u04bd\u04be\5\u0162\u00b2"+ + "\2\u04be\u04c0\7C\2\2\u04bf\u04c1\5,\27\2\u04c0\u04bf\3\2\2\2\u04c0\u04c1"+ + "\3\2\2\2\u04c1\u04c2\3\2\2\2\u04c2\u04c3\7*\2\2\u04c3\u04c5\7;\2\2\u04c4"+ + "\u04c6\5\u0190\u00c9\2\u04c5\u04c4\3\2\2\2\u04c5\u04c6\3\2\2\2\u04c6\u04c7"+ + "\3\2\2\2\u04c7\u04c8\7<\2\2\u04c8\u04c9\7A\2\2\u04c9\u04cb\3\2\2\2\u04ca"+ + "\u049d\3\2\2\2\u04ca\u04a7\3\2\2\2\u04ca\u04b0\3\2\2\2\u04ca\u04bd\3\2"+ + "\2\2\u04cb\u00bb\3\2\2\2\u04cc\u04ce\5X-\2\u04cd\u04cc\3\2\2\2\u04ce\u04d1"+ + "\3\2\2\2\u04cf\u04cd\3\2\2\2\u04cf\u04d0\3\2\2\2\u04d0\u04d2\3\2\2\2\u04d1"+ + "\u04cf\3\2\2\2\u04d2\u04d3\7\22\2\2\u04d3\u04d5\7h\2\2\u04d4\u04d6\5`"+ + "\61\2\u04d5\u04d4\3\2\2\2\u04d5\u04d6\3\2\2\2\u04d6\u04d7\3\2\2\2\u04d7"+ + "\u04d8\5\u00be`\2\u04d8\u00bd\3\2\2\2\u04d9\u04db\7=\2\2\u04da\u04dc\5"+ + "\u00c0a\2\u04db\u04da\3\2\2\2\u04db\u04dc\3\2\2\2\u04dc\u04de\3\2\2\2"+ + "\u04dd\u04df\7B\2\2\u04de\u04dd\3\2\2\2\u04de\u04df\3\2\2\2\u04df\u04e1"+ + "\3\2\2\2\u04e0\u04e2\5\u00c6d\2\u04e1\u04e0\3\2\2\2\u04e1\u04e2\3\2\2"+ + "\2\u04e2\u04e3\3\2\2\2\u04e3\u04e4\7>\2\2\u04e4\u00bf\3\2\2\2\u04e5\u04ea"+ + "\5\u00c2b\2\u04e6\u04e7\7B\2\2\u04e7\u04e9\5\u00c2b\2\u04e8\u04e6\3\2"+ + "\2\2\u04e9\u04ec\3\2\2\2\u04ea\u04e8\3\2\2\2\u04ea\u04eb\3\2\2\2\u04eb"+ + "\u00c1\3\2\2\2\u04ec\u04ea\3\2\2\2\u04ed\u04ef\5\u00c4c\2\u04ee\u04ed"+ + "\3\2\2\2\u04ef\u04f2\3\2\2\2\u04f0\u04ee\3\2\2\2\u04f0\u04f1\3\2\2\2\u04f1"+ + "\u04f3\3\2\2\2\u04f2\u04f0\3\2\2\2\u04f3\u04f9\7h\2\2\u04f4\u04f6\7;\2"+ + "\2\u04f5\u04f7\5\u0190\u00c9\2\u04f6\u04f5\3\2\2\2\u04f6\u04f7\3\2\2\2"+ + "\u04f7\u04f8\3\2\2\2\u04f8\u04fa\7<\2\2\u04f9\u04f4\3\2\2\2\u04f9\u04fa"+ + "\3\2\2\2\u04fa\u04fc\3\2\2\2\u04fb\u04fd\5d\63\2\u04fc\u04fb\3\2\2\2\u04fc"+ + "\u04fd\3\2\2\2\u04fd\u00c3\3\2\2\2\u04fe\u04ff\5\u00e8u\2\u04ff\u00c5"+ + "\3\2\2\2\u0500\u0504\7A\2\2\u0501\u0503\5f\64\2\u0502\u0501\3\2\2\2\u0503"+ + "\u0506\3\2\2\2\u0504\u0502\3\2\2\2\u0504\u0505\3\2\2\2\u0505\u00c7\3\2"+ + "\2\2\u0506\u0504\3\2\2\2\u0507\u050a\5\u00caf\2\u0508\u050a\5\u00dco\2"+ + "\u0509\u0507\3\2\2\2\u0509\u0508\3\2\2\2\u050a\u00c9\3\2\2\2\u050b\u050d"+ + "\5\u00ccg\2\u050c\u050b\3\2\2\2\u050d\u0510\3\2\2\2\u050e\u050c\3\2\2"+ + "\2\u050e\u050f\3\2\2\2\u050f\u0511\3\2\2\2\u0510\u050e\3\2\2\2\u0511\u0512"+ + "\7\36\2\2\u0512\u0514\7h\2\2\u0513\u0515\5Z.\2\u0514\u0513\3\2\2\2\u0514"+ + "\u0515\3\2\2\2\u0515\u0517\3\2\2\2\u0516\u0518\5\u00ceh\2\u0517\u0516"+ + "\3\2\2\2\u0517\u0518\3\2\2\2\u0518\u0519\3\2\2\2\u0519\u051a\5\u00d0i"+ + "\2\u051a\u00cb\3\2\2\2\u051b\u0523\5\u00e8u\2\u051c\u0523\7%\2\2\u051d"+ + "\u0523\7$\2\2\u051e\u0523\7#\2\2\u051f\u0523\7\3\2\2\u0520\u0523\7(\2"+ + "\2\u0521\u0523\7)\2\2\u0522\u051b\3\2\2\2\u0522\u051c\3\2\2\2\u0522\u051d"+ + "\3\2\2\2\u0522\u051e\3\2\2\2\u0522\u051f\3\2\2\2\u0522\u0520\3\2\2\2\u0522"+ + "\u0521\3\2\2\2\u0523\u00cd\3\2\2\2\u0524\u0525\7\23\2\2\u0525\u0526\5"+ + "b\62\2\u0526\u00cf\3\2\2\2\u0527\u052b\7=\2\2\u0528\u052a\5\u00d2j\2\u0529"+ + "\u0528\3\2\2\2\u052a\u052d\3\2\2\2\u052b\u0529\3\2\2\2\u052b\u052c\3\2"+ + "\2\2\u052c\u052e\3\2\2\2\u052d\u052b\3\2\2\2\u052e\u052f\7>\2\2\u052f"+ + "\u00d1\3\2\2\2\u0530\u0536\5\u00d4k\2\u0531\u0536\5\u00d8m\2\u0532\u0536"+ + "\5T+\2\u0533\u0536\5\u00c8e\2\u0534\u0536\7A\2\2\u0535\u0530\3\2\2\2\u0535"+ + "\u0531\3\2\2\2\u0535\u0532\3\2\2\2\u0535\u0533\3\2\2\2\u0535\u0534\3\2"+ + "\2\2\u0536\u00d3\3\2\2\2\u0537\u0539\5\u00d6l\2\u0538\u0537\3\2\2\2\u0539"+ + "\u053c\3\2\2\2\u053a\u0538\3\2\2\2\u053a\u053b\3\2\2\2\u053b\u053d\3\2"+ + "\2\2\u053c\u053a\3\2\2\2\u053d\u053e\5v<\2\u053e\u053f\5n8\2\u053f\u0540"+ + "\7A\2\2\u0540\u00d5\3\2\2\2\u0541\u0546\5\u00e8u\2\u0542\u0546\7%\2\2"+ + "\u0543\u0546\7(\2\2\u0544\u0546\7\24\2\2\u0545\u0541\3\2\2\2\u0545\u0542"+ + "\3\2\2\2\u0545\u0543\3\2\2\2\u0545\u0544\3\2\2\2\u0546\u00d7\3\2\2\2\u0547"+ + "\u0549\5\u00dan\2\u0548\u0547\3\2\2\2\u0549\u054c\3\2\2\2\u054a\u0548"+ + "\3\2\2\2\u054a\u054b\3\2\2\2\u054b\u054d\3\2\2\2\u054c\u054a\3\2\2\2\u054d"+ + "\u054e\5\u0092J\2\u054e\u054f\5\u00aaV\2\u054f\u00d9\3\2\2\2\u0550\u0557"+ + "\5\u00e8u\2\u0551\u0557\7%\2\2\u0552\u0557\7\3\2\2\u0553\u0557\7\16\2"+ + "\2\u0554\u0557\7(\2\2\u0555\u0557\7)\2\2\u0556\u0550\3\2\2\2\u0556\u0551"+ + "\3\2\2\2\u0556\u0552\3\2\2\2\u0556\u0553\3\2\2\2\u0556\u0554\3\2\2\2\u0556"+ + "\u0555\3\2\2\2\u0557\u00db\3\2\2\2\u0558\u055a\5\u00ccg\2\u0559\u0558"+ + "\3\2\2\2\u055a\u055d\3\2\2\2\u055b\u0559\3\2\2\2\u055b\u055c\3\2\2\2\u055c"+ + "\u055e\3\2\2\2\u055d\u055b\3\2\2\2\u055e\u055f\7i\2\2\u055f\u0560\7\36"+ + "\2\2\u0560\u0561\7h\2\2\u0561\u0562\5\u00dep\2\u0562\u00dd\3\2\2\2\u0563"+ + "\u0567\7=\2\2\u0564\u0566\5\u00e0q\2\u0565\u0564\3\2\2\2\u0566\u0569\3"+ + "\2\2\2\u0567\u0565\3\2\2\2\u0567\u0568\3\2\2\2\u0568\u056a\3\2\2\2\u0569"+ + "\u0567\3\2\2\2\u056a\u056b\7>\2\2\u056b\u00df\3\2\2\2\u056c\u0572\5\u00e2"+ + "r\2\u056d\u0572\5\u00d4k\2\u056e\u0572\5T+\2\u056f\u0572\5\u00c8e\2\u0570"+ + "\u0572\7A\2\2\u0571\u056c\3\2\2\2\u0571\u056d\3\2\2\2\u0571\u056e\3\2"+ + "\2\2\u0571\u056f\3\2\2\2\u0571\u0570\3\2\2\2\u0572\u00e1\3\2\2\2\u0573"+ + "\u0575\5\u00e4s\2\u0574\u0573\3\2\2\2\u0575\u0578\3\2\2\2\u0576\u0574"+ + "\3\2\2\2\u0576\u0577\3\2\2\2\u0577\u0579\3\2\2\2\u0578\u0576\3\2\2\2\u0579"+ + "\u057a\5v<\2\u057a\u057b\7h\2\2\u057b\u057c\7;\2\2\u057c\u057e\7<\2\2"+ + "\u057d\u057f\5\"\22\2\u057e\u057d\3\2\2\2\u057e\u057f\3\2\2\2\u057f\u0581"+ + "\3\2\2\2\u0580\u0582\5\u00e6t\2\u0581\u0580\3\2\2\2\u0581\u0582\3\2\2"+ + "\2\u0582\u0583\3\2\2\2\u0583\u0584\7A\2\2\u0584\u00e3\3\2\2\2\u0585\u0589"+ + "\5\u00e8u\2\u0586\u0589\7%\2\2\u0587\u0589\7\3\2\2\u0588\u0585\3\2\2\2"+ + "\u0588\u0586\3\2\2\2\u0588\u0587\3\2\2\2\u0589\u00e5\3\2\2\2\u058a\u058b"+ + "\7\16\2\2\u058b\u058c\5\u00f0y\2\u058c\u00e7\3\2\2\2\u058d\u0591\5\u00ea"+ + "v\2\u058e\u0591\5\u00f6|\2\u058f\u0591\5\u00f8}\2\u0590\u058d\3\2\2\2"+ + "\u0590\u058e\3\2\2\2\u0590\u058f\3\2\2\2\u0591\u00e9\3\2\2\2\u0592\u0593"+ + "\7i\2\2\u0593\u0594\58\35\2\u0594\u0596\7;\2\2\u0595\u0597\5\u00ecw\2"+ + "\u0596\u0595\3\2\2\2\u0596\u0597\3\2\2\2\u0597\u0598\3\2\2\2\u0598\u0599"+ + "\7<\2\2\u0599\u00eb\3\2\2\2\u059a\u059f\5\u00eex\2\u059b\u059c\7B\2\2"+ + "\u059c\u059e\5\u00eex\2\u059d\u059b\3\2\2\2\u059e\u05a1\3\2\2\2\u059f"+ + "\u059d\3\2\2\2\u059f\u05a0\3\2\2\2\u05a0\u00ed\3\2\2\2\u05a1\u059f\3\2"+ + "\2\2\u05a2\u05a3\7h\2\2\u05a3\u05a4\7D\2\2\u05a4\u05a5\5\u00f0y\2\u05a5"+ + "\u00ef\3\2\2\2\u05a6\u05aa\5\u01b2\u00da\2\u05a7\u05aa\5\u00f2z\2\u05a8"+ + "\u05aa\5\u00e8u\2\u05a9\u05a6\3\2\2\2\u05a9\u05a7\3\2\2\2\u05a9\u05a8"+ + "\3\2\2\2\u05aa\u00f1\3\2\2\2\u05ab\u05ad\7=\2\2\u05ac\u05ae\5\u00f4{\2"+ + "\u05ad\u05ac\3\2\2\2\u05ad\u05ae\3\2\2\2\u05ae\u05b0\3\2\2\2\u05af\u05b1"+ + "\7B\2\2\u05b0\u05af\3\2\2\2\u05b0\u05b1\3\2\2\2\u05b1\u05b2\3\2\2\2\u05b2"+ + "\u05b3\7>\2\2\u05b3\u00f3\3\2\2\2\u05b4\u05b9\5\u00f0y\2\u05b5\u05b6\7"+ + "B\2\2\u05b6\u05b8\5\u00f0y\2\u05b7\u05b5\3\2\2\2\u05b8\u05bb\3\2\2\2\u05b9"+ + "\u05b7\3\2\2\2\u05b9\u05ba\3\2\2\2\u05ba\u00f5\3\2\2\2\u05bb\u05b9\3\2"+ + "\2\2\u05bc\u05bd\7i\2\2\u05bd\u05be\58\35\2\u05be\u00f7\3\2\2\2\u05bf"+ + "\u05c0\7i\2\2\u05c0\u05c1\58\35\2\u05c1\u05c2\7;\2\2\u05c2\u05c3\5\u00f0"+ + "y\2\u05c3\u05c4\7<\2\2\u05c4\u00f9\3\2\2\2\u05c5\u05c7\7=\2\2\u05c6\u05c8"+ + "\5\u00fc\177\2\u05c7\u05c6\3\2\2\2\u05c7\u05c8\3\2\2\2\u05c8\u05ca\3\2"+ + "\2\2\u05c9\u05cb\7B\2\2\u05ca\u05c9\3\2\2\2\u05ca\u05cb\3\2\2\2\u05cb"+ + "\u05cc\3\2\2\2\u05cc\u05cd\7>\2\2\u05cd\u00fb\3\2\2\2\u05ce\u05d3\5t;"+ + "\2\u05cf\u05d0\7B\2\2\u05d0\u05d2\5t;\2\u05d1\u05cf\3\2\2\2\u05d2\u05d5"+ + "\3\2\2\2\u05d3\u05d1\3\2\2\2\u05d3\u05d4\3\2\2\2\u05d4\u00fd\3\2\2\2\u05d5"+ + "\u05d3\3\2\2\2\u05d6\u05d8\7=\2\2\u05d7\u05d9\5\u0100\u0081\2\u05d8\u05d7"+ + "\3\2\2\2\u05d8\u05d9\3\2\2\2\u05d9\u05da\3\2\2\2\u05da\u05db\7>\2\2\u05db"+ + "\u00ff\3\2\2\2\u05dc\u05e0\5\u0102\u0082\2\u05dd\u05df\5\u0102\u0082\2"+ + "\u05de\u05dd\3\2\2\2\u05df\u05e2\3\2\2\2\u05e0\u05de\3\2\2\2\u05e0\u05e1"+ + "\3\2\2\2\u05e1\u0101\3\2\2\2\u05e2\u05e0\3\2\2\2\u05e3\u05e7\5\u0104\u0083"+ + "\2\u05e4\u05e7\5T+\2\u05e5\u05e7\5\u0108\u0085\2\u05e6\u05e3\3\2\2\2\u05e6"+ + "\u05e4\3\2\2\2\u05e6\u05e5\3\2\2\2\u05e7\u0103\3\2\2\2\u05e8\u05e9\5\u0106"+ + "\u0084\2\u05e9\u05ea\7A\2\2\u05ea\u0105\3\2\2\2\u05eb\u05ed\5\u009eP\2"+ + "\u05ec\u05eb\3\2\2\2\u05ed\u05f0\3\2\2\2\u05ee\u05ec\3\2\2\2\u05ee\u05ef"+ + "\3\2\2\2\u05ef\u05f1\3\2\2\2\u05f0\u05ee\3\2\2\2\u05f1\u05f2\5v<\2\u05f2"+ + "\u05f3\5n8\2\u05f3\u0107\3\2\2\2\u05f4\u05fb\5\u010c\u0087\2\u05f5\u05fb"+ + "\5\u0110\u0089\2\u05f6\u05fb\5\u0118\u008d\2\u05f7\u05fb\5\u011a\u008e"+ + "\2\u05f8\u05fb\5\u012c\u0097\2\u05f9\u05fb\5\u0132\u009a\2\u05fa\u05f4"+ + "\3\2\2\2\u05fa\u05f5\3\2\2\2\u05fa\u05f6\3\2\2\2\u05fa\u05f7\3\2\2\2\u05fa"+ + "\u05f8\3\2\2\2\u05fa\u05f9\3\2\2\2\u05fb\u0109\3\2\2\2\u05fc\u0602\5\u010c"+ + "\u0087\2\u05fd\u0602\5\u0112\u008a\2\u05fe\u0602\5\u011c\u008f\2\u05ff"+ + "\u0602\5\u012e\u0098\2\u0600\u0602\5\u0134\u009b\2\u0601\u05fc\3\2\2\2"+ + "\u0601\u05fd\3\2\2\2\u0601\u05fe\3\2\2\2\u0601\u05ff\3\2\2\2\u0601\u0600"+ + "\3\2\2\2\u0602\u010b\3\2\2\2\u0603\u0610\5\u00fe\u0080\2\u0604\u0610\5"+ + "\u010e\u0088\2\u0605\u0610\5\u0114\u008b\2\u0606\u0610\5\u011e\u0090\2"+ + "\u0607\u0610\5\u0120\u0091\2\u0608\u0610\5\u0130\u0099\2\u0609\u0610\5"+ + "\u0144\u00a3\2\u060a\u0610\5\u0146\u00a4\2\u060b\u0610\5\u0148\u00a5\2"+ + "\u060c\u0610\5\u014c\u00a7\2\u060d\u0610\5\u014a\u00a6\2\u060e\u0610\5"+ + "\u014e\u00a8\2\u060f\u0603\3\2\2\2\u060f\u0604\3\2\2\2\u060f\u0605\3\2"+ + "\2\2\u060f\u0606\3\2\2\2\u060f\u0607\3\2\2\2\u060f\u0608\3\2\2\2\u060f"+ + "\u0609\3\2\2\2\u060f\u060a\3\2\2\2\u060f\u060b\3\2\2\2\u060f\u060c\3\2"+ + "\2\2\u060f\u060d\3\2\2\2\u060f\u060e\3\2\2\2\u0610\u010d\3\2\2\2\u0611"+ + "\u0612\7A\2\2\u0612\u010f\3\2\2\2\u0613\u0614\7h\2\2\u0614\u0615\7J\2"+ + "\2\u0615\u0616\5\u0108\u0085\2\u0616\u0111\3\2\2\2\u0617\u0618\7h\2\2"+ + "\u0618\u0619\7J\2\2\u0619\u061a\5\u010a\u0086\2\u061a\u0113\3\2\2\2\u061b"+ + "\u061c\5\u0116\u008c\2\u061c\u061d\7A\2\2\u061d\u0115\3\2\2\2\u061e\u0626"+ + "\5\u01ac\u00d7\2\u061f\u0626\5\u01ca\u00e6\2\u0620\u0626\5\u01cc\u00e7"+ + "\2\u0621\u0626\5\u01d2\u00ea\2\u0622\u0626\5\u01d6\u00ec\2\u0623\u0626"+ + "\5\u018a\u00c6\2\u0624\u0626\5\u0176\u00bc\2\u0625\u061e\3\2\2\2\u0625"+ + "\u061f\3\2\2\2\u0625\u0620\3\2\2\2\u0625\u0621\3\2\2\2\u0625\u0622\3\2"+ + "\2\2\u0625\u0623\3\2\2\2\u0625\u0624\3\2\2\2\u0626\u0117\3\2\2\2\u0627"+ + "\u0628\7\30\2\2\u0628\u0629\7;\2\2\u0629\u062a\5\u01a0\u00d1\2\u062a\u062b"+ + "\7<\2\2\u062b\u062c\5\u0108\u0085\2\u062c\u0119\3\2\2\2\u062d\u062e\7"+ + "\30\2\2\u062e\u062f\7;\2\2\u062f\u0630\5\u01a0\u00d1\2\u0630\u0631\7<"+ + "\2\2\u0631\u0632\5\u010a\u0086\2\u0632\u0633\7\21\2\2\u0633\u0634\5\u0108"+ + "\u0085\2\u0634\u011b\3\2\2\2\u0635\u0636\7\30\2\2\u0636\u0637\7;\2\2\u0637"+ + "\u0638\5\u01a0\u00d1\2\u0638\u0639\7<\2\2\u0639\u063a\5\u010a\u0086\2"+ + "\u063a\u063b\7\21\2\2\u063b\u063c\5\u010a\u0086\2\u063c\u011d\3\2\2\2"+ + "\u063d\u063e\7\4\2\2\u063e\u063f\5\u01a0\u00d1\2\u063f\u0640\7A\2\2\u0640"+ + "\u0648\3\2\2\2\u0641\u0642\7\4\2\2\u0642\u0643\5\u01a0\u00d1\2\u0643\u0644"+ + "\7J\2\2\u0644\u0645\5\u01a0\u00d1\2\u0645\u0646\7A\2\2\u0646\u0648\3\2"+ + "\2\2\u0647\u063d\3\2\2\2\u0647\u0641\3\2\2\2\u0648\u011f\3\2\2\2\u0649"+ + "\u064a\7+\2\2\u064a\u064b\7;\2\2\u064b\u064c\5\u01a0\u00d1\2\u064c\u064d"+ + "\7<\2\2\u064d\u064e\5\u0122\u0092\2\u064e\u0121\3\2\2\2\u064f\u0653\7"+ + "=\2\2\u0650\u0652\5\u0124\u0093\2\u0651\u0650\3\2\2\2\u0652\u0655\3\2"+ + "\2\2\u0653\u0651\3\2\2\2\u0653\u0654\3\2\2\2\u0654\u0659\3\2\2\2\u0655"+ + "\u0653\3\2\2\2\u0656\u0658\5\u0128\u0095\2\u0657\u0656\3\2\2\2\u0658\u065b"+ + "\3\2\2\2\u0659\u0657\3\2\2\2\u0659\u065a\3\2\2\2\u065a\u065c\3\2\2\2\u065b"+ + "\u0659\3\2\2\2\u065c\u065d\7>\2\2\u065d\u0123\3\2\2\2\u065e\u065f\5\u0126"+ + "\u0094\2\u065f\u0660\5\u0100\u0081\2\u0660\u0125\3\2\2\2\u0661\u0665\5"+ + "\u0128\u0095\2\u0662\u0664\5\u0128\u0095\2\u0663\u0662\3\2\2\2\u0664\u0667"+ + "\3\2\2\2\u0665\u0663\3\2\2\2\u0665\u0666\3\2\2\2\u0666\u0127\3\2\2\2\u0667"+ + "\u0665\3\2\2\2\u0668\u0669\7\b\2\2\u0669\u066a\5\u019e\u00d0\2\u066a\u066b"+ + "\7J\2\2\u066b\u0673\3\2\2\2\u066c\u066d\7\b\2\2\u066d\u066e\5\u012a\u0096"+ + "\2\u066e\u066f\7J\2\2\u066f\u0673\3\2\2\2\u0670\u0671\7\16\2\2\u0671\u0673"+ + "\7J\2\2\u0672\u0668\3\2\2\2\u0672\u066c\3\2\2\2\u0672\u0670\3\2\2\2\u0673"+ + "\u0129\3\2\2\2\u0674\u0675\7h\2\2\u0675\u012b\3\2\2\2\u0676\u0677\7\64"+ + "\2\2\u0677\u0678\7;\2\2\u0678\u0679\5\u01a0\u00d1\2\u0679\u067a\7<\2\2"+ + "\u067a\u067b\5\u0108\u0085\2\u067b\u012d\3\2\2\2\u067c\u067d\7\64\2\2"+ + "\u067d\u067e\7;\2\2\u067e\u067f\5\u01a0\u00d1\2\u067f\u0680\7<\2\2\u0680"+ + "\u0681\5\u010a\u0086\2\u0681\u012f\3\2\2\2\u0682\u0683\7\17\2\2\u0683"+ + "\u0684\5\u0108\u0085\2\u0684\u0685\7\64\2\2\u0685\u0686\7;\2\2\u0686\u0687"+ + "\5\u01a0\u00d1\2\u0687\u0688\7<\2\2\u0688\u0689\7A\2\2\u0689\u0131\3\2"+ + "\2\2\u068a\u068d\5\u0136\u009c\2\u068b\u068d\5\u0140\u00a1\2\u068c\u068a"+ + "\3\2\2\2\u068c\u068b\3\2\2\2\u068d\u0133\3\2\2\2\u068e\u0691\5\u0138\u009d"+ + "\2\u068f\u0691\5\u0142\u00a2\2\u0690\u068e\3\2\2\2\u0690\u068f\3\2\2\2"+ + "\u0691\u0135\3\2\2\2\u0692\u0693\7\27\2\2\u0693\u0695\7;\2\2\u0694\u0696"+ + "\5\u013a\u009e\2\u0695\u0694\3\2\2\2\u0695\u0696\3\2\2\2\u0696\u0697\3"+ + "\2\2\2\u0697\u0699\7A\2\2\u0698\u069a\5\u01a0\u00d1\2\u0699\u0698\3\2"+ + "\2\2\u0699\u069a\3\2\2\2\u069a\u069b\3\2\2\2\u069b\u069d\7A\2\2\u069c"+ + "\u069e\5\u013c\u009f\2\u069d\u069c\3\2\2\2\u069d\u069e\3\2\2\2\u069e\u069f"+ + "\3\2\2\2\u069f\u06a0\7<\2\2\u06a0\u06a1\5\u0108\u0085\2\u06a1\u0137\3"+ + "\2\2\2\u06a2\u06a3\7\27\2\2\u06a3\u06a5\7;\2\2\u06a4\u06a6\5\u013a\u009e"+ + "\2\u06a5\u06a4\3\2\2\2\u06a5\u06a6\3\2\2\2\u06a6\u06a7\3\2\2\2\u06a7\u06a9"+ + "\7A\2\2\u06a8\u06aa\5\u01a0\u00d1\2\u06a9\u06a8\3\2\2\2\u06a9\u06aa\3"+ + "\2\2\2\u06aa\u06ab\3\2\2\2\u06ab\u06ad\7A\2\2\u06ac\u06ae\5\u013c\u009f"+ + "\2\u06ad\u06ac\3\2\2\2\u06ad\u06ae\3\2\2\2\u06ae\u06af\3\2\2\2\u06af\u06b0"+ + "\7<\2\2\u06b0\u06b1\5\u010a\u0086\2\u06b1\u0139\3\2\2\2\u06b2\u06b5\5"+ + "\u013e\u00a0\2\u06b3\u06b5\5\u0106\u0084\2\u06b4\u06b2\3\2\2\2\u06b4\u06b3"+ + "\3\2\2\2\u06b5\u013b\3\2\2\2\u06b6\u06b7\5\u013e\u00a0\2\u06b7\u013d\3"+ + "\2\2\2\u06b8\u06bd\5\u0116\u008c\2\u06b9\u06ba\7B\2\2\u06ba\u06bc\5\u0116"+ + "\u008c\2\u06bb\u06b9\3\2\2\2\u06bc\u06bf\3\2\2\2\u06bd\u06bb\3\2\2\2\u06bd"+ + "\u06be\3\2\2\2\u06be\u013f\3\2\2\2\u06bf\u06bd\3\2\2\2\u06c0\u06c1\7\27"+ + "\2\2\u06c1\u06c5\7;\2\2\u06c2\u06c4\5\u009eP\2\u06c3\u06c2\3\2\2\2\u06c4"+ + "\u06c7\3\2\2\2\u06c5\u06c3\3\2\2\2\u06c5\u06c6\3\2\2\2\u06c6\u06c8\3\2"+ + "\2\2\u06c7\u06c5\3\2\2\2\u06c8\u06c9\5v<\2\u06c9\u06ca\5r:\2\u06ca\u06cb"+ + "\7J\2\2\u06cb\u06cc\5\u01a0\u00d1\2\u06cc\u06cd\7<\2\2\u06cd\u06ce\5\u0108"+ + "\u0085\2\u06ce\u0141\3\2\2\2\u06cf\u06d0\7\27\2\2\u06d0\u06d4\7;\2\2\u06d1"+ + "\u06d3\5\u009eP\2\u06d2\u06d1\3\2\2\2\u06d3\u06d6\3\2\2\2\u06d4\u06d2"+ + "\3\2\2\2\u06d4\u06d5\3\2\2\2\u06d5\u06d7\3\2\2\2\u06d6\u06d4\3\2\2\2\u06d7"+ + "\u06d8\5v<\2\u06d8\u06d9\5r:\2\u06d9\u06da\7J\2\2\u06da\u06db\5\u01a0"+ + "\u00d1\2\u06db\u06dc\7<\2\2\u06dc\u06dd\5\u010a\u0086\2\u06dd\u0143\3"+ + "\2\2\2\u06de\u06e0\7\6\2\2\u06df\u06e1\7h\2\2\u06e0\u06df\3\2\2\2\u06e0"+ + "\u06e1\3\2\2\2\u06e1\u06e2\3\2\2\2\u06e2\u06e3\7A\2\2\u06e3\u0145\3\2"+ + "\2\2\u06e4\u06e6\7\r\2\2\u06e5\u06e7\7h\2\2\u06e6\u06e5\3\2\2\2\u06e6"+ + "\u06e7\3\2\2\2\u06e7\u06e8\3\2\2\2\u06e8\u06e9\7A\2\2\u06e9\u0147\3\2"+ + "\2\2\u06ea\u06ec\7&\2\2\u06eb\u06ed\5\u01a0\u00d1\2\u06ec\u06eb\3\2\2"+ + "\2\u06ec\u06ed\3\2\2\2\u06ed\u06ee\3\2\2\2\u06ee\u06ef\7A\2\2\u06ef\u0149"+ + "\3\2\2\2\u06f0\u06f1\7.\2\2\u06f1\u06f2\5\u01a0\u00d1\2\u06f2\u06f3\7"+ + "A\2\2\u06f3\u014b\3\2\2\2\u06f4\u06f5\7,\2\2\u06f5\u06f6\7;\2\2\u06f6"+ + "\u06f7\5\u01a0\u00d1\2\u06f7\u06f8\7<\2\2\u06f8\u06f9\5\u00fe\u0080\2"+ + "\u06f9\u014d\3\2\2\2\u06fa\u06fb\7\61\2\2\u06fb\u06fc\5\u00fe\u0080\2"+ + "\u06fc\u06fd\5\u0150\u00a9\2\u06fd\u0707\3\2\2\2\u06fe\u06ff\7\61\2\2"+ + "\u06ff\u0701\5\u00fe\u0080\2\u0700\u0702\5\u0150\u00a9\2\u0701\u0700\3"+ + "\2\2\2\u0701\u0702\3\2\2\2\u0702\u0703\3\2\2\2\u0703\u0704\5\u0158\u00ad"+ + "\2\u0704\u0707\3\2\2\2\u0705\u0707\5\u015a\u00ae\2\u0706\u06fa\3\2\2\2"+ + "\u0706\u06fe\3\2\2\2\u0706\u0705\3\2\2\2\u0707\u014f\3\2\2\2\u0708\u070c"+ + "\5\u0152\u00aa\2\u0709\u070b\5\u0152\u00aa\2\u070a\u0709\3\2\2\2\u070b"+ + "\u070e\3\2\2\2\u070c\u070a\3\2\2\2\u070c\u070d\3\2\2\2\u070d\u0151\3\2"+ + "\2\2\u070e\u070c\3\2\2\2\u070f\u0710\7\t\2\2\u0710\u0711\7;\2\2\u0711"+ + "\u0712\5\u0154\u00ab\2\u0712\u0713\7<\2\2\u0713\u0714\5\u00fe\u0080\2"+ + "\u0714\u0153\3\2\2\2\u0715\u0717\5\u009eP\2\u0716\u0715\3\2\2\2\u0717"+ + "\u071a\3\2\2\2\u0718\u0716\3\2\2\2\u0718\u0719\3\2\2\2\u0719\u071b\3\2"+ + "\2\2\u071a\u0718\3\2\2\2\u071b\u071c\5\u0156\u00ac\2\u071c\u071d\5r:\2"+ + "\u071d\u0155\3\2\2\2\u071e\u0723\5~@\2\u071f\u0720\7X\2\2\u0720\u0722"+ + "\5\22\n\2\u0721\u071f\3\2\2\2\u0722\u0725\3\2\2\2\u0723\u0721\3\2\2\2"+ + "\u0723\u0724\3\2\2\2\u0724\u0157\3\2\2\2\u0725\u0723\3\2\2\2\u0726\u0727"+ + "\7\25\2\2\u0727\u0728\5\u00fe\u0080\2\u0728\u0159\3\2\2\2\u0729\u072a"+ + "\7\61\2\2\u072a\u072b\5\u015c\u00af\2\u072b\u072d\5\u00fe\u0080\2\u072c"+ + "\u072e\5\u0150\u00a9\2\u072d\u072c\3\2\2\2\u072d\u072e\3\2\2\2\u072e\u0730"+ + "\3\2\2\2\u072f\u0731\5\u0158\u00ad\2\u0730\u072f\3\2\2\2\u0730\u0731\3"+ + "\2\2\2\u0731\u015b\3\2\2\2\u0732\u0733\7;\2\2\u0733\u0735\5\u015e\u00b0"+ + "\2\u0734\u0736\7A\2\2\u0735\u0734\3\2\2\2\u0735\u0736\3\2\2\2\u0736\u0737"+ + "\3\2\2\2\u0737\u0738\7<\2\2\u0738\u015d\3\2\2\2\u0739\u073e\5\u0160\u00b1"+ + "\2\u073a\u073b\7A\2\2\u073b\u073d\5\u0160\u00b1\2\u073c\u073a\3\2\2\2"+ + "\u073d\u0740\3\2\2\2\u073e\u073c\3\2\2\2\u073e\u073f\3\2\2\2\u073f\u015f"+ + "\3\2\2\2\u0740\u073e\3\2\2\2\u0741\u0743\5\u009eP\2\u0742\u0741\3\2\2"+ + "\2\u0743\u0746\3\2\2\2\u0744\u0742\3\2\2\2\u0744\u0745\3\2\2\2\u0745\u0747"+ + "\3\2\2\2\u0746\u0744\3\2\2\2\u0747\u0748\5v<\2\u0748\u0749\5r:\2\u0749"+ + "\u074a\7D\2\2\u074a\u074b\5\u01a0\u00d1\2\u074b\u0161\3\2\2\2\u074c\u074f"+ + "\5\u0170\u00b9\2\u074d\u074f\5\u0198\u00cd\2\u074e\u074c\3\2\2\2\u074e"+ + "\u074d\3\2\2\2\u074f\u0753\3\2\2\2\u0750\u0752\5\u016a\u00b6\2\u0751\u0750"+ + "\3\2\2\2\u0752\u0755\3\2\2\2\u0753\u0751\3\2\2\2\u0753\u0754\3\2\2\2\u0754"+ + "\u0163\3\2\2\2\u0755\u0753\3\2\2\2\u0756\u0774\5\2\2\2\u0757\u075c\58"+ + "\35\2\u0758\u0759\7?\2\2\u0759\u075b\7@\2\2\u075a\u0758\3\2\2\2\u075b"+ + "\u075e\3\2\2\2\u075c\u075a\3\2\2\2\u075c\u075d\3\2\2\2\u075d\u075f\3\2"+ + "\2\2\u075e\u075c\3\2\2\2\u075f\u0760\7C\2\2\u0760\u0761\7\13\2\2\u0761"+ + "\u0774\3\2\2\2\u0762\u0763\7\62\2\2\u0763\u0764\7C\2\2\u0764\u0774\7\13"+ + "\2\2\u0765\u0774\7-\2\2\u0766\u0767\58\35\2\u0767\u0768\7C\2\2\u0768\u0769"+ + "\7-\2\2\u0769\u0774\3\2\2\2\u076a\u076b\7;\2\2\u076b\u076c\5\u01a0\u00d1"+ + "\2\u076c\u076d\7<\2\2\u076d\u0774\3\2\2\2\u076e\u0774\5\u0176\u00bc\2"+ + "\u076f\u0774\5\u017e\u00c0\2\u0770\u0774\5\u0184\u00c3\2\u0771\u0774\5"+ + "\u018a\u00c6\2\u0772\u0774\5\u0192\u00ca\2\u0773\u0756\3\2\2\2\u0773\u0757"+ + "\3\2\2\2\u0773\u0762\3\2\2\2\u0773\u0765\3\2\2\2\u0773\u0766\3\2\2\2\u0773"+ + "\u076a\3\2\2\2\u0773\u076e\3\2\2\2\u0773\u076f\3\2\2\2\u0773\u0770\3\2"+ + "\2\2\u0773\u0771\3\2\2\2\u0773\u0772\3\2\2\2\u0774\u0165\3\2\2\2\u0775"+ + "\u0776\3\2\2\2\u0776\u0167\3\2\2\2\u0777\u0794\5\2\2\2\u0778\u077d\58"+ + "\35\2\u0779\u077a\7?\2\2\u077a\u077c\7@\2\2\u077b\u0779\3\2\2\2\u077c"+ + "\u077f\3\2\2\2\u077d\u077b\3\2\2\2\u077d\u077e\3\2\2\2\u077e\u0780\3\2"+ + "\2\2\u077f\u077d\3\2\2\2\u0780\u0781\7C\2\2\u0781\u0782\7\13\2\2\u0782"+ + "\u0794\3\2\2\2\u0783\u0784\7\62\2\2\u0784\u0785\7C\2\2\u0785\u0794\7\13"+ + "\2\2\u0786\u0794\7-\2\2\u0787\u0788\58\35\2\u0788\u0789\7C\2\2\u0789\u078a"+ + "\7-\2\2\u078a\u0794\3\2\2\2\u078b\u078c\7;\2\2\u078c\u078d\5\u01a0\u00d1"+ + "\2\u078d\u078e\7<\2\2\u078e\u0794\3\2\2\2\u078f\u0794\5\u0176\u00bc\2"+ + "\u0790\u0794\5\u017e\u00c0\2\u0791\u0794\5\u018a\u00c6\2\u0792\u0794\5"+ + "\u0192\u00ca\2\u0793\u0777\3\2\2\2\u0793\u0778\3\2\2\2\u0793\u0783\3\2"+ + "\2\2\u0793\u0786\3\2\2\2\u0793\u0787\3\2\2\2\u0793\u078b\3\2\2\2\u0793"+ + "\u078f\3\2\2\2\u0793\u0790\3\2\2\2\u0793\u0791\3\2\2\2\u0793\u0792\3\2"+ + "\2\2\u0794\u0169\3\2\2\2\u0795\u079b\5\u0178\u00bd\2\u0796\u079b\5\u0180"+ + "\u00c1\2\u0797\u079b\5\u0186\u00c4\2\u0798\u079b\5\u018c\u00c7\2\u0799"+ + "\u079b\5\u0194\u00cb\2\u079a\u0795\3\2\2\2\u079a\u0796\3\2\2\2\u079a\u0797"+ + "\3\2\2\2\u079a\u0798\3\2\2\2\u079a\u0799\3\2\2\2\u079b\u016b\3\2\2\2\u079c"+ + "\u079d\3\2\2\2\u079d\u016d\3\2\2\2\u079e\u07a3\5\u0178\u00bd\2\u079f\u07a3"+ + "\5\u0180\u00c1\2\u07a0\u07a3\5\u018c\u00c7\2\u07a1\u07a3\5\u0194\u00cb"+ + "\2\u07a2\u079e\3\2\2\2\u07a2\u079f\3\2\2\2\u07a2\u07a0\3\2\2\2\u07a2\u07a1"+ + "\3\2\2\2\u07a3\u016f\3\2\2\2\u07a4\u07cd\5\2\2\2\u07a5\u07aa\58\35\2\u07a6"+ + "\u07a7\7?\2\2\u07a7\u07a9\7@\2\2\u07a8\u07a6\3\2\2\2\u07a9\u07ac\3\2\2"+ + "\2\u07aa\u07a8\3\2\2\2\u07aa\u07ab\3\2\2\2\u07ab\u07ad\3\2\2\2\u07ac\u07aa"+ + "\3\2\2\2\u07ad\u07ae\7C\2\2\u07ae\u07af\7\13\2\2\u07af\u07cd\3\2\2\2\u07b0"+ + "\u07b5\5x=\2\u07b1\u07b2\7?\2\2\u07b2\u07b4\7@\2\2\u07b3\u07b1\3\2\2\2"+ + "\u07b4\u07b7\3\2\2\2\u07b5\u07b3\3\2\2\2\u07b5\u07b6\3\2\2\2\u07b6\u07b8"+ + "\3\2\2\2\u07b7\u07b5\3\2\2\2\u07b8\u07b9\7C\2\2\u07b9\u07ba\7\13\2\2\u07ba"+ + "\u07cd\3\2\2\2\u07bb\u07bc\7\62\2\2\u07bc\u07bd\7C\2\2\u07bd\u07cd\7\13"+ + "\2\2\u07be\u07cd\7-\2\2\u07bf\u07c0\58\35\2\u07c0\u07c1\7C\2\2\u07c1\u07c2"+ + "\7-\2\2\u07c2\u07cd\3\2\2\2\u07c3\u07c4\7;\2\2\u07c4\u07c5\5\u01a0\u00d1"+ + "\2\u07c5\u07c6\7<\2\2\u07c6\u07cd\3\2\2\2\u07c7\u07cd\5\u017a\u00be\2"+ + "\u07c8\u07cd\5\u0182\u00c2\2\u07c9\u07cd\5\u0188\u00c5\2\u07ca\u07cd\5"+ + "\u018e\u00c8\2\u07cb\u07cd\5\u0196\u00cc\2\u07cc\u07a4\3\2\2\2\u07cc\u07a5"+ + "\3\2\2\2\u07cc\u07b0\3\2\2\2\u07cc\u07bb\3\2\2\2\u07cc\u07be\3\2\2\2\u07cc"+ + "\u07bf\3\2\2\2\u07cc\u07c3\3\2\2\2\u07cc\u07c7\3\2\2\2\u07cc\u07c8\3\2"+ + "\2\2\u07cc\u07c9\3\2\2\2\u07cc\u07ca\3\2\2\2\u07cc\u07cb\3\2\2\2\u07cd"+ + "\u0171\3\2\2\2\u07ce\u07cf\3\2\2\2\u07cf\u0173\3\2\2\2\u07d0\u07f8\5\2"+ + "\2\2\u07d1\u07d6\58\35\2\u07d2\u07d3\7?\2\2\u07d3\u07d5\7@\2\2\u07d4\u07d2"+ + "\3\2\2\2\u07d5\u07d8\3\2\2\2\u07d6\u07d4\3\2\2\2\u07d6\u07d7\3\2\2\2\u07d7"+ + "\u07d9\3\2\2\2\u07d8\u07d6\3\2\2\2\u07d9\u07da\7C\2\2\u07da\u07db\7\13"+ + "\2\2\u07db\u07f8\3\2\2\2\u07dc\u07e1\5x=\2\u07dd\u07de\7?\2\2\u07de\u07e0"+ + "\7@\2\2\u07df\u07dd\3\2\2\2\u07e0\u07e3\3\2\2\2\u07e1\u07df\3\2\2\2\u07e1"+ + "\u07e2\3\2\2\2\u07e2\u07e4\3\2\2\2\u07e3\u07e1\3\2\2\2\u07e4\u07e5\7C"+ + "\2\2\u07e5\u07e6\7\13\2\2\u07e6\u07f8\3\2\2\2\u07e7\u07e8\7\62\2\2\u07e8"+ + "\u07e9\7C\2\2\u07e9\u07f8\7\13\2\2\u07ea\u07f8\7-\2\2\u07eb\u07ec\58\35"+ + "\2\u07ec\u07ed\7C\2\2\u07ed\u07ee\7-\2\2\u07ee\u07f8\3\2\2\2\u07ef\u07f0"+ + "\7;\2\2\u07f0\u07f1\5\u01a0\u00d1\2\u07f1\u07f2\7<\2\2\u07f2\u07f8\3\2"+ + "\2\2\u07f3\u07f8\5\u017a\u00be\2\u07f4\u07f8\5\u0182\u00c2\2\u07f5\u07f8"+ + "\5\u018e\u00c8\2\u07f6\u07f8\5\u0196\u00cc\2\u07f7\u07d0\3\2\2\2\u07f7"+ + "\u07d1\3\2\2\2\u07f7\u07dc\3\2\2\2\u07f7\u07e7\3\2\2\2\u07f7\u07ea\3\2"+ + "\2\2\u07f7\u07eb\3\2\2\2\u07f7\u07ef\3\2\2\2\u07f7\u07f3\3\2\2\2\u07f7"+ + "\u07f4\3\2\2\2\u07f7\u07f5\3\2\2\2\u07f7\u07f6\3\2\2\2\u07f8\u0175\3\2"+ + "\2\2\u07f9\u07fb\7!\2\2\u07fa\u07fc\5,\27\2\u07fb\u07fa\3\2\2\2\u07fb"+ + "\u07fc\3\2\2\2\u07fc\u0800\3\2\2\2\u07fd\u07ff\5\u00e8u\2\u07fe\u07fd"+ + "\3\2\2\2\u07ff\u0802\3\2\2\2\u0800\u07fe\3\2\2\2\u0800\u0801\3\2\2\2\u0801"+ + "\u0803\3\2\2\2\u0802\u0800\3\2\2\2\u0803\u080e\7h\2\2\u0804\u0808\7C\2"+ + "\2\u0805\u0807\5\u00e8u\2\u0806\u0805\3\2\2\2\u0807\u080a\3\2\2\2\u0808"+ + "\u0806\3\2\2\2\u0808\u0809\3\2\2\2\u0809\u080b\3\2\2\2\u080a\u0808\3\2"+ + "\2\2\u080b\u080d\7h\2\2\u080c\u0804\3\2\2\2\u080d\u0810\3\2\2\2\u080e"+ + "\u080c\3\2\2\2\u080e\u080f\3\2\2\2\u080f\u0812\3\2\2\2\u0810\u080e\3\2"+ + "\2\2\u0811\u0813\5\u017c\u00bf\2\u0812\u0811\3\2\2\2\u0812\u0813\3\2\2"+ + "\2\u0813\u0814\3\2\2\2\u0814\u0816\7;\2\2\u0815\u0817\5\u0190\u00c9\2"+ + "\u0816\u0815\3\2\2\2\u0816\u0817\3\2\2\2\u0817\u0818\3\2\2\2\u0818\u081a"+ + "\7<\2\2\u0819\u081b\5d\63\2\u081a\u0819\3\2\2\2\u081a\u081b\3\2\2\2\u081b"+ + "\u084d\3\2\2\2\u081c\u081d\5<\37\2\u081d\u081e\7C\2\2\u081e\u0820\7!\2"+ + "\2\u081f\u0821\5,\27\2\u0820\u081f\3\2\2\2\u0820\u0821\3\2\2\2\u0821\u0825"+ + "\3\2\2\2\u0822\u0824\5\u00e8u\2\u0823\u0822\3\2\2\2\u0824\u0827\3\2\2"+ + "\2\u0825\u0823\3\2\2\2\u0825\u0826\3\2\2\2\u0826\u0828\3\2\2\2\u0827\u0825"+ + "\3\2\2\2\u0828\u082a\7h\2\2\u0829\u082b\5\u017c\u00bf\2\u082a\u0829\3"+ + "\2\2\2\u082a\u082b\3\2\2\2\u082b\u082c\3\2\2\2\u082c\u082e\7;\2\2\u082d"+ + "\u082f\5\u0190\u00c9\2\u082e\u082d\3\2\2\2\u082e\u082f\3\2\2\2\u082f\u0830"+ + "\3\2\2\2\u0830\u0832\7<\2\2\u0831\u0833\5d\63\2\u0832\u0831\3\2\2\2\u0832"+ + "\u0833\3\2\2\2\u0833\u084d\3\2\2\2\u0834\u0835\5\u0162\u00b2\2\u0835\u0836"+ + "\7C\2\2\u0836\u0838\7!\2\2\u0837\u0839\5,\27\2\u0838\u0837\3\2\2\2\u0838"+ + "\u0839\3\2\2\2\u0839\u083d\3\2\2\2\u083a\u083c\5\u00e8u\2\u083b\u083a"+ + "\3\2\2\2\u083c\u083f\3\2\2\2\u083d\u083b\3\2\2\2\u083d\u083e\3\2\2\2\u083e"+ + "\u0840\3\2\2\2\u083f\u083d\3\2\2\2\u0840\u0842\7h\2\2\u0841\u0843\5\u017c"+ + "\u00bf\2\u0842\u0841\3\2\2\2\u0842\u0843\3\2\2\2\u0843\u0844\3\2\2\2\u0844"+ + "\u0846\7;\2\2\u0845\u0847\5\u0190\u00c9\2\u0846\u0845\3\2\2\2\u0846\u0847"+ + "\3\2\2\2\u0847\u0848\3\2\2\2\u0848\u084a\7<\2\2\u0849\u084b\5d\63\2\u084a"+ + "\u0849\3\2\2\2\u084a\u084b\3\2\2\2\u084b\u084d\3\2\2\2\u084c\u07f9\3\2"+ + "\2\2\u084c\u081c\3\2\2\2\u084c\u0834\3\2\2\2\u084d\u0177\3\2\2\2\u084e"+ + "\u084f\7C\2\2\u084f\u0851\7!\2\2\u0850\u0852\5,\27\2\u0851\u0850\3\2\2"+ + "\2\u0851\u0852\3\2\2\2\u0852\u0856\3\2\2\2\u0853\u0855\5\u00e8u\2\u0854"+ + "\u0853\3\2\2\2\u0855\u0858\3\2\2\2\u0856\u0854\3\2\2\2\u0856\u0857\3\2"+ + "\2\2\u0857\u0859\3\2\2\2\u0858\u0856\3\2\2\2\u0859\u085b\7h\2\2\u085a"+ + "\u085c\5\u017c\u00bf\2\u085b\u085a\3\2\2\2\u085b\u085c\3\2\2\2\u085c\u085d"+ + "\3\2\2\2\u085d\u085f\7;\2\2\u085e\u0860\5\u0190\u00c9\2\u085f\u085e\3"+ + "\2\2\2\u085f\u0860\3\2\2\2\u0860\u0861\3\2\2\2\u0861\u0863\7<\2\2\u0862"+ + "\u0864\5d\63\2\u0863\u0862\3\2\2\2\u0863\u0864\3\2\2\2\u0864\u0179\3\2"+ + "\2\2\u0865\u0867\7!\2\2\u0866\u0868\5,\27\2\u0867\u0866\3\2\2\2\u0867"+ + "\u0868\3\2\2\2\u0868\u086c\3\2\2\2\u0869\u086b\5\u00e8u\2\u086a\u0869"+ + "\3\2\2\2\u086b\u086e\3\2\2\2\u086c\u086a\3\2\2\2\u086c\u086d\3\2\2\2\u086d"+ + "\u086f\3\2\2\2\u086e\u086c\3\2\2\2\u086f\u087a\7h\2\2\u0870\u0874\7C\2"+ + "\2\u0871\u0873\5\u00e8u\2\u0872\u0871\3\2\2\2\u0873\u0876\3\2\2\2\u0874"+ + "\u0872\3\2\2\2\u0874\u0875\3\2\2\2\u0875\u0877\3\2\2\2\u0876\u0874\3\2"+ + "\2\2\u0877\u0879\7h\2\2\u0878\u0870\3\2\2\2\u0879\u087c\3\2\2\2\u087a"+ + "\u0878\3\2\2\2\u087a\u087b\3\2\2\2\u087b\u087e\3\2\2\2\u087c\u087a\3\2"+ + "\2\2\u087d\u087f\5\u017c\u00bf\2\u087e\u087d\3\2\2\2\u087e\u087f\3\2\2"+ + "\2\u087f\u0880\3\2\2\2\u0880\u0882\7;\2\2\u0881\u0883\5\u0190\u00c9\2"+ + "\u0882\u0881\3\2\2\2\u0882\u0883\3\2\2\2\u0883\u0884\3\2\2\2\u0884\u0886"+ + "\7<\2\2\u0885\u0887\5d\63\2\u0886\u0885\3\2\2\2\u0886\u0887\3\2\2\2\u0887"+ + "\u08a1\3\2\2\2\u0888\u0889\5<\37\2\u0889\u088a\7C\2\2\u088a\u088c\7!\2"+ + "\2\u088b\u088d\5,\27\2\u088c\u088b\3\2\2\2\u088c\u088d\3\2\2\2\u088d\u0891"+ + "\3\2\2\2\u088e\u0890\5\u00e8u\2\u088f\u088e\3\2\2\2\u0890\u0893\3\2\2"+ + "\2\u0891\u088f\3\2\2\2\u0891\u0892\3\2\2\2\u0892\u0894\3\2\2\2\u0893\u0891"+ + "\3\2\2\2\u0894\u0896\7h\2\2\u0895\u0897\5\u017c\u00bf\2\u0896\u0895\3"+ + "\2\2\2\u0896\u0897\3\2\2\2\u0897\u0898\3\2\2\2\u0898\u089a\7;\2\2\u0899"+ + "\u089b\5\u0190\u00c9\2\u089a\u0899\3\2\2\2\u089a\u089b\3\2\2\2\u089b\u089c"+ + "\3\2\2\2\u089c\u089e\7<\2\2\u089d\u089f\5d\63\2\u089e\u089d\3\2\2\2\u089e"+ + "\u089f\3\2\2\2\u089f\u08a1\3\2\2\2\u08a0\u0865\3\2\2\2\u08a0\u0888\3\2"+ + "\2\2\u08a1\u017b\3\2\2\2\u08a2\u08a6\5,\27\2\u08a3\u08a4\7F\2\2\u08a4"+ + "\u08a6\7E\2\2\u08a5\u08a2\3\2\2\2\u08a5\u08a3\3\2\2\2\u08a6\u017d\3\2"+ + "\2\2\u08a7\u08a8\5\u0162\u00b2\2\u08a8\u08a9\7C\2\2\u08a9\u08aa\7h\2\2"+ + "\u08aa\u08b5\3\2\2\2\u08ab\u08ac\7*\2\2\u08ac\u08ad\7C\2\2\u08ad\u08b5"+ + "\7h\2\2\u08ae\u08af\58\35\2\u08af\u08b0\7C\2\2\u08b0\u08b1\7*\2\2\u08b1"+ + "\u08b2\7C\2\2\u08b2\u08b3\7h\2\2\u08b3\u08b5\3\2\2\2\u08b4\u08a7\3\2\2"+ + "\2\u08b4\u08ab\3\2\2\2\u08b4\u08ae\3\2\2\2\u08b5\u017f\3\2\2\2\u08b6\u08b7"+ + "\7C\2\2\u08b7\u08b8\7h\2\2\u08b8\u0181\3\2\2\2\u08b9\u08ba\7*\2\2\u08ba"+ + "\u08bb\7C\2\2\u08bb\u08c3\7h\2\2\u08bc\u08bd\58\35\2\u08bd\u08be\7C\2"+ + "\2\u08be\u08bf\7*\2\2\u08bf\u08c0\7C\2\2\u08c0\u08c1\7h\2\2\u08c1\u08c3"+ + "\3\2\2\2\u08c2\u08b9\3\2\2\2\u08c2\u08bc\3\2\2\2\u08c3\u0183\3\2\2\2\u08c4"+ + "\u08c5\5<\37\2\u08c5\u08c6\7?\2\2\u08c6\u08c7\5\u01a0\u00d1\2\u08c7\u08c8"+ + "\7@\2\2\u08c8\u08cf\3\2\2\2\u08c9\u08ca\5\u0168\u00b5\2\u08ca\u08cb\7"+ + "?\2\2\u08cb\u08cc\5\u01a0\u00d1\2\u08cc\u08cd\7@\2\2\u08cd\u08cf\3\2\2"+ + "\2\u08ce\u08c4\3\2\2\2\u08ce\u08c9\3\2\2\2\u08cf\u08d7\3\2\2\2\u08d0\u08d1"+ + "\5\u0166\u00b4\2\u08d1\u08d2\7?\2\2\u08d2\u08d3\5\u01a0\u00d1\2\u08d3"+ + "\u08d4\7@\2\2\u08d4\u08d6\3\2\2\2\u08d5\u08d0\3\2\2\2\u08d6\u08d9\3\2"+ + "\2\2\u08d7\u08d5\3\2\2\2\u08d7\u08d8\3\2\2\2\u08d8\u0185\3\2\2\2\u08d9"+ + "\u08d7\3\2\2\2\u08da\u08db\5\u016e\u00b8\2\u08db\u08dc\7?\2\2\u08dc\u08dd"+ + "\5\u01a0\u00d1\2\u08dd\u08de\7@\2\2\u08de\u08e6\3\2\2\2\u08df\u08e0\5"+ + "\u016c\u00b7\2\u08e0\u08e1\7?\2\2\u08e1\u08e2\5\u01a0\u00d1\2\u08e2\u08e3"+ + "\7@\2\2\u08e3\u08e5\3\2\2\2\u08e4\u08df\3\2\2\2\u08e5\u08e8\3\2\2\2\u08e6"+ + "\u08e4\3\2\2\2\u08e6\u08e7\3\2\2\2\u08e7\u0187\3\2\2\2\u08e8\u08e6\3\2"+ + "\2\2\u08e9\u08ea\5<\37\2\u08ea\u08eb\7?\2\2\u08eb\u08ec\5\u01a0\u00d1"+ + "\2\u08ec\u08ed\7@\2\2\u08ed\u08f4\3\2\2\2\u08ee\u08ef\5\u0174\u00bb\2"+ + "\u08ef\u08f0\7?\2\2\u08f0\u08f1\5\u01a0\u00d1\2\u08f1\u08f2\7@\2\2\u08f2"+ + "\u08f4\3\2\2\2\u08f3\u08e9\3\2\2\2\u08f3\u08ee\3\2\2\2\u08f4\u08fc\3\2"+ + "\2\2\u08f5\u08f6\5\u0172\u00ba\2\u08f6\u08f7\7?\2\2\u08f7\u08f8\5\u01a0"+ + "\u00d1\2\u08f8\u08f9\7@\2\2\u08f9\u08fb\3\2\2\2\u08fa\u08f5\3\2\2\2\u08fb"+ + "\u08fe\3\2\2\2\u08fc\u08fa\3\2\2\2\u08fc\u08fd\3\2\2\2\u08fd\u0189\3\2"+ + "\2\2\u08fe\u08fc\3\2\2\2\u08ff\u0900\5> \2\u0900\u0902\7;\2\2\u0901\u0903"+ + "\5\u0190\u00c9\2\u0902\u0901\3\2\2\2\u0902\u0903\3\2\2\2\u0903\u0904\3"+ + "\2\2\2\u0904\u0905\7<\2\2\u0905\u0944\3\2\2\2\u0906\u0907\58\35\2\u0907"+ + "\u0909\7C\2\2\u0908\u090a\5,\27\2\u0909\u0908\3\2\2\2\u0909\u090a\3\2"+ + "\2\2\u090a\u090b\3\2\2\2\u090b\u090c\7h\2\2\u090c\u090e\7;\2\2\u090d\u090f"+ + "\5\u0190\u00c9\2\u090e\u090d\3\2\2\2\u090e\u090f\3\2\2\2\u090f\u0910\3"+ + "\2\2\2\u0910\u0911\7<\2\2\u0911\u0944\3\2\2\2\u0912\u0913\5<\37\2\u0913"+ + "\u0915\7C\2\2\u0914\u0916\5,\27\2\u0915\u0914\3\2\2\2\u0915\u0916\3\2"+ + "\2\2\u0916\u0917\3\2\2\2\u0917\u0918\7h\2\2\u0918\u091a\7;\2\2\u0919\u091b"+ + "\5\u0190\u00c9\2\u091a\u0919\3\2\2\2\u091a\u091b\3\2\2\2\u091b\u091c\3"+ + "\2\2\2\u091c\u091d\7<\2\2\u091d\u0944\3\2\2\2\u091e\u091f\5\u0162\u00b2"+ + "\2\u091f\u0921\7C\2\2\u0920\u0922\5,\27\2\u0921\u0920\3\2\2\2\u0921\u0922"+ + "\3\2\2\2\u0922\u0923\3\2\2\2\u0923\u0924\7h\2\2\u0924\u0926\7;\2\2\u0925"+ + "\u0927\5\u0190\u00c9\2\u0926\u0925\3\2\2\2\u0926\u0927\3\2\2\2\u0927\u0928"+ + "\3\2\2\2\u0928\u0929\7<\2\2\u0929\u0944\3\2\2\2\u092a\u092b\7*\2\2\u092b"+ + "\u092d\7C\2\2\u092c\u092e\5,\27\2\u092d\u092c\3\2\2\2\u092d\u092e\3\2"+ + "\2\2\u092e\u092f\3\2\2\2\u092f\u0930\7h\2\2\u0930\u0932\7;\2\2\u0931\u0933"+ + "\5\u0190\u00c9\2\u0932\u0931\3\2\2\2\u0932\u0933\3\2\2\2\u0933\u0934\3"+ + "\2\2\2\u0934\u0944\7<\2\2\u0935\u0936\58\35\2\u0936\u0937\7C\2\2\u0937"+ + "\u0938\7*\2\2\u0938\u093a\7C\2\2\u0939\u093b\5,\27\2\u093a\u0939\3\2\2"+ + "\2\u093a\u093b\3\2\2\2\u093b\u093c\3\2\2\2\u093c\u093d\7h\2\2\u093d\u093f"+ + "\7;\2\2\u093e\u0940\5\u0190\u00c9\2\u093f\u093e\3\2\2\2\u093f\u0940\3"+ + "\2\2\2\u0940\u0941\3\2\2\2\u0941\u0942\7<\2\2\u0942\u0944\3\2\2\2\u0943"+ + "\u08ff\3\2\2\2\u0943\u0906\3\2\2\2\u0943\u0912\3\2\2\2\u0943\u091e\3\2"+ + "\2\2\u0943\u092a\3\2\2\2\u0943\u0935\3\2\2\2\u0944\u018b\3\2\2\2\u0945"+ + "\u0947\7C\2\2\u0946\u0948\5,\27\2\u0947\u0946\3\2\2\2\u0947\u0948\3\2"+ + "\2\2\u0948\u0949\3\2\2\2\u0949\u094a\7h\2\2\u094a\u094c\7;\2\2\u094b\u094d"+ + "\5\u0190\u00c9\2\u094c\u094b\3\2\2\2\u094c\u094d\3\2\2\2\u094d\u094e\3"+ + "\2\2\2\u094e\u094f\7<\2\2\u094f\u018d\3\2\2\2\u0950\u0951\5> \2\u0951"+ + "\u0953\7;\2\2\u0952\u0954\5\u0190\u00c9\2\u0953\u0952\3\2\2\2\u0953\u0954"+ + "\3\2\2\2\u0954\u0955\3\2\2\2\u0955\u0956\7<\2\2\u0956\u0989\3\2\2\2\u0957"+ + "\u0958\58\35\2\u0958\u095a\7C\2\2\u0959\u095b\5,\27\2\u095a\u0959\3\2"+ + "\2\2\u095a\u095b\3\2\2\2\u095b\u095c\3\2\2\2\u095c\u095d\7h\2\2\u095d"+ + "\u095f\7;\2\2\u095e\u0960\5\u0190\u00c9\2\u095f\u095e\3\2\2\2\u095f\u0960"+ + "\3\2\2\2\u0960\u0961\3\2\2\2\u0961\u0962\7<\2\2\u0962\u0989\3\2\2\2\u0963"+ + "\u0964\5<\37\2\u0964\u0966\7C\2\2\u0965\u0967\5,\27\2\u0966\u0965\3\2"+ + "\2\2\u0966\u0967\3\2\2\2\u0967\u0968\3\2\2\2\u0968\u0969\7h\2\2"; private static final String _serializedATNSegment1 = - "\2\u096a\u096b\3\2\2\2\u096b\u096c\7<\2\2\u096c\u0987\3\2\2\2\u096d\u096e"+ - "\7*\2\2\u096e\u0970\7C\2\2\u096f\u0971\5,\27\2\u0970\u096f\3\2\2\2\u0970"+ - "\u0971\3\2\2\2\u0971\u0972\3\2\2\2\u0972\u0973\7h\2\2\u0973\u0975\7;\2"+ - "\2\u0974\u0976\5\u0190\u00c9\2\u0975\u0974\3\2\2\2\u0975\u0976\3\2\2\2"+ - "\u0976\u0977\3\2\2\2\u0977\u0987\7<\2\2\u0978\u0979\58\35\2\u0979\u097a"+ - "\7C\2\2\u097a\u097b\7*\2\2\u097b\u097d\7C\2\2\u097c\u097e\5,\27\2\u097d"+ - "\u097c\3\2\2\2\u097d\u097e\3\2\2\2\u097e\u097f\3\2\2\2\u097f\u0980\7h"+ - "\2\2\u0980\u0982\7;\2\2\u0981\u0983\5\u0190\u00c9\2\u0982\u0981\3\2\2"+ - "\2\u0982\u0983\3\2\2\2\u0983\u0984\3\2\2\2\u0984\u0985\7<\2\2\u0985\u0987"+ - "\3\2\2\2\u0986\u094e\3\2\2\2\u0986\u0955\3\2\2\2\u0986\u0961\3\2\2\2\u0986"+ - "\u096d\3\2\2\2\u0986\u0978\3\2\2\2\u0987\u018f\3\2\2\2\u0988\u098d\5\u01a0"+ - "\u00d1\2\u0989\u098a\7B\2\2\u098a\u098c\5\u01a0\u00d1\2\u098b\u0989\3"+ - "\2\2\2\u098c\u098f\3\2\2\2\u098d\u098b\3\2\2\2\u098d\u098e\3\2\2\2\u098e"+ - "\u0191\3\2\2\2\u098f\u098d\3\2\2\2\u0990\u0991\5<\37\2\u0991\u0993\7\\"+ - "\2\2\u0992\u0994\5,\27\2\u0993\u0992\3\2\2\2\u0993\u0994\3\2\2\2\u0994"+ - "\u0995\3\2\2\2\u0995\u0996\7h\2\2\u0996\u09c0\3\2\2\2\u0997\u0998\5\16"+ - "\b\2\u0998\u099a\7\\\2\2\u0999\u099b\5,\27\2\u099a\u0999\3\2\2\2\u099a"+ - "\u099b\3\2\2\2\u099b\u099c\3\2\2\2\u099c\u099d\7h\2\2\u099d\u09c0\3\2"+ - "\2\2\u099e\u099f\5\u0162\u00b2\2\u099f\u09a1\7\\\2\2\u09a0\u09a2\5,\27"+ - "\2\u09a1\u09a0\3\2\2\2\u09a1\u09a2\3\2\2\2\u09a2\u09a3\3\2\2\2\u09a3\u09a4"+ - "\7h\2\2\u09a4\u09c0\3\2\2\2\u09a5\u09a6\7*\2\2\u09a6\u09a8\7\\\2\2\u09a7"+ - "\u09a9\5,\27\2\u09a8\u09a7\3\2\2\2\u09a8\u09a9\3\2\2\2\u09a9\u09aa\3\2"+ - "\2\2\u09aa\u09c0\7h\2\2\u09ab\u09ac\58\35\2\u09ac\u09ad\7C\2\2\u09ad\u09ae"+ - "\7*\2\2\u09ae\u09b0\7\\\2\2\u09af\u09b1\5,\27\2\u09b0\u09af\3\2\2\2\u09b0"+ - "\u09b1\3\2\2\2\u09b1\u09b2\3\2\2\2\u09b2\u09b3\7h\2\2\u09b3\u09c0\3\2"+ - "\2\2\u09b4\u09b5\5\22\n\2\u09b5\u09b7\7\\\2\2\u09b6\u09b8\5,\27\2\u09b7"+ - "\u09b6\3\2\2\2\u09b7\u09b8\3\2\2\2\u09b8\u09b9\3\2\2\2\u09b9\u09ba\7!"+ - "\2\2\u09ba\u09c0\3\2\2\2\u09bb\u09bc\5 \21\2\u09bc\u09bd\7\\\2\2\u09bd"+ - "\u09be\7!\2\2\u09be\u09c0\3\2\2\2\u09bf\u0990\3\2\2\2\u09bf\u0997\3\2"+ - "\2\2\u09bf\u099e\3\2\2\2\u09bf\u09a5\3\2\2\2\u09bf\u09ab\3\2\2\2\u09bf"+ - "\u09b4\3\2\2\2\u09bf\u09bb\3\2\2\2\u09c0\u0193\3\2\2\2\u09c1\u09c3\7\\"+ - "\2\2\u09c2\u09c4\5,\27\2\u09c3\u09c2\3\2\2\2\u09c3\u09c4\3\2\2\2\u09c4"+ - "\u09c5\3\2\2\2\u09c5\u09c6\7h\2\2\u09c6\u0195\3\2\2\2\u09c7\u09c8\5<\37"+ - "\2\u09c8\u09ca\7\\\2\2\u09c9\u09cb\5,\27\2\u09ca\u09c9\3\2\2\2\u09ca\u09cb"+ - "\3\2\2\2\u09cb\u09cc\3\2\2\2\u09cc\u09cd\7h\2\2\u09cd\u09f0\3\2\2\2\u09ce"+ - "\u09cf\5\16\b\2\u09cf\u09d1\7\\\2\2\u09d0\u09d2\5,\27\2\u09d1\u09d0\3"+ - "\2\2\2\u09d1\u09d2\3\2\2\2\u09d2\u09d3\3\2\2\2\u09d3\u09d4\7h\2\2\u09d4"+ - "\u09f0\3\2\2\2\u09d5\u09d6\7*\2\2\u09d6\u09d8\7\\\2\2\u09d7\u09d9\5,\27"+ - "\2\u09d8\u09d7\3\2\2\2\u09d8\u09d9\3\2\2\2\u09d9\u09da\3\2\2\2\u09da\u09f0"+ - "\7h\2\2\u09db\u09dc\58\35\2\u09dc\u09dd\7C\2\2\u09dd\u09de\7*\2\2\u09de"+ - "\u09e0\7\\\2\2\u09df\u09e1\5,\27\2\u09e0\u09df\3\2\2\2\u09e0\u09e1\3\2"+ - "\2\2\u09e1\u09e2\3\2\2\2\u09e2\u09e3\7h\2\2\u09e3\u09f0\3\2\2\2\u09e4"+ - "\u09e5\5\22\n\2\u09e5\u09e7\7\\\2\2\u09e6\u09e8\5,\27\2\u09e7\u09e6\3"+ - "\2\2\2\u09e7\u09e8\3\2\2\2\u09e8\u09e9\3\2\2\2\u09e9\u09ea\7!\2\2\u09ea"+ - "\u09f0\3\2\2\2\u09eb\u09ec\5 \21\2\u09ec\u09ed\7\\\2\2\u09ed\u09ee\7!"+ - "\2\2\u09ee\u09f0\3\2\2\2\u09ef\u09c7\3\2\2\2\u09ef\u09ce\3\2\2\2\u09ef"+ - "\u09d5\3\2\2\2\u09ef\u09db\3\2\2\2\u09ef\u09e4\3\2\2\2\u09ef\u09eb\3\2"+ - "\2\2\u09f0\u0197\3\2\2\2\u09f1\u09f2\7!\2\2\u09f2\u09f3\5\6\4\2\u09f3"+ - "\u09f5\5\u019a\u00ce\2\u09f4\u09f6\5\"\22\2\u09f5\u09f4\3\2\2\2\u09f5"+ - "\u09f6\3\2\2\2\u09f6\u0a08\3\2\2\2\u09f7\u09f8\7!\2\2\u09f8\u09f9\5\20"+ - "\t\2\u09f9\u09fb\5\u019a\u00ce\2\u09fa\u09fc\5\"\22\2\u09fb\u09fa\3\2"+ - "\2\2\u09fb\u09fc\3\2\2\2\u09fc\u0a08\3\2\2\2\u09fd\u09fe\7!\2\2\u09fe"+ - "\u09ff\5\6\4\2\u09ff\u0a00\5\"\22\2\u0a00\u0a01\5\u00fa~\2\u0a01\u0a08"+ - "\3\2\2\2\u0a02\u0a03\7!\2\2\u0a03\u0a04\5\20\t\2\u0a04\u0a05\5\"\22\2"+ - "\u0a05\u0a06\5\u00fa~\2\u0a06\u0a08\3\2\2\2\u0a07\u09f1\3\2\2\2\u0a07"+ - "\u09f7\3\2\2\2\u0a07\u09fd\3\2\2\2\u0a07\u0a02\3\2\2\2\u0a08\u0199\3\2"+ - "\2\2\u0a09\u0a0d\5\u019c\u00cf\2\u0a0a\u0a0c\5\u019c\u00cf\2\u0a0b\u0a0a"+ - "\3\2\2\2\u0a0c\u0a0f\3\2\2\2\u0a0d\u0a0b\3\2\2\2\u0a0d\u0a0e\3\2\2\2\u0a0e"+ - "\u019b\3\2\2\2\u0a0f\u0a0d\3\2\2\2\u0a10\u0a12\5\u00e8u\2\u0a11\u0a10"+ - "\3\2\2\2\u0a12\u0a15\3\2\2\2\u0a13\u0a11\3\2\2\2\u0a13\u0a14\3\2\2\2\u0a14"+ - "\u0a16\3\2\2\2\u0a15\u0a13\3\2\2\2\u0a16\u0a17\7?\2\2\u0a17\u0a18\5\u01a0"+ - "\u00d1\2\u0a18\u0a19\7@\2\2\u0a19\u019d\3\2\2\2\u0a1a\u0a1b\5\u01a0\u00d1"+ - "\2\u0a1b\u019f\3\2\2\2\u0a1c\u0a1f\5\u01a2\u00d2\2\u0a1d\u0a1f\5\u01aa"+ - "\u00d6\2\u0a1e\u0a1c\3\2\2\2\u0a1e\u0a1d\3\2\2\2\u0a1f\u01a1\3\2\2\2\u0a20"+ - "\u0a21\5\u01a4\u00d3\2\u0a21\u0a22\7[\2\2\u0a22\u0a23\5\u01a8\u00d5\2"+ - "\u0a23\u01a3\3\2\2\2\u0a24\u0a2f\7h\2\2\u0a25\u0a27\7;\2\2\u0a26\u0a28"+ - "\5\u0098M\2\u0a27\u0a26\3\2\2\2\u0a27\u0a28\3\2\2\2\u0a28\u0a29\3\2\2"+ - "\2\u0a29\u0a2f\7<\2\2\u0a2a\u0a2b\7;\2\2\u0a2b\u0a2c\5\u01a6\u00d4\2\u0a2c"+ - "\u0a2d\7<\2\2\u0a2d\u0a2f\3\2\2\2\u0a2e\u0a24\3\2\2\2\u0a2e\u0a25\3\2"+ - "\2\2\u0a2e\u0a2a\3\2\2\2\u0a2f\u01a5\3\2\2\2\u0a30\u0a35\7h\2\2\u0a31"+ - "\u0a32\7B\2\2\u0a32\u0a34\7h\2\2\u0a33\u0a31\3\2\2\2\u0a34\u0a37\3\2\2"+ - "\2\u0a35\u0a33\3\2\2\2\u0a35\u0a36\3\2\2\2\u0a36\u01a7\3\2\2\2\u0a37\u0a35"+ - "\3\2\2\2\u0a38\u0a3b\5\u01a0\u00d1\2\u0a39\u0a3b\5\u00fe\u0080\2\u0a3a"+ - "\u0a38\3\2\2\2\u0a3a\u0a39\3\2\2\2\u0a3b\u01a9\3\2\2\2\u0a3c\u0a3f\5\u01b2"+ - "\u00da\2\u0a3d\u0a3f\5\u01ac\u00d7\2\u0a3e\u0a3c\3\2\2\2\u0a3e\u0a3d\3"+ - "\2\2\2\u0a3f\u01ab\3\2\2\2\u0a40\u0a41\5\u01ae\u00d8\2\u0a41\u0a42\5\u01b0"+ - "\u00d9\2\u0a42\u0a43\5\u01a0\u00d1\2\u0a43\u01ad\3\2\2\2\u0a44\u0a48\5"+ - "<\37\2\u0a45\u0a48\5\u017e\u00c0\2\u0a46\u0a48\5\u0184\u00c3\2\u0a47\u0a44"+ - "\3\2\2\2\u0a47\u0a45\3\2\2\2\u0a47\u0a46\3\2\2\2\u0a48\u01af\3\2\2\2\u0a49"+ - "\u0a4a\t\5\2\2\u0a4a\u01b1\3\2\2\2\u0a4b\u0a53\5\u01b4\u00db\2\u0a4c\u0a4d"+ - "\5\u01b4\u00db\2\u0a4d\u0a4e\7I\2\2\u0a4e\u0a4f\5\u01a0\u00d1\2\u0a4f"+ - "\u0a50\7J\2\2\u0a50\u0a51\5\u01b2\u00da\2\u0a51\u0a53\3\2\2\2\u0a52\u0a4b"+ - "\3\2\2\2\u0a52\u0a4c\3\2\2\2\u0a53\u01b3\3\2\2\2\u0a54\u0a55\b\u00db\1"+ - "\2\u0a55\u0a56\5\u01b6\u00dc\2\u0a56\u0a5c\3\2\2\2\u0a57\u0a58\f\3\2\2"+ - "\u0a58\u0a59\7P\2\2\u0a59\u0a5b\5\u01b6\u00dc\2\u0a5a\u0a57\3\2\2\2\u0a5b"+ - "\u0a5e\3\2\2\2\u0a5c\u0a5a\3\2\2\2\u0a5c\u0a5d\3\2\2\2\u0a5d\u01b5\3\2"+ - "\2\2\u0a5e\u0a5c\3\2\2\2\u0a5f\u0a60\b\u00dc\1\2\u0a60\u0a61\5\u01b8\u00dd"+ - "\2\u0a61\u0a67\3\2\2\2\u0a62\u0a63\f\3\2\2\u0a63\u0a64\7O\2\2\u0a64\u0a66"+ - "\5\u01b8\u00dd\2\u0a65\u0a62\3\2\2\2\u0a66\u0a69\3\2\2\2\u0a67\u0a65\3"+ - "\2\2\2\u0a67\u0a68\3\2\2\2\u0a68\u01b7\3\2\2\2\u0a69\u0a67\3\2\2\2\u0a6a"+ - "\u0a6b\b\u00dd\1\2\u0a6b\u0a6c\5\u01ba\u00de\2\u0a6c\u0a72\3\2\2\2\u0a6d"+ - "\u0a6e\f\3\2\2\u0a6e\u0a6f\7X\2\2\u0a6f\u0a71\5\u01ba\u00de\2\u0a70\u0a6d"+ - "\3\2\2\2\u0a71\u0a74\3\2\2\2\u0a72\u0a70\3\2\2\2\u0a72\u0a73\3\2\2\2\u0a73"+ - "\u01b9\3\2\2\2\u0a74\u0a72\3\2\2\2\u0a75\u0a76\b\u00de\1\2\u0a76\u0a77"+ - "\5\u01bc\u00df\2\u0a77\u0a7d\3\2\2\2\u0a78\u0a79\f\3\2\2\u0a79\u0a7a\7"+ - "Y\2\2\u0a7a\u0a7c\5\u01bc\u00df\2\u0a7b\u0a78\3\2\2\2\u0a7c\u0a7f\3\2"+ - "\2\2\u0a7d\u0a7b\3\2\2\2\u0a7d\u0a7e\3\2\2\2\u0a7e\u01bb\3\2\2\2\u0a7f"+ - "\u0a7d\3\2\2\2\u0a80\u0a81\b\u00df\1\2\u0a81\u0a82\5\u01be\u00e0\2\u0a82"+ - "\u0a88\3\2\2\2\u0a83\u0a84\f\3\2\2\u0a84\u0a85\7W\2\2\u0a85\u0a87\5\u01be"+ - "\u00e0\2\u0a86\u0a83\3\2\2\2\u0a87\u0a8a\3\2\2\2\u0a88\u0a86\3\2\2\2\u0a88"+ - "\u0a89\3\2\2\2\u0a89\u01bd\3\2\2\2\u0a8a\u0a88\3\2\2\2\u0a8b\u0a8c\b\u00e0"+ - "\1\2\u0a8c\u0a8d\5\u01c0\u00e1\2\u0a8d\u0a96\3\2\2\2\u0a8e\u0a8f\f\4\2"+ - "\2\u0a8f\u0a90\7K\2\2\u0a90\u0a95\5\u01c0\u00e1\2\u0a91\u0a92\f\3\2\2"+ - "\u0a92\u0a93\7N\2\2\u0a93\u0a95\5\u01c0\u00e1\2\u0a94\u0a8e\3\2\2\2\u0a94"+ - "\u0a91\3\2\2\2\u0a95\u0a98\3\2\2\2\u0a96\u0a94\3\2\2\2\u0a96\u0a97\3\2"+ - "\2\2\u0a97\u01bf\3\2\2\2\u0a98\u0a96\3\2\2\2\u0a99\u0a9a\b\u00e1\1\2\u0a9a"+ - "\u0a9b\5\u01c2\u00e2\2\u0a9b\u0aad\3\2\2\2\u0a9c\u0a9d\f\7\2\2\u0a9d\u0a9e"+ - "\7F\2\2\u0a9e\u0aac\5\u01c2\u00e2\2\u0a9f\u0aa0\f\6\2\2\u0aa0\u0aa1\7"+ - "E\2\2\u0aa1\u0aac\5\u01c2\u00e2\2\u0aa2\u0aa3\f\5\2\2\u0aa3\u0aa4\7L\2"+ - "\2\u0aa4\u0aac\5\u01c2\u00e2\2\u0aa5\u0aa6\f\4\2\2\u0aa6\u0aa7\7M\2\2"+ - "\u0aa7\u0aac\5\u01c2\u00e2\2\u0aa8\u0aa9\f\3\2\2\u0aa9\u0aaa\7\34\2\2"+ - "\u0aaa\u0aac\5\16\b\2\u0aab\u0a9c\3\2\2\2\u0aab\u0a9f\3\2\2\2\u0aab\u0aa2"+ - "\3\2\2\2\u0aab\u0aa5\3\2\2\2\u0aab\u0aa8\3\2\2\2\u0aac\u0aaf\3\2\2\2\u0aad"+ - "\u0aab\3\2\2\2\u0aad\u0aae\3\2\2\2\u0aae\u01c1\3\2\2\2\u0aaf\u0aad\3\2"+ - "\2\2\u0ab0\u0ab1\b\u00e2\1\2\u0ab1\u0ab2\5\u01c4\u00e3\2\u0ab2\u0ac2\3"+ - "\2\2\2\u0ab3\u0ab4\f\5\2\2\u0ab4\u0ab5\7F\2\2\u0ab5\u0ab6\7F\2\2\u0ab6"+ - "\u0ac1\5\u01c4\u00e3\2\u0ab7\u0ab8\f\4\2\2\u0ab8\u0ab9\7E\2\2\u0ab9\u0aba"+ - "\7E\2\2\u0aba\u0ac1\5\u01c4\u00e3\2\u0abb\u0abc\f\3\2\2\u0abc\u0abd\7"+ - "E\2\2\u0abd\u0abe\7E\2\2\u0abe\u0abf\7E\2\2\u0abf\u0ac1\5\u01c4\u00e3"+ - "\2\u0ac0\u0ab3\3\2\2\2\u0ac0\u0ab7\3\2\2\2\u0ac0\u0abb\3\2\2\2\u0ac1\u0ac4"+ - "\3\2\2\2\u0ac2\u0ac0\3\2\2\2\u0ac2\u0ac3\3\2\2\2\u0ac3\u01c3\3\2\2\2\u0ac4"+ - "\u0ac2\3\2\2\2\u0ac5\u0ac6\b\u00e3\1\2\u0ac6\u0ac7\5\u01c6\u00e4\2\u0ac7"+ - "\u0ad0\3\2\2\2\u0ac8\u0ac9\f\4\2\2\u0ac9\u0aca\7S\2\2\u0aca\u0acf\5\u01c6"+ - "\u00e4\2\u0acb\u0acc\f\3\2\2\u0acc\u0acd\7T\2\2\u0acd\u0acf\5\u01c6\u00e4"+ - "\2\u0ace\u0ac8\3\2\2\2\u0ace\u0acb\3\2\2\2\u0acf\u0ad2\3\2\2\2\u0ad0\u0ace"+ - "\3\2\2\2\u0ad0\u0ad1\3\2\2\2\u0ad1\u01c5\3\2\2\2\u0ad2\u0ad0\3\2\2\2\u0ad3"+ - "\u0ad4\b\u00e4\1\2\u0ad4\u0ad5\5\u01c8\u00e5\2\u0ad5\u0ae1\3\2\2\2\u0ad6"+ - "\u0ad7\f\5\2\2\u0ad7\u0ad8\7U\2\2\u0ad8\u0ae0\5\u01c8\u00e5\2\u0ad9\u0ada"+ - "\f\4\2\2\u0ada\u0adb\7V\2\2\u0adb\u0ae0\5\u01c8\u00e5\2\u0adc\u0add\f"+ - "\3\2\2\u0add\u0ade\7Z\2\2\u0ade\u0ae0\5\u01c8\u00e5\2\u0adf\u0ad6\3\2"+ - "\2\2\u0adf\u0ad9\3\2\2\2\u0adf\u0adc\3\2\2\2\u0ae0\u0ae3\3\2\2\2\u0ae1"+ - "\u0adf\3\2\2\2\u0ae1\u0ae2\3\2\2\2\u0ae2\u01c7\3\2\2\2\u0ae3\u0ae1\3\2"+ - "\2\2\u0ae4\u0aec\5\u01ca\u00e6\2\u0ae5\u0aec\5\u01cc\u00e7\2\u0ae6\u0ae7"+ - "\7S\2\2\u0ae7\u0aec\5\u01c8\u00e5\2\u0ae8\u0ae9\7T\2\2\u0ae9\u0aec\5\u01c8"+ - "\u00e5\2\u0aea\u0aec\5\u01ce\u00e8\2\u0aeb\u0ae4\3\2\2\2\u0aeb\u0ae5\3"+ - "\2\2\2\u0aeb\u0ae6\3\2\2\2\u0aeb\u0ae8\3\2\2\2\u0aeb\u0aea\3\2\2\2\u0aec"+ - "\u01c9\3\2\2\2\u0aed\u0aee\7Q\2\2\u0aee\u0aef\5\u01c8\u00e5\2\u0aef\u01cb"+ - "\3\2\2\2\u0af0\u0af1\7R\2\2\u0af1\u0af2\5\u01c8\u00e5\2\u0af2\u01cd\3"+ - "\2\2\2\u0af3\u0afa\5\u01d0\u00e9\2\u0af4\u0af5\7H\2\2\u0af5\u0afa\5\u01c8"+ - "\u00e5\2\u0af6\u0af7\7G\2\2\u0af7\u0afa\5\u01c8\u00e5\2\u0af8\u0afa\5"+ - "\u01da\u00ee\2\u0af9\u0af3\3\2\2\2\u0af9\u0af4\3\2\2\2\u0af9\u0af6\3\2"+ - "\2\2\u0af9\u0af8\3\2\2\2\u0afa\u01cf\3\2\2\2\u0afb\u0afe\5\u0162\u00b2"+ - "\2\u0afc\u0afe\5<\37\2\u0afd\u0afb\3\2\2\2\u0afd\u0afc\3\2\2\2\u0afe\u0b03"+ - "\3\2\2\2\u0aff\u0b02\5\u01d4\u00eb\2\u0b00\u0b02\5\u01d8\u00ed\2\u0b01"+ - "\u0aff\3\2\2\2\u0b01\u0b00\3\2\2\2\u0b02\u0b05\3\2\2\2\u0b03\u0b01\3\2"+ - "\2\2\u0b03\u0b04\3\2\2\2\u0b04\u01d1\3\2\2\2\u0b05\u0b03\3\2\2\2\u0b06"+ - "\u0b07\5\u01d0\u00e9\2\u0b07\u0b08\7Q\2\2\u0b08\u01d3\3\2\2\2\u0b09\u0b0a"+ - "\7Q\2\2\u0b0a\u01d5\3\2\2\2\u0b0b\u0b0c\5\u01d0\u00e9\2\u0b0c\u0b0d\7"+ - "R\2\2\u0b0d\u01d7\3\2\2\2\u0b0e\u0b0f\7R\2\2\u0b0f\u01d9\3\2\2\2\u0b10"+ - "\u0b11\7;\2\2\u0b11\u0b12\5\6\4\2\u0b12\u0b13\7<\2\2\u0b13\u0b14\5\u01c8"+ - "\u00e5\2\u0b14\u0b2c\3\2\2\2\u0b15\u0b16\7;\2\2\u0b16\u0b1a\5\16\b\2\u0b17"+ - "\u0b19\5*\26\2\u0b18\u0b17\3\2\2\2\u0b19\u0b1c\3\2\2\2\u0b1a\u0b18\3\2"+ - "\2\2\u0b1a\u0b1b\3\2\2\2\u0b1b\u0b1d\3\2\2\2\u0b1c\u0b1a\3\2\2\2\u0b1d"+ - "\u0b1e\7<\2\2\u0b1e\u0b1f\5\u01ce\u00e8\2\u0b1f\u0b2c\3\2\2\2\u0b20\u0b21"+ - "\7;\2\2\u0b21\u0b25\5\16\b\2\u0b22\u0b24\5*\26\2\u0b23\u0b22\3\2\2\2\u0b24"+ - "\u0b27\3\2\2\2\u0b25\u0b23\3\2\2\2\u0b25\u0b26\3\2\2\2\u0b26\u0b28\3\2"+ - "\2\2\u0b27\u0b25\3\2\2\2\u0b28\u0b29\7<\2\2\u0b29\u0b2a\5\u01a2\u00d2"+ - "\2\u0b2a\u0b2c\3\2\2\2\u0b2b\u0b10\3\2\2\2\u0b2b\u0b15\3\2\2\2\u0b2b\u0b20"+ - "\3\2\2\2\u0b2c\u01db\3\2\2\2\u0147\u01e0\u01e5\u01ec\u01f0\u01f4\u01fd"+ + "\u0969\u096b\7;\2\2\u096a\u096c\5\u0190\u00c9\2\u096b\u096a\3\2\2\2\u096b"+ + "\u096c\3\2\2\2\u096c\u096d\3\2\2\2\u096d\u096e\7<\2\2\u096e\u0989\3\2"+ + "\2\2\u096f\u0970\7*\2\2\u0970\u0972\7C\2\2\u0971\u0973\5,\27\2\u0972\u0971"+ + "\3\2\2\2\u0972\u0973\3\2\2\2\u0973\u0974\3\2\2\2\u0974\u0975\7h\2\2\u0975"+ + "\u0977\7;\2\2\u0976\u0978\5\u0190\u00c9\2\u0977\u0976\3\2\2\2\u0977\u0978"+ + "\3\2\2\2\u0978\u0979\3\2\2\2\u0979\u0989\7<\2\2\u097a\u097b\58\35\2\u097b"+ + "\u097c\7C\2\2\u097c\u097d\7*\2\2\u097d\u097f\7C\2\2\u097e\u0980\5,\27"+ + "\2\u097f\u097e\3\2\2\2\u097f\u0980\3\2\2\2\u0980\u0981\3\2\2\2\u0981\u0982"+ + "\7h\2\2\u0982\u0984\7;\2\2\u0983\u0985\5\u0190\u00c9\2\u0984\u0983\3\2"+ + "\2\2\u0984\u0985\3\2\2\2\u0985\u0986\3\2\2\2\u0986\u0987\7<\2\2\u0987"+ + "\u0989\3\2\2\2\u0988\u0950\3\2\2\2\u0988\u0957\3\2\2\2\u0988\u0963\3\2"+ + "\2\2\u0988\u096f\3\2\2\2\u0988\u097a\3\2\2\2\u0989\u018f\3\2\2\2\u098a"+ + "\u098f\5\u01a0\u00d1\2\u098b\u098c\7B\2\2\u098c\u098e\5\u01a0\u00d1\2"+ + "\u098d\u098b\3\2\2\2\u098e\u0991\3\2\2\2\u098f\u098d\3\2\2\2\u098f\u0990"+ + "\3\2\2\2\u0990\u0191\3\2\2\2\u0991\u098f\3\2\2\2\u0992\u0993\5<\37\2\u0993"+ + "\u0995\7\\\2\2\u0994\u0996\5,\27\2\u0995\u0994\3\2\2\2\u0995\u0996\3\2"+ + "\2\2\u0996\u0997\3\2\2\2\u0997\u0998\7h\2\2\u0998\u09c2\3\2\2\2\u0999"+ + "\u099a\5\16\b\2\u099a\u099c\7\\\2\2\u099b\u099d\5,\27\2\u099c\u099b\3"+ + "\2\2\2\u099c\u099d\3\2\2\2\u099d\u099e\3\2\2\2\u099e\u099f\7h\2\2\u099f"+ + "\u09c2\3\2\2\2\u09a0\u09a1\5\u0162\u00b2\2\u09a1\u09a3\7\\\2\2\u09a2\u09a4"+ + "\5,\27\2\u09a3\u09a2\3\2\2\2\u09a3\u09a4\3\2\2\2\u09a4\u09a5\3\2\2\2\u09a5"+ + "\u09a6\7h\2\2\u09a6\u09c2\3\2\2\2\u09a7\u09a8\7*\2\2\u09a8\u09aa\7\\\2"+ + "\2\u09a9\u09ab\5,\27\2\u09aa\u09a9\3\2\2\2\u09aa\u09ab\3\2\2\2\u09ab\u09ac"+ + "\3\2\2\2\u09ac\u09c2\7h\2\2\u09ad\u09ae\58\35\2\u09ae\u09af\7C\2\2\u09af"+ + "\u09b0\7*\2\2\u09b0\u09b2\7\\\2\2\u09b1\u09b3\5,\27\2\u09b2\u09b1\3\2"+ + "\2\2\u09b2\u09b3\3\2\2\2\u09b3\u09b4\3\2\2\2\u09b4\u09b5\7h\2\2\u09b5"+ + "\u09c2\3\2\2\2\u09b6\u09b7\5\22\n\2\u09b7\u09b9\7\\\2\2\u09b8\u09ba\5"+ + ",\27\2\u09b9\u09b8\3\2\2\2\u09b9\u09ba\3\2\2\2\u09ba\u09bb\3\2\2\2\u09bb"+ + "\u09bc\7!\2\2\u09bc\u09c2\3\2\2\2\u09bd\u09be\5 \21\2\u09be\u09bf\7\\"+ + "\2\2\u09bf\u09c0\7!\2\2\u09c0\u09c2\3\2\2\2\u09c1\u0992\3\2\2\2\u09c1"+ + "\u0999\3\2\2\2\u09c1\u09a0\3\2\2\2\u09c1\u09a7\3\2\2\2\u09c1\u09ad\3\2"+ + "\2\2\u09c1\u09b6\3\2\2\2\u09c1\u09bd\3\2\2\2\u09c2\u0193\3\2\2\2\u09c3"+ + "\u09c5\7\\\2\2\u09c4\u09c6\5,\27\2\u09c5\u09c4\3\2\2\2\u09c5\u09c6\3\2"+ + "\2\2\u09c6\u09c7\3\2\2\2\u09c7\u09c8\7h\2\2\u09c8\u0195\3\2\2\2\u09c9"+ + "\u09ca\5<\37\2\u09ca\u09cc\7\\\2\2\u09cb\u09cd\5,\27\2\u09cc\u09cb\3\2"+ + "\2\2\u09cc\u09cd\3\2\2\2\u09cd\u09ce\3\2\2\2\u09ce\u09cf\7h\2\2\u09cf"+ + "\u09f2\3\2\2\2\u09d0\u09d1\5\16\b\2\u09d1\u09d3\7\\\2\2\u09d2\u09d4\5"+ + ",\27\2\u09d3\u09d2\3\2\2\2\u09d3\u09d4\3\2\2\2\u09d4\u09d5\3\2\2\2\u09d5"+ + "\u09d6\7h\2\2\u09d6\u09f2\3\2\2\2\u09d7\u09d8\7*\2\2\u09d8\u09da\7\\\2"+ + "\2\u09d9\u09db\5,\27\2\u09da\u09d9\3\2\2\2\u09da\u09db\3\2\2\2\u09db\u09dc"+ + "\3\2\2\2\u09dc\u09f2\7h\2\2\u09dd\u09de\58\35\2\u09de\u09df\7C\2\2\u09df"+ + "\u09e0\7*\2\2\u09e0\u09e2\7\\\2\2\u09e1\u09e3\5,\27\2\u09e2\u09e1\3\2"+ + "\2\2\u09e2\u09e3\3\2\2\2\u09e3\u09e4\3\2\2\2\u09e4\u09e5\7h\2\2\u09e5"+ + "\u09f2\3\2\2\2\u09e6\u09e7\5\22\n\2\u09e7\u09e9\7\\\2\2\u09e8\u09ea\5"+ + ",\27\2\u09e9\u09e8\3\2\2\2\u09e9\u09ea\3\2\2\2\u09ea\u09eb\3\2\2\2\u09eb"+ + "\u09ec\7!\2\2\u09ec\u09f2\3\2\2\2\u09ed\u09ee\5 \21\2\u09ee\u09ef\7\\"+ + "\2\2\u09ef\u09f0\7!\2\2\u09f0\u09f2\3\2\2\2\u09f1\u09c9\3\2\2\2\u09f1"+ + "\u09d0\3\2\2\2\u09f1\u09d7\3\2\2\2\u09f1\u09dd\3\2\2\2\u09f1\u09e6\3\2"+ + "\2\2\u09f1\u09ed\3\2\2\2\u09f2\u0197\3\2\2\2\u09f3\u09f4\7!\2\2\u09f4"+ + "\u09f5\5\6\4\2\u09f5\u09f7\5\u019a\u00ce\2\u09f6\u09f8\5\"\22\2\u09f7"+ + "\u09f6\3\2\2\2\u09f7\u09f8\3\2\2\2\u09f8\u0a0a\3\2\2\2\u09f9\u09fa\7!"+ + "\2\2\u09fa\u09fb\5\20\t\2\u09fb\u09fd\5\u019a\u00ce\2\u09fc\u09fe\5\""+ + "\22\2\u09fd\u09fc\3\2\2\2\u09fd\u09fe\3\2\2\2\u09fe\u0a0a\3\2\2\2\u09ff"+ + "\u0a00\7!\2\2\u0a00\u0a01\5\6\4\2\u0a01\u0a02\5\"\22\2\u0a02\u0a03\5\u00fa"+ + "~\2\u0a03\u0a0a\3\2\2\2\u0a04\u0a05\7!\2\2\u0a05\u0a06\5\20\t\2\u0a06"+ + "\u0a07\5\"\22\2\u0a07\u0a08\5\u00fa~\2\u0a08\u0a0a\3\2\2\2\u0a09\u09f3"+ + "\3\2\2\2\u0a09\u09f9\3\2\2\2\u0a09\u09ff\3\2\2\2\u0a09\u0a04\3\2\2\2\u0a0a"+ + "\u0199\3\2\2\2\u0a0b\u0a0f\5\u019c\u00cf\2\u0a0c\u0a0e\5\u019c\u00cf\2"+ + "\u0a0d\u0a0c\3\2\2\2\u0a0e\u0a11\3\2\2\2\u0a0f\u0a0d\3\2\2\2\u0a0f\u0a10"+ + "\3\2\2\2\u0a10\u019b\3\2\2\2\u0a11\u0a0f\3\2\2\2\u0a12\u0a14\5\u00e8u"+ + "\2\u0a13\u0a12\3\2\2\2\u0a14\u0a17\3\2\2\2\u0a15\u0a13\3\2\2\2\u0a15\u0a16"+ + "\3\2\2\2\u0a16\u0a18\3\2\2\2\u0a17\u0a15\3\2\2\2\u0a18\u0a19\7?\2\2\u0a19"+ + "\u0a1a\5\u01a0\u00d1\2\u0a1a\u0a1b\7@\2\2\u0a1b\u019d\3\2\2\2\u0a1c\u0a1d"+ + "\5\u01a0\u00d1\2\u0a1d\u019f\3\2\2\2\u0a1e\u0a21\5\u01a2\u00d2\2\u0a1f"+ + "\u0a21\5\u01aa\u00d6\2\u0a20\u0a1e\3\2\2\2\u0a20\u0a1f\3\2\2\2\u0a21\u01a1"+ + "\3\2\2\2\u0a22\u0a23\5\u01a4\u00d3\2\u0a23\u0a24\7[\2\2\u0a24\u0a25\5"+ + "\u01a8\u00d5\2\u0a25\u01a3\3\2\2\2\u0a26\u0a31\7h\2\2\u0a27\u0a29\7;\2"+ + "\2\u0a28\u0a2a\5\u0098M\2\u0a29\u0a28\3\2\2\2\u0a29\u0a2a\3\2\2\2\u0a2a"+ + "\u0a2b\3\2\2\2\u0a2b\u0a31\7<\2\2\u0a2c\u0a2d\7;\2\2\u0a2d\u0a2e\5\u01a6"+ + "\u00d4\2\u0a2e\u0a2f\7<\2\2\u0a2f\u0a31\3\2\2\2\u0a30\u0a26\3\2\2\2\u0a30"+ + "\u0a27\3\2\2\2\u0a30\u0a2c\3\2\2\2\u0a31\u01a5\3\2\2\2\u0a32\u0a37\7h"+ + "\2\2\u0a33\u0a34\7B\2\2\u0a34\u0a36\7h\2\2\u0a35\u0a33\3\2\2\2\u0a36\u0a39"+ + "\3\2\2\2\u0a37\u0a35\3\2\2\2\u0a37\u0a38\3\2\2\2\u0a38\u01a7\3\2\2\2\u0a39"+ + "\u0a37\3\2\2\2\u0a3a\u0a3d\5\u01a0\u00d1\2\u0a3b\u0a3d\5\u00fe\u0080\2"+ + "\u0a3c\u0a3a\3\2\2\2\u0a3c\u0a3b\3\2\2\2\u0a3d\u01a9\3\2\2\2\u0a3e\u0a41"+ + "\5\u01b2\u00da\2\u0a3f\u0a41\5\u01ac\u00d7\2\u0a40\u0a3e\3\2\2\2\u0a40"+ + "\u0a3f\3\2\2\2\u0a41\u01ab\3\2\2\2\u0a42\u0a43\5\u01ae\u00d8\2\u0a43\u0a44"+ + "\5\u01b0\u00d9\2\u0a44\u0a45\5\u01a0\u00d1\2\u0a45\u01ad\3\2\2\2\u0a46"+ + "\u0a4a\5<\37\2\u0a47\u0a4a\5\u017e\u00c0\2\u0a48\u0a4a\5\u0184\u00c3\2"+ + "\u0a49\u0a46\3\2\2\2\u0a49\u0a47\3\2\2\2\u0a49\u0a48\3\2\2\2\u0a4a\u01af"+ + "\3\2\2\2\u0a4b\u0a4c\t\5\2\2\u0a4c\u01b1\3\2\2\2\u0a4d\u0a55\5\u01b4\u00db"+ + "\2\u0a4e\u0a4f\5\u01b4\u00db\2\u0a4f\u0a50\7I\2\2\u0a50\u0a51\5\u01a0"+ + "\u00d1\2\u0a51\u0a52\7J\2\2\u0a52\u0a53\5\u01b2\u00da\2\u0a53\u0a55\3"+ + "\2\2\2\u0a54\u0a4d\3\2\2\2\u0a54\u0a4e\3\2\2\2\u0a55\u01b3\3\2\2\2\u0a56"+ + "\u0a57\b\u00db\1\2\u0a57\u0a58\5\u01b6\u00dc\2\u0a58\u0a5e\3\2\2\2\u0a59"+ + "\u0a5a\f\3\2\2\u0a5a\u0a5b\7P\2\2\u0a5b\u0a5d\5\u01b6\u00dc\2\u0a5c\u0a59"+ + "\3\2\2\2\u0a5d\u0a60\3\2\2\2\u0a5e\u0a5c\3\2\2\2\u0a5e\u0a5f\3\2\2\2\u0a5f"+ + "\u01b5\3\2\2\2\u0a60\u0a5e\3\2\2\2\u0a61\u0a62\b\u00dc\1\2\u0a62\u0a63"+ + "\5\u01b8\u00dd\2\u0a63\u0a69\3\2\2\2\u0a64\u0a65\f\3\2\2\u0a65\u0a66\7"+ + "O\2\2\u0a66\u0a68\5\u01b8\u00dd\2\u0a67\u0a64\3\2\2\2\u0a68\u0a6b\3\2"+ + "\2\2\u0a69\u0a67\3\2\2\2\u0a69\u0a6a\3\2\2\2\u0a6a\u01b7\3\2\2\2\u0a6b"+ + "\u0a69\3\2\2\2\u0a6c\u0a6d\b\u00dd\1\2\u0a6d\u0a6e\5\u01ba\u00de\2\u0a6e"+ + "\u0a74\3\2\2\2\u0a6f\u0a70\f\3\2\2\u0a70\u0a71\7X\2\2\u0a71\u0a73\5\u01ba"+ + "\u00de\2\u0a72\u0a6f\3\2\2\2\u0a73\u0a76\3\2\2\2\u0a74\u0a72\3\2\2\2\u0a74"+ + "\u0a75\3\2\2\2\u0a75\u01b9\3\2\2\2\u0a76\u0a74\3\2\2\2\u0a77\u0a78\b\u00de"+ + "\1\2\u0a78\u0a79\5\u01bc\u00df\2\u0a79\u0a7f\3\2\2\2\u0a7a\u0a7b\f\3\2"+ + "\2\u0a7b\u0a7c\7Y\2\2\u0a7c\u0a7e\5\u01bc\u00df\2\u0a7d\u0a7a\3\2\2\2"+ + "\u0a7e\u0a81\3\2\2\2\u0a7f\u0a7d\3\2\2\2\u0a7f\u0a80\3\2\2\2\u0a80\u01bb"+ + "\3\2\2\2\u0a81\u0a7f\3\2\2\2\u0a82\u0a83\b\u00df\1\2\u0a83\u0a84\5\u01be"+ + "\u00e0\2\u0a84\u0a8a\3\2\2\2\u0a85\u0a86\f\3\2\2\u0a86\u0a87\7W\2\2\u0a87"+ + "\u0a89\5\u01be\u00e0\2\u0a88\u0a85\3\2\2\2\u0a89\u0a8c\3\2\2\2\u0a8a\u0a88"+ + "\3\2\2\2\u0a8a\u0a8b\3\2\2\2\u0a8b\u01bd\3\2\2\2\u0a8c\u0a8a\3\2\2\2\u0a8d"+ + "\u0a8e\b\u00e0\1\2\u0a8e\u0a8f\5\u01c0\u00e1\2\u0a8f\u0a98\3\2\2\2\u0a90"+ + "\u0a91\f\4\2\2\u0a91\u0a92\7K\2\2\u0a92\u0a97\5\u01c0\u00e1\2\u0a93\u0a94"+ + "\f\3\2\2\u0a94\u0a95\7N\2\2\u0a95\u0a97\5\u01c0\u00e1\2\u0a96\u0a90\3"+ + "\2\2\2\u0a96\u0a93\3\2\2\2\u0a97\u0a9a\3\2\2\2\u0a98\u0a96\3\2\2\2\u0a98"+ + "\u0a99\3\2\2\2\u0a99\u01bf\3\2\2\2\u0a9a\u0a98\3\2\2\2\u0a9b\u0a9c\b\u00e1"+ + "\1\2\u0a9c\u0a9d\5\u01c2\u00e2\2\u0a9d\u0aaf\3\2\2\2\u0a9e\u0a9f\f\7\2"+ + "\2\u0a9f\u0aa0\7F\2\2\u0aa0\u0aae\5\u01c2\u00e2\2\u0aa1\u0aa2\f\6\2\2"+ + "\u0aa2\u0aa3\7E\2\2\u0aa3\u0aae\5\u01c2\u00e2\2\u0aa4\u0aa5\f\5\2\2\u0aa5"+ + "\u0aa6\7L\2\2\u0aa6\u0aae\5\u01c2\u00e2\2\u0aa7\u0aa8\f\4\2\2\u0aa8\u0aa9"+ + "\7M\2\2\u0aa9\u0aae\5\u01c2\u00e2\2\u0aaa\u0aab\f\3\2\2\u0aab\u0aac\7"+ + "\34\2\2\u0aac\u0aae\5\16\b\2\u0aad\u0a9e\3\2\2\2\u0aad\u0aa1\3\2\2\2\u0aad"+ + "\u0aa4\3\2\2\2\u0aad\u0aa7\3\2\2\2\u0aad\u0aaa\3\2\2\2\u0aae\u0ab1\3\2"+ + "\2\2\u0aaf\u0aad\3\2\2\2\u0aaf\u0ab0\3\2\2\2\u0ab0\u01c1\3\2\2\2\u0ab1"+ + "\u0aaf\3\2\2\2\u0ab2\u0ab3\b\u00e2\1\2\u0ab3\u0ab4\5\u01c4\u00e3\2\u0ab4"+ + "\u0ac4\3\2\2\2\u0ab5\u0ab6\f\5\2\2\u0ab6\u0ab7\7F\2\2\u0ab7\u0ab8\7F\2"+ + "\2\u0ab8\u0ac3\5\u01c4\u00e3\2\u0ab9\u0aba\f\4\2\2\u0aba\u0abb\7E\2\2"+ + "\u0abb\u0abc\7E\2\2\u0abc\u0ac3\5\u01c4\u00e3\2\u0abd\u0abe\f\3\2\2\u0abe"+ + "\u0abf\7E\2\2\u0abf\u0ac0\7E\2\2\u0ac0\u0ac1\7E\2\2\u0ac1\u0ac3\5\u01c4"+ + "\u00e3\2\u0ac2\u0ab5\3\2\2\2\u0ac2\u0ab9\3\2\2\2\u0ac2\u0abd\3\2\2\2\u0ac3"+ + "\u0ac6\3\2\2\2\u0ac4\u0ac2\3\2\2\2\u0ac4\u0ac5\3\2\2\2\u0ac5\u01c3\3\2"+ + "\2\2\u0ac6\u0ac4\3\2\2\2\u0ac7\u0ac8\b\u00e3\1\2\u0ac8\u0ac9\5\u01c6\u00e4"+ + "\2\u0ac9\u0ad2\3\2\2\2\u0aca\u0acb\f\4\2\2\u0acb\u0acc\7S\2\2\u0acc\u0ad1"+ + "\5\u01c6\u00e4\2\u0acd\u0ace\f\3\2\2\u0ace\u0acf\7T\2\2\u0acf\u0ad1\5"+ + "\u01c6\u00e4\2\u0ad0\u0aca\3\2\2\2\u0ad0\u0acd\3\2\2\2\u0ad1\u0ad4\3\2"+ + "\2\2\u0ad2\u0ad0\3\2\2\2\u0ad2\u0ad3\3\2\2\2\u0ad3\u01c5\3\2\2\2\u0ad4"+ + "\u0ad2\3\2\2\2\u0ad5\u0ad6\b\u00e4\1\2\u0ad6\u0ad7\5\u01c8\u00e5\2\u0ad7"+ + "\u0ae3\3\2\2\2\u0ad8\u0ad9\f\5\2\2\u0ad9\u0ada\7U\2\2\u0ada\u0ae2\5\u01c8"+ + "\u00e5\2\u0adb\u0adc\f\4\2\2\u0adc\u0add\7V\2\2\u0add\u0ae2\5\u01c8\u00e5"+ + "\2\u0ade\u0adf\f\3\2\2\u0adf\u0ae0\7Z\2\2\u0ae0\u0ae2\5\u01c8\u00e5\2"+ + "\u0ae1\u0ad8\3\2\2\2\u0ae1\u0adb\3\2\2\2\u0ae1\u0ade\3\2\2\2\u0ae2\u0ae5"+ + "\3\2\2\2\u0ae3\u0ae1\3\2\2\2\u0ae3\u0ae4\3\2\2\2\u0ae4\u01c7\3\2\2\2\u0ae5"+ + "\u0ae3\3\2\2\2\u0ae6\u0aee\5\u01ca\u00e6\2\u0ae7\u0aee\5\u01cc\u00e7\2"+ + "\u0ae8\u0ae9\7S\2\2\u0ae9\u0aee\5\u01c8\u00e5\2\u0aea\u0aeb\7T\2\2\u0aeb"+ + "\u0aee\5\u01c8\u00e5\2\u0aec\u0aee\5\u01ce\u00e8\2\u0aed\u0ae6\3\2\2\2"+ + "\u0aed\u0ae7\3\2\2\2\u0aed\u0ae8\3\2\2\2\u0aed\u0aea\3\2\2\2\u0aed\u0aec"+ + "\3\2\2\2\u0aee\u01c9\3\2\2\2\u0aef\u0af0\7Q\2\2\u0af0\u0af1\5\u01c8\u00e5"+ + "\2\u0af1\u01cb\3\2\2\2\u0af2\u0af3\7R\2\2\u0af3\u0af4\5\u01c8\u00e5\2"+ + "\u0af4\u01cd\3\2\2\2\u0af5\u0afc\5\u01d0\u00e9\2\u0af6\u0af7\7H\2\2\u0af7"+ + "\u0afc\5\u01c8\u00e5\2\u0af8\u0af9\7G\2\2\u0af9\u0afc\5\u01c8\u00e5\2"+ + "\u0afa\u0afc\5\u01da\u00ee\2\u0afb\u0af5\3\2\2\2\u0afb\u0af6\3\2\2\2\u0afb"+ + "\u0af8\3\2\2\2\u0afb\u0afa\3\2\2\2\u0afc\u01cf\3\2\2\2\u0afd\u0b00\5\u0162"+ + "\u00b2\2\u0afe\u0b00\5<\37\2\u0aff\u0afd\3\2\2\2\u0aff\u0afe\3\2\2\2\u0b00"+ + "\u0b05\3\2\2\2\u0b01\u0b04\5\u01d4\u00eb\2\u0b02\u0b04\5\u01d8\u00ed\2"+ + "\u0b03\u0b01\3\2\2\2\u0b03\u0b02\3\2\2\2\u0b04\u0b07\3\2\2\2\u0b05\u0b03"+ + "\3\2\2\2\u0b05\u0b06\3\2\2\2\u0b06\u01d1\3\2\2\2\u0b07\u0b05\3\2\2\2\u0b08"+ + "\u0b09\5\u01d0\u00e9\2\u0b09\u0b0a\7Q\2\2\u0b0a\u01d3\3\2\2\2\u0b0b\u0b0c"+ + "\7Q\2\2\u0b0c\u01d5\3\2\2\2\u0b0d\u0b0e\5\u01d0\u00e9\2\u0b0e\u0b0f\7"+ + "R\2\2\u0b0f\u01d7\3\2\2\2\u0b10\u0b11\7R\2\2\u0b11\u01d9\3\2\2\2\u0b12"+ + "\u0b13\7;\2\2\u0b13\u0b14\5\6\4\2\u0b14\u0b15\7<\2\2\u0b15\u0b16\5\u01c8"+ + "\u00e5\2\u0b16\u0b2e\3\2\2\2\u0b17\u0b18\7;\2\2\u0b18\u0b1c\5\16\b\2\u0b19"+ + "\u0b1b\5*\26\2\u0b1a\u0b19\3\2\2\2\u0b1b\u0b1e\3\2\2\2\u0b1c\u0b1a\3\2"+ + "\2\2\u0b1c\u0b1d\3\2\2\2\u0b1d\u0b1f\3\2\2\2\u0b1e\u0b1c\3\2\2\2\u0b1f"+ + "\u0b20\7<\2\2\u0b20\u0b21\5\u01ce\u00e8\2\u0b21\u0b2e\3\2\2\2\u0b22\u0b23"+ + "\7;\2\2\u0b23\u0b27\5\16\b\2\u0b24\u0b26\5*\26\2\u0b25\u0b24\3\2\2\2\u0b26"+ + "\u0b29\3\2\2\2\u0b27\u0b25\3\2\2\2\u0b27\u0b28\3\2\2\2\u0b28\u0b2a\3\2"+ + "\2\2\u0b29\u0b27\3\2\2\2\u0b2a\u0b2b\7<\2\2\u0b2b\u0b2c\5\u01a2\u00d2"+ + "\2\u0b2c\u0b2e\3\2\2\2\u0b2d\u0b12\3\2\2\2\u0b2d\u0b17\3\2\2\2\u0b2d\u0b22"+ + "\3\2\2\2\u0b2e\u01db\3\2\2\2\u0148\u01e0\u01e5\u01ec\u01f0\u01f4\u01fd"+ "\u0201\u0205\u0207\u020d\u0212\u0219\u021e\u0220\u0226\u022b\u0230\u0235"+ "\u0240\u024e\u0253\u025b\u0262\u0268\u026d\u0278\u027b\u0289\u028e\u0293"+ "\u0298\u029e\u02a8\u02b0\u02ba\u02c2\u02ce\u02d2\u02d7\u02dd\u02e5\u02ee"+ @@ -18528,26 +18535,26 @@ public class Java8Parser extends Parser { "\u0367\u036c\u0370\u037d\u0384\u038a\u038e\u0392\u0396\u039a\u039f\u03a3"+ "\u03a7\u03a9\u03ae\u03b5\u03ba\u03bc\u03c2\u03c7\u03cb\u03de\u03e3\u03f3"+ "\u03f8\u03fe\u0404\u0406\u040a\u040f\u0413\u041a\u0421\u0429\u042c\u0431"+ - "\u0439\u043e\u0445\u044c\u0451\u0457\u0463\u0468\u046c\u0476\u047b\u0483"+ - "\u0486\u048b\u0493\u0496\u049b\u04a0\u04a5\u04aa\u04b1\u04b6\u04be\u04c3"+ - "\u04c8\u04cd\u04d3\u04d9\u04dc\u04df\u04e8\u04ee\u04f4\u04f7\u04fa\u0502"+ - "\u0507\u050c\u0512\u0515\u0520\u0529\u0533\u0538\u0543\u0548\u0554\u0559"+ - "\u0565\u056f\u0574\u057c\u057f\u0586\u058e\u0594\u059d\u05a7\u05ab\u05ae"+ - "\u05b7\u05c5\u05c8\u05d1\u05d6\u05de\u05e4\u05ec\u05f8\u05ff\u060d\u0623"+ - "\u0645\u0651\u0657\u0663\u0670\u068a\u068e\u0693\u0697\u069b\u06a3\u06a7"+ - "\u06ab\u06b2\u06bb\u06c3\u06d2\u06de\u06e4\u06ea\u06ff\u0704\u070a\u0716"+ - "\u0721\u072b\u072e\u0733\u073c\u0742\u074c\u0751\u075a\u0771\u077b\u0791"+ - "\u0798\u07a0\u07a8\u07b3\u07ca\u07d4\u07df\u07f5\u07f9\u07fe\u0806\u080c"+ - "\u0810\u0814\u0818\u081e\u0823\u0828\u082c\u0830\u0836\u083b\u0840\u0844"+ - "\u0848\u084a\u084f\u0854\u0859\u085d\u0861\u0865\u086a\u0872\u0878\u087c"+ - "\u0880\u0884\u088a\u088f\u0894\u0898\u089c\u089e\u08a3\u08b2\u08c0\u08cc"+ - "\u08d5\u08e4\u08f1\u08fa\u0900\u0907\u090c\u0913\u0918\u091f\u0924\u092b"+ - "\u0930\u0938\u093d\u0941\u0945\u094a\u0951\u0958\u095d\u0964\u0969\u0970"+ - "\u0975\u097d\u0982\u0986\u098d\u0993\u099a\u09a1\u09a8\u09b0\u09b7\u09bf"+ - "\u09c3\u09ca\u09d1\u09d8\u09e0\u09e7\u09ef\u09f5\u09fb\u0a07\u0a0d\u0a13"+ - "\u0a1e\u0a27\u0a2e\u0a35\u0a3a\u0a3e\u0a47\u0a52\u0a5c\u0a67\u0a72\u0a7d"+ - "\u0a88\u0a94\u0a96\u0aab\u0aad\u0ac0\u0ac2\u0ace\u0ad0\u0adf\u0ae1\u0aeb"+ - "\u0af9\u0afd\u0b01\u0b03\u0b1a\u0b25\u0b2b"; + "\u0435\u043b\u0440\u0447\u044e\u0453\u0459\u0465\u046a\u046e\u0478\u047d"+ + "\u0485\u0488\u048d\u0495\u0498\u049d\u04a2\u04a7\u04ac\u04b3\u04b8\u04c0"+ + "\u04c5\u04ca\u04cf\u04d5\u04db\u04de\u04e1\u04ea\u04f0\u04f6\u04f9\u04fc"+ + "\u0504\u0509\u050e\u0514\u0517\u0522\u052b\u0535\u053a\u0545\u054a\u0556"+ + "\u055b\u0567\u0571\u0576\u057e\u0581\u0588\u0590\u0596\u059f\u05a9\u05ad"+ + "\u05b0\u05b9\u05c7\u05ca\u05d3\u05d8\u05e0\u05e6\u05ee\u05fa\u0601\u060f"+ + "\u0625\u0647\u0653\u0659\u0665\u0672\u068c\u0690\u0695\u0699\u069d\u06a5"+ + "\u06a9\u06ad\u06b4\u06bd\u06c5\u06d4\u06e0\u06e6\u06ec\u0701\u0706\u070c"+ + "\u0718\u0723\u072d\u0730\u0735\u073e\u0744\u074e\u0753\u075c\u0773\u077d"+ + "\u0793\u079a\u07a2\u07aa\u07b5\u07cc\u07d6\u07e1\u07f7\u07fb\u0800\u0808"+ + "\u080e\u0812\u0816\u081a\u0820\u0825\u082a\u082e\u0832\u0838\u083d\u0842"+ + "\u0846\u084a\u084c\u0851\u0856\u085b\u085f\u0863\u0867\u086c\u0874\u087a"+ + "\u087e\u0882\u0886\u088c\u0891\u0896\u089a\u089e\u08a0\u08a5\u08b4\u08c2"+ + "\u08ce\u08d7\u08e6\u08f3\u08fc\u0902\u0909\u090e\u0915\u091a\u0921\u0926"+ + "\u092d\u0932\u093a\u093f\u0943\u0947\u094c\u0953\u095a\u095f\u0966\u096b"+ + "\u0972\u0977\u097f\u0984\u0988\u098f\u0995\u099c\u09a3\u09aa\u09b2\u09b9"+ + "\u09c1\u09c5\u09cc\u09d3\u09da\u09e2\u09e9\u09f1\u09f7\u09fd\u0a09\u0a0f"+ + "\u0a15\u0a20\u0a29\u0a30\u0a37\u0a3c\u0a40\u0a49\u0a54\u0a5e\u0a69\u0a74"+ + "\u0a7f\u0a8a\u0a96\u0a98\u0aad\u0aaf\u0ac2\u0ac4\u0ad0\u0ad2\u0ae1\u0ae3"+ + "\u0aed\u0afb\u0aff\u0b03\u0b05\u0b1c\u0b27\u0b2d"; public static final String _serializedATN = Utils.join( new String[] { _serializedATNSegment0, diff --git a/src/de/dhbwstuttgart/parser/TODO b/src/de/dhbwstuttgart/parser/TODO index b738b3e7..2272602d 100644 --- a/src/de/dhbwstuttgart/parser/TODO +++ b/src/de/dhbwstuttgart/parser/TODO @@ -1,3 +1,4 @@ = Grammatik = * Core-Problem: Typinferenz vs. Konstruktoren +* möglicherweise Problem: falsche Return-Expressions From d9e6ef6e4777fbba6072c7000199e7d9e460d7bb Mon Sep 17 00:00:00 2001 From: Jakob Herrmann Date: Tue, 29 Nov 2016 21:08:53 +0100 Subject: [PATCH 5/5] Parser now handles untyped method declarations but this needs further inspection as constructors are not handled properly. --- src/de/dhbwstuttgart/parser/Java8.g4 | 2 +- src/de/dhbwstuttgart/parser/Java8Parser.java | 5007 +++++++++--------- 2 files changed, 2509 insertions(+), 2500 deletions(-) diff --git a/src/de/dhbwstuttgart/parser/Java8.g4 b/src/de/dhbwstuttgart/parser/Java8.g4 index 602dead4..9f186404 100644 --- a/src/de/dhbwstuttgart/parser/Java8.g4 +++ b/src/de/dhbwstuttgart/parser/Java8.g4 @@ -442,7 +442,7 @@ methodModifier ; methodHeader - : result methodDeclarator throws_? + : result? methodDeclarator throws_? | typeParameters annotation* result methodDeclarator throws_? ; diff --git a/src/de/dhbwstuttgart/parser/Java8Parser.java b/src/de/dhbwstuttgart/parser/Java8Parser.java index 77300926..00d81f15 100644 --- a/src/de/dhbwstuttgart/parser/Java8Parser.java +++ b/src/de/dhbwstuttgart/parser/Java8Parser.java @@ -4822,12 +4822,12 @@ public class Java8Parser extends Parser { } public static class MethodHeaderContext extends ParserRuleContext { - public ResultContext result() { - return getRuleContext(ResultContext.class,0); - } public MethodDeclaratorContext methodDeclarator() { return getRuleContext(MethodDeclaratorContext.class,0); } + public ResultContext result() { + return getRuleContext(ResultContext.class,0); + } public Throws_Context throws_() { return getRuleContext(Throws_Context.class,0); } @@ -4859,7 +4859,7 @@ public class Java8Parser extends Parser { enterRule(_localctx, 144, RULE_methodHeader); int _la; try { - setState(1028); + setState(1030); switch (_input.LA(1)) { case BOOLEAN: case BYTE: @@ -4873,15 +4873,23 @@ public class Java8Parser extends Parser { case Identifier: enterOuterAlt(_localctx, 1); { - setState(1011); - result(); setState(1012); - methodDeclarator(); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,78,_ctx) ) { + case 1: + { + setState(1011); + result(); + } + break; + } setState(1014); + methodDeclarator(); + setState(1016); _la = _input.LA(1); if (_la==THROWS) { { - setState(1013); + setState(1015); throws_(); } } @@ -4891,31 +4899,31 @@ public class Java8Parser extends Parser { case LT: enterOuterAlt(_localctx, 2); { - setState(1016); + setState(1018); typeParameters(); - setState(1020); + setState(1022); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(1017); + setState(1019); annotation(); } } - setState(1022); + setState(1024); _errHandler.sync(this); _la = _input.LA(1); } - setState(1023); + setState(1025); result(); - setState(1024); - methodDeclarator(); setState(1026); + methodDeclarator(); + setState(1028); _la = _input.LA(1); if (_la==THROWS) { { - setState(1025); + setState(1027); throws_(); } } @@ -4959,7 +4967,7 @@ public class Java8Parser extends Parser { ResultContext _localctx = new ResultContext(_ctx, getState()); enterRule(_localctx, 146, RULE_result); try { - setState(1032); + setState(1034); switch (_input.LA(1)) { case BOOLEAN: case BYTE: @@ -4972,14 +4980,14 @@ public class Java8Parser extends Parser { case Identifier: enterOuterAlt(_localctx, 1); { - setState(1030); + setState(1032); unannType(); } break; case VOID: enterOuterAlt(_localctx, 2); { - setState(1031); + setState(1033); match(VOID); } break; @@ -5027,26 +5035,26 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1034); + setState(1036); match(Identifier); - setState(1035); - match(LPAREN); setState(1037); + match(LPAREN); + setState(1039); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { { - setState(1036); + setState(1038); formalParameterList(); } } - setState(1039); - match(RPAREN); setState(1041); + match(RPAREN); + setState(1043); _la = _input.LA(1); if (_la==LBRACK || _la==AT) { { - setState(1040); + setState(1042); dims(); } } @@ -5089,24 +5097,24 @@ public class Java8Parser extends Parser { FormalParameterListContext _localctx = new FormalParameterListContext(_ctx, getState()); enterRule(_localctx, 150, RULE_formalParameterList); try { - setState(1048); + setState(1050); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,86,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1043); - formalParameters(); - setState(1044); - match(COMMA); setState(1045); + formalParameters(); + setState(1046); + match(COMMA); + setState(1047); lastFormalParameter(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1047); + setState(1049); lastFormalParameter(); } break; @@ -5152,59 +5160,59 @@ public class Java8Parser extends Parser { enterRule(_localctx, 152, RULE_formalParameters); try { int _alt; - setState(1066); + setState(1068); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,88,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,89,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1050); + setState(1052); formalParameter(); - setState(1055); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,86,_ctx); - while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - setState(1051); - match(COMMA); - setState(1052); - formalParameter(); - } - } - } - setState(1057); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,86,_ctx); - } - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(1058); - receiverParameter(); - setState(1063); + setState(1057); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,87,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1059); + setState(1053); match(COMMA); - setState(1060); + setState(1054); formalParameter(); } } } - setState(1065); + setState(1059); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,87,_ctx); } } break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1060); + receiverParameter(); + setState(1065); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,88,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1061); + match(COMMA); + setState(1062); + formalParameter(); + } + } + } + setState(1067); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,88,_ctx); + } + } + break; } } catch (RecognitionException re) { @@ -5252,31 +5260,31 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1071); + setState(1073); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1068); + setState(1070); variableModifier(); } } - setState(1073); + setState(1075); _errHandler.sync(this); _la = _input.LA(1); } - setState(1075); + setState(1077); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,90,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,91,_ctx) ) { case 1: { - setState(1074); + setState(1076); unannType(); } break; } - setState(1077); + setState(1079); variableDeclaratorId(); } } @@ -5313,19 +5321,19 @@ public class Java8Parser extends Parser { VariableModifierContext _localctx = new VariableModifierContext(_ctx, getState()); enterRule(_localctx, 156, RULE_variableModifier); try { - setState(1081); + setState(1083); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1079); + setState(1081); annotation(); } break; case FINAL: enterOuterAlt(_localctx, 2); { - setState(1080); + setState(1082); match(FINAL); } break; @@ -5385,52 +5393,52 @@ public class Java8Parser extends Parser { enterRule(_localctx, 158, RULE_lastFormalParameter); int _la; try { - setState(1100); + setState(1102); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,94,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,95,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1086); + setState(1088); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1083); + setState(1085); variableModifier(); } } - setState(1088); + setState(1090); _errHandler.sync(this); _la = _input.LA(1); } - setState(1089); + setState(1091); unannType(); - setState(1093); + setState(1095); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(1090); + setState(1092); annotation(); } } - setState(1095); + setState(1097); _errHandler.sync(this); _la = _input.LA(1); } - setState(1096); + setState(1098); match(ELLIPSIS); - setState(1097); + setState(1099); variableDeclaratorId(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1099); + setState(1101); formalParameter(); } break; @@ -5479,34 +5487,34 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1105); + setState(1107); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(1102); + setState(1104); annotation(); } } - setState(1107); + setState(1109); _errHandler.sync(this); _la = _input.LA(1); } - setState(1108); + setState(1110); unannType(); - setState(1111); + setState(1113); _la = _input.LA(1); if (_la==Identifier) { { - setState(1109); + setState(1111); match(Identifier); - setState(1110); + setState(1112); match(DOT); } } - setState(1113); + setState(1115); match(THIS); } } @@ -5545,9 +5553,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1115); + setState(1117); match(THROWS); - setState(1116); + setState(1118); exceptionTypeList(); } } @@ -5590,21 +5598,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1118); + setState(1120); exceptionType(); - setState(1123); + setState(1125); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(1119); + setState(1121); match(COMMA); - setState(1120); + setState(1122); exceptionType(); } } - setState(1125); + setState(1127); _errHandler.sync(this); _la = _input.LA(1); } @@ -5646,20 +5654,20 @@ public class Java8Parser extends Parser { ExceptionTypeContext _localctx = new ExceptionTypeContext(_ctx, getState()); enterRule(_localctx, 166, RULE_exceptionType); try { - setState(1128); + setState(1130); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,98,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,99,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1126); + setState(1128); classType(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1127); + setState(1129); typeVariable(); } break; @@ -5698,19 +5706,19 @@ public class Java8Parser extends Parser { MethodBodyContext _localctx = new MethodBodyContext(_ctx, getState()); enterRule(_localctx, 168, RULE_methodBody); try { - setState(1132); + setState(1134); switch (_input.LA(1)) { case LBRACE: enterOuterAlt(_localctx, 1); { - setState(1130); + setState(1132); block(); } break; case SEMI: enterOuterAlt(_localctx, 2); { - setState(1131); + setState(1133); match(SEMI); } break; @@ -5753,7 +5761,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1134); + setState(1136); block(); } } @@ -5792,9 +5800,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1136); + setState(1138); match(STATIC); - setState(1137); + setState(1139); block(); } } @@ -5846,32 +5854,32 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1142); + setState(1144); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC))) != 0) || _la==AT) { { { - setState(1139); + setState(1141); constructorModifier(); } } - setState(1144); + setState(1146); _errHandler.sync(this); _la = _input.LA(1); } - setState(1145); - constructorDeclarator(); setState(1147); + constructorDeclarator(); + setState(1149); _la = _input.LA(1); if (_la==THROWS) { { - setState(1146); + setState(1148); throws_(); } } - setState(1149); + setState(1151); constructorBody(); } } @@ -5908,33 +5916,33 @@ public class Java8Parser extends Parser { ConstructorModifierContext _localctx = new ConstructorModifierContext(_ctx, getState()); enterRule(_localctx, 176, RULE_constructorModifier); try { - setState(1155); + setState(1157); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1151); + setState(1153); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1152); + setState(1154); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { - setState(1153); + setState(1155); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { - setState(1154); + setState(1156); match(PRIVATE); } break; @@ -5984,29 +5992,29 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1158); + setState(1160); _la = _input.LA(1); if (_la==LT) { { - setState(1157); + setState(1159); typeParameters(); } } - setState(1160); + setState(1162); simpleTypeName(); - setState(1161); - match(LPAREN); setState(1163); + match(LPAREN); + setState(1165); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { { - setState(1162); + setState(1164); formalParameterList(); } } - setState(1165); + setState(1167); match(RPAREN); } } @@ -6043,7 +6051,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1167); + setState(1169); match(Identifier); } } @@ -6086,28 +6094,28 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1169); - match(LBRACE); setState(1171); + match(LBRACE); + setState(1173); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,105,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,106,_ctx) ) { case 1: { - setState(1170); + setState(1172); explicitConstructorInvocation(); } break; } - setState(1174); + setState(1176); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1173); + setState(1175); blockStatements(); } } - setState(1176); + setState(1178); match(RBRACE); } } @@ -6154,138 +6162,138 @@ public class Java8Parser extends Parser { enterRule(_localctx, 184, RULE_explicitConstructorInvocation); int _la; try { - setState(1224); + setState(1226); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,115,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,116,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1179); + setState(1181); _la = _input.LA(1); if (_la==LT) { { - setState(1178); + setState(1180); typeArguments(); } } - setState(1181); + setState(1183); match(THIS); - setState(1182); - match(LPAREN); setState(1184); + match(LPAREN); + setState(1186); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1183); + setState(1185); argumentList(); } } - setState(1186); + setState(1188); match(RPAREN); - setState(1187); + setState(1189); match(SEMI); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1189); + setState(1191); _la = _input.LA(1); if (_la==LT) { { - setState(1188); + setState(1190); typeArguments(); } } - setState(1191); + setState(1193); match(SUPER); - setState(1192); - match(LPAREN); setState(1194); + match(LPAREN); + setState(1196); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1193); + setState(1195); argumentList(); } } - setState(1196); + setState(1198); match(RPAREN); - setState(1197); + setState(1199); match(SEMI); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1198); + setState(1200); expressionName(); - setState(1199); - match(DOT); setState(1201); + match(DOT); + setState(1203); _la = _input.LA(1); if (_la==LT) { { - setState(1200); + setState(1202); typeArguments(); } } - setState(1203); + setState(1205); match(SUPER); - setState(1204); - match(LPAREN); setState(1206); + match(LPAREN); + setState(1208); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1205); + setState(1207); argumentList(); } } - setState(1208); + setState(1210); match(RPAREN); - setState(1209); + setState(1211); match(SEMI); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1211); + setState(1213); primary(); - setState(1212); - match(DOT); setState(1214); + match(DOT); + setState(1216); _la = _input.LA(1); if (_la==LT) { { - setState(1213); + setState(1215); typeArguments(); } } - setState(1216); + setState(1218); match(SUPER); - setState(1217); - match(LPAREN); setState(1219); + match(LPAREN); + setState(1221); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1218); + setState(1220); argumentList(); } } - setState(1221); + setState(1223); match(RPAREN); - setState(1222); + setState(1224); match(SEMI); } break; @@ -6337,34 +6345,34 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1229); + setState(1231); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { { { - setState(1226); + setState(1228); classModifier(); } } - setState(1231); + setState(1233); _errHandler.sync(this); _la = _input.LA(1); } - setState(1232); + setState(1234); match(ENUM); - setState(1233); - match(Identifier); setState(1235); + match(Identifier); + setState(1237); _la = _input.LA(1); if (_la==IMPLEMENTS) { { - setState(1234); + setState(1236); superinterfaces(); } } - setState(1237); + setState(1239); enumBody(); } } @@ -6407,36 +6415,36 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1239); - match(LBRACE); setState(1241); + match(LBRACE); + setState(1243); _la = _input.LA(1); if (_la==Identifier || _la==AT) { { - setState(1240); + setState(1242); enumConstantList(); } } - setState(1244); + setState(1246); _la = _input.LA(1); if (_la==COMMA) { { - setState(1243); + setState(1245); match(COMMA); } } - setState(1247); + setState(1249); _la = _input.LA(1); if (_la==SEMI) { { - setState(1246); + setState(1248); enumBodyDeclarations(); } } - setState(1249); + setState(1251); match(RBRACE); } } @@ -6479,25 +6487,25 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1251); + setState(1253); enumConstant(); - setState(1256); + setState(1258); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,121,_ctx); + _alt = getInterpreter().adaptivePredict(_input,122,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1252); + setState(1254); match(COMMA); - setState(1253); + setState(1255); enumConstant(); } } } - setState(1258); + setState(1260); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,121,_ctx); + _alt = getInterpreter().adaptivePredict(_input,122,_ctx); } } } @@ -6547,47 +6555,47 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1262); + setState(1264); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(1259); + setState(1261); enumConstantModifier(); } } - setState(1264); + setState(1266); _errHandler.sync(this); _la = _input.LA(1); } - setState(1265); + setState(1267); match(Identifier); - setState(1271); + setState(1273); _la = _input.LA(1); if (_la==LPAREN) { { - setState(1266); - match(LPAREN); setState(1268); + match(LPAREN); + setState(1270); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1267); + setState(1269); argumentList(); } } - setState(1270); + setState(1272); match(RPAREN); } } - setState(1274); + setState(1276); _la = _input.LA(1); if (_la==LBRACE) { { - setState(1273); + setState(1275); classBody(); } } @@ -6629,7 +6637,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1276); + setState(1278); annotation(); } } @@ -6672,19 +6680,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1278); + setState(1280); match(SEMI); - setState(1282); + setState(1284); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { { { - setState(1279); + setState(1281); classBodyDeclaration(); } } - setState(1284); + setState(1286); _errHandler.sync(this); _la = _input.LA(1); } @@ -6726,20 +6734,20 @@ public class Java8Parser extends Parser { InterfaceDeclarationContext _localctx = new InterfaceDeclarationContext(_ctx, getState()); enterRule(_localctx, 198, RULE_interfaceDeclaration); try { - setState(1287); + setState(1289); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,127,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,128,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1285); + setState(1287); normalInterfaceDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1286); + setState(1288); annotationTypeDeclaration(); } break; @@ -6794,43 +6802,43 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1292); + setState(1294); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { { { - setState(1289); + setState(1291); interfaceModifier(); } } - setState(1294); + setState(1296); _errHandler.sync(this); _la = _input.LA(1); } - setState(1295); + setState(1297); match(INTERFACE); - setState(1296); - match(Identifier); setState(1298); + match(Identifier); + setState(1300); _la = _input.LA(1); if (_la==LT) { { - setState(1297); + setState(1299); typeParameters(); } } - setState(1301); + setState(1303); _la = _input.LA(1); if (_la==EXTENDS) { { - setState(1300); + setState(1302); extendsInterfaces(); } } - setState(1303); + setState(1305); interfaceBody(); } } @@ -6867,54 +6875,54 @@ public class Java8Parser extends Parser { InterfaceModifierContext _localctx = new InterfaceModifierContext(_ctx, getState()); enterRule(_localctx, 202, RULE_interfaceModifier); try { - setState(1312); + setState(1314); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1305); + setState(1307); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1306); + setState(1308); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { - setState(1307); + setState(1309); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { - setState(1308); + setState(1310); match(PRIVATE); } break; case ABSTRACT: enterOuterAlt(_localctx, 5); { - setState(1309); + setState(1311); match(ABSTRACT); } break; case STATIC: enterOuterAlt(_localctx, 6); { - setState(1310); + setState(1312); match(STATIC); } break; case STRICTFP: enterOuterAlt(_localctx, 7); { - setState(1311); + setState(1313); match(STRICTFP); } break; @@ -6957,9 +6965,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1314); + setState(1316); match(EXTENDS); - setState(1315); + setState(1317); interfaceTypeList(); } } @@ -7002,23 +7010,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1317); + setState(1319); match(LBRACE); - setState(1321); + setState(1323); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DEFAULT) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << VOID) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { { { - setState(1318); + setState(1320); interfaceMemberDeclaration(); } } - setState(1323); + setState(1325); _errHandler.sync(this); _la = _input.LA(1); } - setState(1324); + setState(1326); match(RBRACE); } } @@ -7064,41 +7072,41 @@ public class Java8Parser extends Parser { InterfaceMemberDeclarationContext _localctx = new InterfaceMemberDeclarationContext(_ctx, getState()); enterRule(_localctx, 208, RULE_interfaceMemberDeclaration); try { - setState(1331); + setState(1333); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,133,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,134,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1326); + setState(1328); constantDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1327); + setState(1329); interfaceMethodDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1328); + setState(1330); classDeclaration(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1329); + setState(1331); interfaceDeclaration(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1330); + setState(1332); match(SEMI); } break; @@ -7149,25 +7157,25 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1336); + setState(1338); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PUBLIC) | (1L << STATIC))) != 0) || _la==AT) { { { - setState(1333); + setState(1335); constantModifier(); } } - setState(1338); + setState(1340); _errHandler.sync(this); _la = _input.LA(1); } - setState(1339); - unannType(); - setState(1340); - variableDeclaratorList(); setState(1341); + unannType(); + setState(1342); + variableDeclaratorList(); + setState(1343); match(SEMI); } } @@ -7204,33 +7212,33 @@ public class Java8Parser extends Parser { ConstantModifierContext _localctx = new ConstantModifierContext(_ctx, getState()); enterRule(_localctx, 212, RULE_constantModifier); try { - setState(1347); + setState(1349); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1343); + setState(1345); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1344); + setState(1346); match(PUBLIC); } break; case STATIC: enterOuterAlt(_localctx, 3); { - setState(1345); + setState(1347); match(STATIC); } break; case FINAL: enterOuterAlt(_localctx, 4); { - setState(1346); + setState(1348); match(FINAL); } break; @@ -7283,23 +7291,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1352); + setState(1354); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << DEFAULT) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { { { - setState(1349); + setState(1351); interfaceMethodModifier(); } } - setState(1354); + setState(1356); _errHandler.sync(this); _la = _input.LA(1); } - setState(1355); + setState(1357); methodHeader(); - setState(1356); + setState(1358); methodBody(); } } @@ -7336,47 +7344,47 @@ public class Java8Parser extends Parser { InterfaceMethodModifierContext _localctx = new InterfaceMethodModifierContext(_ctx, getState()); enterRule(_localctx, 216, RULE_interfaceMethodModifier); try { - setState(1364); + setState(1366); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1358); + setState(1360); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1359); + setState(1361); match(PUBLIC); } break; case ABSTRACT: enterOuterAlt(_localctx, 3); { - setState(1360); + setState(1362); match(ABSTRACT); } break; case DEFAULT: enterOuterAlt(_localctx, 4); { - setState(1361); + setState(1363); match(DEFAULT); } break; case STATIC: enterOuterAlt(_localctx, 5); { - setState(1362); + setState(1364); match(STATIC); } break; case STRICTFP: enterOuterAlt(_localctx, 6); { - setState(1363); + setState(1365); match(STRICTFP); } break; @@ -7427,29 +7435,29 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1369); + setState(1371); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,138,_ctx); + _alt = getInterpreter().adaptivePredict(_input,139,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1366); + setState(1368); interfaceModifier(); } } } - setState(1371); + setState(1373); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,138,_ctx); + _alt = getInterpreter().adaptivePredict(_input,139,_ctx); } - setState(1372); - match(AT); - setState(1373); - match(INTERFACE); setState(1374); - match(Identifier); + match(AT); setState(1375); + match(INTERFACE); + setState(1376); + match(Identifier); + setState(1377); annotationTypeBody(); } } @@ -7492,23 +7500,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1377); + setState(1379); match(LBRACE); - setState(1381); + setState(1383); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SEMI))) != 0) || _la==Identifier || _la==AT) { { { - setState(1378); + setState(1380); annotationTypeMemberDeclaration(); } } - setState(1383); + setState(1385); _errHandler.sync(this); _la = _input.LA(1); } - setState(1384); + setState(1386); match(RBRACE); } } @@ -7554,41 +7562,41 @@ public class Java8Parser extends Parser { AnnotationTypeMemberDeclarationContext _localctx = new AnnotationTypeMemberDeclarationContext(_ctx, getState()); enterRule(_localctx, 222, RULE_annotationTypeMemberDeclaration); try { - setState(1391); + setState(1393); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,140,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,141,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1386); + setState(1388); annotationTypeElementDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1387); + setState(1389); constantDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1388); + setState(1390); classDeclaration(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1389); + setState(1391); interfaceDeclaration(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1390); + setState(1392); match(SEMI); } break; @@ -7643,47 +7651,47 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1396); + setState(1398); _errHandler.sync(this); _la = _input.LA(1); while (_la==ABSTRACT || _la==PUBLIC || _la==AT) { { { - setState(1393); + setState(1395); annotationTypeElementModifier(); } } - setState(1398); + setState(1400); _errHandler.sync(this); _la = _input.LA(1); } - setState(1399); - unannType(); - setState(1400); - match(Identifier); setState(1401); - match(LPAREN); + unannType(); setState(1402); - match(RPAREN); + match(Identifier); + setState(1403); + match(LPAREN); setState(1404); + match(RPAREN); + setState(1406); _la = _input.LA(1); if (_la==LBRACK || _la==AT) { { - setState(1403); + setState(1405); dims(); } } - setState(1407); + setState(1409); _la = _input.LA(1); if (_la==DEFAULT) { { - setState(1406); + setState(1408); defaultValue(); } } - setState(1409); + setState(1411); match(SEMI); } } @@ -7720,26 +7728,26 @@ public class Java8Parser extends Parser { AnnotationTypeElementModifierContext _localctx = new AnnotationTypeElementModifierContext(_ctx, getState()); enterRule(_localctx, 226, RULE_annotationTypeElementModifier); try { - setState(1414); + setState(1416); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { - setState(1411); + setState(1413); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { - setState(1412); + setState(1414); match(PUBLIC); } break; case ABSTRACT: enterOuterAlt(_localctx, 3); { - setState(1413); + setState(1415); match(ABSTRACT); } break; @@ -7782,9 +7790,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1416); + setState(1418); match(DEFAULT); - setState(1417); + setState(1419); elementValue(); } } @@ -7827,27 +7835,27 @@ public class Java8Parser extends Parser { AnnotationContext _localctx = new AnnotationContext(_ctx, getState()); enterRule(_localctx, 230, RULE_annotation); try { - setState(1422); + setState(1424); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,145,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,146,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1419); + setState(1421); normalAnnotation(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1420); + setState(1422); markerAnnotation(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1421); + setState(1423); singleElementAnnotation(); } break; @@ -7892,22 +7900,22 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1424); - match(AT); - setState(1425); - typeName(); setState(1426); - match(LPAREN); + match(AT); + setState(1427); + typeName(); setState(1428); + match(LPAREN); + setState(1430); _la = _input.LA(1); if (_la==Identifier) { { - setState(1427); + setState(1429); elementValuePairList(); } } - setState(1430); + setState(1432); match(RPAREN); } } @@ -7950,21 +7958,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1432); + setState(1434); elementValuePair(); - setState(1437); + setState(1439); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(1433); + setState(1435); match(COMMA); - setState(1434); + setState(1436); elementValuePair(); } } - setState(1439); + setState(1441); _errHandler.sync(this); _la = _input.LA(1); } @@ -8006,11 +8014,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1440); - match(Identifier); - setState(1441); - match(ASSIGN); setState(1442); + match(Identifier); + setState(1443); + match(ASSIGN); + setState(1444); elementValue(); } } @@ -8053,27 +8061,27 @@ public class Java8Parser extends Parser { ElementValueContext _localctx = new ElementValueContext(_ctx, getState()); enterRule(_localctx, 238, RULE_elementValue); try { - setState(1447); + setState(1449); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,148,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,149,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1444); + setState(1446); conditionalExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1445); + setState(1447); elementValueArrayInitializer(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1446); + setState(1448); annotation(); } break; @@ -8115,27 +8123,27 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1449); - match(LBRACE); setState(1451); + match(LBRACE); + setState(1453); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1450); + setState(1452); elementValueList(); } } - setState(1454); + setState(1456); _la = _input.LA(1); if (_la==COMMA) { { - setState(1453); + setState(1455); match(COMMA); } } - setState(1456); + setState(1458); match(RBRACE); } } @@ -8178,25 +8186,25 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1458); + setState(1460); elementValue(); - setState(1463); + setState(1465); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,151,_ctx); + _alt = getInterpreter().adaptivePredict(_input,152,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1459); + setState(1461); match(COMMA); - setState(1460); + setState(1462); elementValue(); } } } - setState(1465); + setState(1467); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,151,_ctx); + _alt = getInterpreter().adaptivePredict(_input,152,_ctx); } } } @@ -8235,9 +8243,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1466); + setState(1468); match(AT); - setState(1467); + setState(1469); typeName(); } } @@ -8279,15 +8287,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1469); - match(AT); - setState(1470); - typeName(); setState(1471); - match(LPAREN); + match(AT); setState(1472); - elementValue(); + typeName(); setState(1473); + match(LPAREN); + setState(1474); + elementValue(); + setState(1475); match(RPAREN); } } @@ -8327,27 +8335,27 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1475); - match(LBRACE); setState(1477); + match(LBRACE); + setState(1479); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1476); + setState(1478); variableInitializerList(); } } - setState(1480); + setState(1482); _la = _input.LA(1); if (_la==COMMA) { { - setState(1479); + setState(1481); match(COMMA); } } - setState(1482); + setState(1484); match(RBRACE); } } @@ -8390,25 +8398,25 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1484); + setState(1486); variableInitializer(); - setState(1489); + setState(1491); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,154,_ctx); + _alt = getInterpreter().adaptivePredict(_input,155,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1485); + setState(1487); match(COMMA); - setState(1486); + setState(1488); variableInitializer(); } } } - setState(1491); + setState(1493); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,154,_ctx); + _alt = getInterpreter().adaptivePredict(_input,155,_ctx); } } } @@ -8448,18 +8456,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1492); - match(LBRACE); setState(1494); + match(LBRACE); + setState(1496); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1493); + setState(1495); blockStatements(); } } - setState(1496); + setState(1498); match(RBRACE); } } @@ -8502,19 +8510,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1498); + setState(1500); blockStatement(); - setState(1502); + setState(1504); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { { - setState(1499); + setState(1501); blockStatement(); } } - setState(1504); + setState(1506); _errHandler.sync(this); _la = _input.LA(1); } @@ -8559,27 +8567,27 @@ public class Java8Parser extends Parser { BlockStatementContext _localctx = new BlockStatementContext(_ctx, getState()); enterRule(_localctx, 256, RULE_blockStatement); try { - setState(1508); + setState(1510); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,157,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,158,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1505); + setState(1507); localVariableDeclarationStatement(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1506); + setState(1508); classDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1507); + setState(1509); statement(); } break; @@ -8620,9 +8628,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1510); + setState(1512); localVariableDeclaration(); - setState(1511); + setState(1513); match(SEMI); } } @@ -8671,23 +8679,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1516); + setState(1518); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1513); + setState(1515); variableModifier(); } } - setState(1518); + setState(1520); _errHandler.sync(this); _la = _input.LA(1); } - setState(1519); + setState(1521); unannType(); - setState(1520); + setState(1522); variableDeclaratorList(); } } @@ -8739,48 +8747,48 @@ public class Java8Parser extends Parser { StatementContext _localctx = new StatementContext(_ctx, getState()); enterRule(_localctx, 262, RULE_statement); try { - setState(1528); + setState(1530); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,159,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,160,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1522); + setState(1524); statementWithoutTrailingSubstatement(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1523); + setState(1525); labeledStatement(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1524); + setState(1526); ifThenStatement(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1525); + setState(1527); ifThenElseStatement(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1526); + setState(1528); whileStatement(); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1527); + setState(1529); forStatement(); } break; @@ -8831,41 +8839,41 @@ public class Java8Parser extends Parser { StatementNoShortIfContext _localctx = new StatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 264, RULE_statementNoShortIf); try { - setState(1535); + setState(1537); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,160,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,161,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1530); + setState(1532); statementWithoutTrailingSubstatement(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1531); + setState(1533); labeledStatementNoShortIf(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1532); + setState(1534); ifThenElseStatementNoShortIf(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1533); + setState(1535); whileStatementNoShortIf(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1534); + setState(1536); forStatementNoShortIf(); } break; @@ -8937,19 +8945,19 @@ public class Java8Parser extends Parser { StatementWithoutTrailingSubstatementContext _localctx = new StatementWithoutTrailingSubstatementContext(_ctx, getState()); enterRule(_localctx, 266, RULE_statementWithoutTrailingSubstatement); try { - setState(1549); + setState(1551); switch (_input.LA(1)) { case LBRACE: enterOuterAlt(_localctx, 1); { - setState(1537); + setState(1539); block(); } break; case SEMI: enterOuterAlt(_localctx, 2); { - setState(1538); + setState(1540); emptyStatement(); } break; @@ -8978,70 +8986,70 @@ public class Java8Parser extends Parser { case AT: enterOuterAlt(_localctx, 3); { - setState(1539); + setState(1541); expressionStatement(); } break; case ASSERT: enterOuterAlt(_localctx, 4); { - setState(1540); + setState(1542); assertStatement(); } break; case SWITCH: enterOuterAlt(_localctx, 5); { - setState(1541); + setState(1543); switchStatement(); } break; case DO: enterOuterAlt(_localctx, 6); { - setState(1542); + setState(1544); doStatement(); } break; case BREAK: enterOuterAlt(_localctx, 7); { - setState(1543); + setState(1545); breakStatement(); } break; case CONTINUE: enterOuterAlt(_localctx, 8); { - setState(1544); + setState(1546); continueStatement(); } break; case RETURN: enterOuterAlt(_localctx, 9); { - setState(1545); + setState(1547); returnStatement(); } break; case SYNCHRONIZED: enterOuterAlt(_localctx, 10); { - setState(1546); + setState(1548); synchronizedStatement(); } break; case THROW: enterOuterAlt(_localctx, 11); { - setState(1547); + setState(1549); throwStatement(); } break; case TRY: enterOuterAlt(_localctx, 12); { - setState(1548); + setState(1550); tryStatement(); } break; @@ -9081,7 +9089,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1551); + setState(1553); match(SEMI); } } @@ -9121,11 +9129,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1553); - match(Identifier); - setState(1554); - match(COLON); setState(1555); + match(Identifier); + setState(1556); + match(COLON); + setState(1557); statement(); } } @@ -9165,11 +9173,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1557); - match(Identifier); - setState(1558); - match(COLON); setState(1559); + match(Identifier); + setState(1560); + match(COLON); + setState(1561); statementNoShortIf(); } } @@ -9208,9 +9216,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1561); + setState(1563); statementExpression(); - setState(1562); + setState(1564); match(SEMI); } } @@ -9265,55 +9273,55 @@ public class Java8Parser extends Parser { StatementExpressionContext _localctx = new StatementExpressionContext(_ctx, getState()); enterRule(_localctx, 276, RULE_statementExpression); try { - setState(1571); + setState(1573); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,163,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1564); + setState(1566); assignment(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1565); + setState(1567); preIncrementExpression(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1566); + setState(1568); preDecrementExpression(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1567); + setState(1569); postIncrementExpression(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1568); + setState(1570); postDecrementExpression(); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1569); + setState(1571); methodInvocation(); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(1570); + setState(1572); classInstanceCreationExpression(); } break; @@ -9357,15 +9365,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1573); - match(IF); - setState(1574); - match(LPAREN); setState(1575); - expression(); + match(IF); setState(1576); - match(RPAREN); + match(LPAREN); setState(1577); + expression(); + setState(1578); + match(RPAREN); + setState(1579); statement(); } } @@ -9410,19 +9418,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1579); - match(IF); - setState(1580); - match(LPAREN); setState(1581); - expression(); + match(IF); setState(1582); - match(RPAREN); + match(LPAREN); setState(1583); - statementNoShortIf(); + expression(); setState(1584); - match(ELSE); + match(RPAREN); setState(1585); + statementNoShortIf(); + setState(1586); + match(ELSE); + setState(1587); statement(); } } @@ -9467,20 +9475,20 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1587); - match(IF); - setState(1588); - match(LPAREN); setState(1589); - expression(); + match(IF); setState(1590); - match(RPAREN); + match(LPAREN); setState(1591); - statementNoShortIf(); + expression(); setState(1592); - match(ELSE); + match(RPAREN); setState(1593); statementNoShortIf(); + setState(1594); + match(ELSE); + setState(1595); + statementNoShortIf(); } } catch (RecognitionException re) { @@ -9519,32 +9527,32 @@ public class Java8Parser extends Parser { AssertStatementContext _localctx = new AssertStatementContext(_ctx, getState()); enterRule(_localctx, 284, RULE_assertStatement); try { - setState(1605); + setState(1607); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,163,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,164,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1595); - match(ASSERT); - setState(1596); - expression(); setState(1597); + match(ASSERT); + setState(1598); + expression(); + setState(1599); match(SEMI); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1599); - match(ASSERT); - setState(1600); - expression(); setState(1601); - match(COLON); + match(ASSERT); setState(1602); expression(); setState(1603); + match(COLON); + setState(1604); + expression(); + setState(1605); match(SEMI); } break; @@ -9588,15 +9596,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1607); - match(SWITCH); - setState(1608); - match(LPAREN); setState(1609); - expression(); + match(SWITCH); setState(1610); - match(RPAREN); + match(LPAREN); setState(1611); + expression(); + setState(1612); + match(RPAREN); + setState(1613); switchBlock(); } } @@ -9646,39 +9654,39 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1613); + setState(1615); match(LBRACE); - setState(1617); + setState(1619); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,164,_ctx); + _alt = getInterpreter().adaptivePredict(_input,165,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1614); + setState(1616); switchBlockStatementGroup(); } } } - setState(1619); + setState(1621); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,164,_ctx); + _alt = getInterpreter().adaptivePredict(_input,165,_ctx); } - setState(1623); + setState(1625); _errHandler.sync(this); _la = _input.LA(1); while (_la==CASE || _la==DEFAULT) { { { - setState(1620); + setState(1622); switchLabel(); } } - setState(1625); + setState(1627); _errHandler.sync(this); _la = _input.LA(1); } - setState(1626); + setState(1628); match(RBRACE); } } @@ -9720,9 +9728,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1628); + setState(1630); switchLabels(); - setState(1629); + setState(1631); blockStatements(); } } @@ -9765,19 +9773,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1631); + setState(1633); switchLabel(); - setState(1635); + setState(1637); _errHandler.sync(this); _la = _input.LA(1); while (_la==CASE || _la==DEFAULT) { { { - setState(1632); + setState(1634); switchLabel(); } } - setState(1637); + setState(1639); _errHandler.sync(this); _la = _input.LA(1); } @@ -9819,37 +9827,37 @@ public class Java8Parser extends Parser { SwitchLabelContext _localctx = new SwitchLabelContext(_ctx, getState()); enterRule(_localctx, 294, RULE_switchLabel); try { - setState(1648); + setState(1650); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,167,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,168,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1638); - match(CASE); - setState(1639); - constantExpression(); setState(1640); + match(CASE); + setState(1641); + constantExpression(); + setState(1642); match(COLON); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1642); - match(CASE); - setState(1643); - enumConstantName(); setState(1644); + match(CASE); + setState(1645); + enumConstantName(); + setState(1646); match(COLON); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1646); + setState(1648); match(DEFAULT); - setState(1647); + setState(1649); match(COLON); } break; @@ -9888,7 +9896,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1650); + setState(1652); match(Identifier); } } @@ -9930,15 +9938,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1652); - match(WHILE); - setState(1653); - match(LPAREN); setState(1654); - expression(); + match(WHILE); setState(1655); - match(RPAREN); + match(LPAREN); setState(1656); + expression(); + setState(1657); + match(RPAREN); + setState(1658); statement(); } } @@ -9980,15 +9988,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1658); - match(WHILE); - setState(1659); - match(LPAREN); setState(1660); - expression(); + match(WHILE); setState(1661); - match(RPAREN); + match(LPAREN); setState(1662); + expression(); + setState(1663); + match(RPAREN); + setState(1664); statementNoShortIf(); } } @@ -10030,19 +10038,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1664); - match(DO); - setState(1665); - statement(); setState(1666); - match(WHILE); + match(DO); setState(1667); - match(LPAREN); + statement(); setState(1668); - expression(); + match(WHILE); setState(1669); - match(RPAREN); + match(LPAREN); setState(1670); + expression(); + setState(1671); + match(RPAREN); + setState(1672); match(SEMI); } } @@ -10082,20 +10090,20 @@ public class Java8Parser extends Parser { ForStatementContext _localctx = new ForStatementContext(_ctx, getState()); enterRule(_localctx, 304, RULE_forStatement); try { - setState(1674); + setState(1676); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,168,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,169,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1672); + setState(1674); basicForStatement(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1673); + setState(1675); enhancedForStatement(); } break; @@ -10137,20 +10145,20 @@ public class Java8Parser extends Parser { ForStatementNoShortIfContext _localctx = new ForStatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 306, RULE_forStatementNoShortIf); try { - setState(1678); + setState(1680); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,169,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,170,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1676); + setState(1678); basicForStatementNoShortIf(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1677); + setState(1679); enhancedForStatementNoShortIf(); } break; @@ -10201,44 +10209,44 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1680); + setState(1682); match(FOR); - setState(1681); - match(LPAREN); setState(1683); + match(LPAREN); + setState(1685); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1682); + setState(1684); forInit(); } } - setState(1685); - match(SEMI); setState(1687); + match(SEMI); + setState(1689); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1686); + setState(1688); expression(); } } - setState(1689); - match(SEMI); setState(1691); + match(SEMI); + setState(1693); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1690); + setState(1692); forUpdate(); } } - setState(1693); + setState(1695); match(RPAREN); - setState(1694); + setState(1696); statement(); } } @@ -10287,44 +10295,44 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1696); + setState(1698); match(FOR); - setState(1697); - match(LPAREN); setState(1699); + match(LPAREN); + setState(1701); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1698); + setState(1700); forInit(); } } - setState(1701); - match(SEMI); setState(1703); + match(SEMI); + setState(1705); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1702); + setState(1704); expression(); } } - setState(1705); - match(SEMI); setState(1707); + match(SEMI); + setState(1709); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { { - setState(1706); + setState(1708); forUpdate(); } } - setState(1709); + setState(1711); match(RPAREN); - setState(1710); + setState(1712); statementNoShortIf(); } } @@ -10364,20 +10372,20 @@ public class Java8Parser extends Parser { ForInitContext _localctx = new ForInitContext(_ctx, getState()); enterRule(_localctx, 312, RULE_forInit); try { - setState(1714); + setState(1716); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,176,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,177,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1712); + setState(1714); statementExpressionList(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1713); + setState(1715); localVariableDeclaration(); } break; @@ -10418,7 +10426,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1716); + setState(1718); statementExpressionList(); } } @@ -10461,21 +10469,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1718); + setState(1720); statementExpression(); - setState(1723); + setState(1725); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(1719); + setState(1721); match(COMMA); - setState(1720); + setState(1722); statementExpression(); } } - setState(1725); + setState(1727); _errHandler.sync(this); _la = _input.LA(1); } @@ -10532,35 +10540,35 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1726); + setState(1728); match(FOR); - setState(1727); + setState(1729); match(LPAREN); - setState(1731); + setState(1733); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1728); + setState(1730); variableModifier(); } } - setState(1733); + setState(1735); _errHandler.sync(this); _la = _input.LA(1); } - setState(1734); - unannType(); - setState(1735); - variableDeclaratorId(); setState(1736); - match(COLON); + unannType(); setState(1737); - expression(); + variableDeclaratorId(); setState(1738); - match(RPAREN); + match(COLON); setState(1739); + expression(); + setState(1740); + match(RPAREN); + setState(1741); statement(); } } @@ -10615,35 +10623,35 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1741); + setState(1743); match(FOR); - setState(1742); + setState(1744); match(LPAREN); - setState(1746); + setState(1748); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1743); + setState(1745); variableModifier(); } } - setState(1748); + setState(1750); _errHandler.sync(this); _la = _input.LA(1); } - setState(1749); - unannType(); - setState(1750); - variableDeclaratorId(); setState(1751); - match(COLON); + unannType(); setState(1752); - expression(); + variableDeclaratorId(); setState(1753); - match(RPAREN); + match(COLON); setState(1754); + expression(); + setState(1755); + match(RPAREN); + setState(1756); statementNoShortIf(); } } @@ -10681,18 +10689,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1756); - match(BREAK); setState(1758); + match(BREAK); + setState(1760); _la = _input.LA(1); if (_la==Identifier) { { - setState(1757); + setState(1759); match(Identifier); } } - setState(1760); + setState(1762); match(SEMI); } } @@ -10730,18 +10738,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1762); - match(CONTINUE); setState(1764); + match(CONTINUE); + setState(1766); _la = _input.LA(1); if (_la==Identifier) { { - setState(1763); + setState(1765); match(Identifier); } } - setState(1766); + setState(1768); match(SEMI); } } @@ -10781,18 +10789,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1768); - match(RETURN); setState(1770); + match(RETURN); + setState(1772); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(1769); + setState(1771); expression(); } } - setState(1772); + setState(1774); match(SEMI); } } @@ -10831,11 +10839,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1774); - match(THROW); - setState(1775); - expression(); setState(1776); + match(THROW); + setState(1777); + expression(); + setState(1778); match(SEMI); } } @@ -10877,15 +10885,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1778); - match(SYNCHRONIZED); - setState(1779); - match(LPAREN); setState(1780); - expression(); + match(SYNCHRONIZED); setState(1781); - match(RPAREN); + match(LPAREN); setState(1782); + expression(); + setState(1783); + match(RPAREN); + setState(1784); block(); } } @@ -10932,44 +10940,44 @@ public class Java8Parser extends Parser { enterRule(_localctx, 332, RULE_tryStatement); int _la; try { - setState(1796); + setState(1798); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,184,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,185,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1784); - match(TRY); - setState(1785); - block(); setState(1786); + match(TRY); + setState(1787); + block(); + setState(1788); catches(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1788); + setState(1790); match(TRY); - setState(1789); - block(); setState(1791); + block(); + setState(1793); _la = _input.LA(1); if (_la==CATCH) { { - setState(1790); + setState(1792); catches(); } } - setState(1793); + setState(1795); finally_(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1795); + setState(1797); tryWithResourcesStatement(); } break; @@ -11014,19 +11022,19 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1798); + setState(1800); catchClause(); - setState(1802); + setState(1804); _errHandler.sync(this); _la = _input.LA(1); while (_la==CATCH) { { { - setState(1799); + setState(1801); catchClause(); } } - setState(1804); + setState(1806); _errHandler.sync(this); _la = _input.LA(1); } @@ -11070,15 +11078,15 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1805); - match(CATCH); - setState(1806); - match(LPAREN); setState(1807); - catchFormalParameter(); + match(CATCH); setState(1808); - match(RPAREN); + match(LPAREN); setState(1809); + catchFormalParameter(); + setState(1810); + match(RPAREN); + setState(1811); block(); } } @@ -11127,23 +11135,23 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1814); + setState(1816); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1811); + setState(1813); variableModifier(); } } - setState(1816); + setState(1818); _errHandler.sync(this); _la = _input.LA(1); } - setState(1817); + setState(1819); catchType(); - setState(1818); + setState(1820); variableDeclaratorId(); } } @@ -11189,21 +11197,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1820); + setState(1822); unannClassType(); - setState(1825); + setState(1827); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITOR) { { { - setState(1821); + setState(1823); match(BITOR); - setState(1822); + setState(1824); classType(); } } - setState(1827); + setState(1829); _errHandler.sync(this); _la = _input.LA(1); } @@ -11244,9 +11252,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1828); + setState(1830); match(FINALLY); - setState(1829); + setState(1831); block(); } } @@ -11295,26 +11303,26 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1831); - match(TRY); - setState(1832); - resourceSpecification(); setState(1833); - block(); + match(TRY); + setState(1834); + resourceSpecification(); setState(1835); + block(); + setState(1837); _la = _input.LA(1); if (_la==CATCH) { { - setState(1834); + setState(1836); catches(); } } - setState(1838); + setState(1840); _la = _input.LA(1); if (_la==FINALLY) { { - setState(1837); + setState(1839); finally_(); } } @@ -11357,20 +11365,20 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1840); + setState(1842); match(LPAREN); - setState(1841); - resourceList(); setState(1843); + resourceList(); + setState(1845); _la = _input.LA(1); if (_la==SEMI) { { - setState(1842); + setState(1844); match(SEMI); } } - setState(1845); + setState(1847); match(RPAREN); } } @@ -11413,25 +11421,25 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1847); + setState(1849); resource(); - setState(1852); + setState(1854); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,191,_ctx); + _alt = getInterpreter().adaptivePredict(_input,192,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1848); + setState(1850); match(SEMI); - setState(1849); + setState(1851); resource(); } } } - setState(1854); + setState(1856); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,191,_ctx); + _alt = getInterpreter().adaptivePredict(_input,192,_ctx); } } } @@ -11483,27 +11491,27 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(1858); + setState(1860); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { - setState(1855); + setState(1857); variableModifier(); } } - setState(1860); + setState(1862); _errHandler.sync(this); _la = _input.LA(1); } - setState(1861); - unannType(); - setState(1862); - variableDeclaratorId(); setState(1863); - match(ASSIGN); + unannType(); setState(1864); + variableDeclaratorId(); + setState(1865); + match(ASSIGN); + setState(1866); expression(); } } @@ -11552,37 +11560,37 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(1868); + setState(1870); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,193,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,194,_ctx) ) { case 1: { - setState(1866); + setState(1868); primaryNoNewArray_lfno_primary(); } break; case 2: { - setState(1867); + setState(1869); arrayCreationExpression(); } break; } - setState(1873); + setState(1875); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,194,_ctx); + _alt = getInterpreter().adaptivePredict(_input,195,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(1870); + setState(1872); primaryNoNewArray_lf_primary(); } } } - setState(1875); + setState(1877); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,194,_ctx); + _alt = getInterpreter().adaptivePredict(_input,195,_ctx); } } } @@ -11641,115 +11649,115 @@ public class Java8Parser extends Parser { enterRule(_localctx, 354, RULE_primaryNoNewArray); int _la; try { - setState(1905); + setState(1907); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,196,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,197,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1876); + setState(1878); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1877); + setState(1879); typeName(); - setState(1882); + setState(1884); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1878); + setState(1880); match(LBRACK); - setState(1879); + setState(1881); match(RBRACK); } } - setState(1884); + setState(1886); _errHandler.sync(this); _la = _input.LA(1); } - setState(1885); + setState(1887); match(DOT); - setState(1886); + setState(1888); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1888); - match(VOID); - setState(1889); - match(DOT); setState(1890); + match(VOID); + setState(1891); + match(DOT); + setState(1892); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1891); + setState(1893); match(THIS); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1892); - typeName(); - setState(1893); - match(DOT); setState(1894); + typeName(); + setState(1895); + match(DOT); + setState(1896); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1896); - match(LPAREN); - setState(1897); - expression(); setState(1898); + match(LPAREN); + setState(1899); + expression(); + setState(1900); match(RPAREN); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(1900); + setState(1902); classInstanceCreationExpression(); } break; case 8: enterOuterAlt(_localctx, 8); { - setState(1901); + setState(1903); fieldAccess(); } break; case 9: enterOuterAlt(_localctx, 9); { - setState(1902); + setState(1904); arrayAccess(); } break; case 10: enterOuterAlt(_localctx, 10); { - setState(1903); + setState(1905); methodInvocation(); } break; case 11: enterOuterAlt(_localctx, 11); { - setState(1904); + setState(1906); methodReference(); } break; @@ -11841,108 +11849,108 @@ public class Java8Parser extends Parser { enterRule(_localctx, 358, RULE_primaryNoNewArray_lfno_arrayAccess); int _la; try { - setState(1937); + setState(1939); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,199,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1909); + setState(1911); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1910); + setState(1912); typeName(); - setState(1915); + setState(1917); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1911); + setState(1913); match(LBRACK); - setState(1912); + setState(1914); match(RBRACK); } } - setState(1917); + setState(1919); _errHandler.sync(this); _la = _input.LA(1); } - setState(1918); + setState(1920); match(DOT); - setState(1919); + setState(1921); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1921); - match(VOID); - setState(1922); - match(DOT); setState(1923); + match(VOID); + setState(1924); + match(DOT); + setState(1925); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1924); + setState(1926); match(THIS); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1925); - typeName(); - setState(1926); - match(DOT); setState(1927); + typeName(); + setState(1928); + match(DOT); + setState(1929); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1929); - match(LPAREN); - setState(1930); - expression(); setState(1931); + match(LPAREN); + setState(1932); + expression(); + setState(1933); match(RPAREN); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(1933); + setState(1935); classInstanceCreationExpression(); } break; case 8: enterOuterAlt(_localctx, 8); { - setState(1934); + setState(1936); fieldAccess(); } break; case 9: enterOuterAlt(_localctx, 9); { - setState(1935); + setState(1937); methodInvocation(); } break; case 10: enterOuterAlt(_localctx, 10); { - setState(1936); + setState(1938); methodReference(); } break; @@ -11993,41 +12001,41 @@ public class Java8Parser extends Parser { PrimaryNoNewArray_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 360, RULE_primaryNoNewArray_lf_primary); try { - setState(1944); + setState(1946); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,199,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,200,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1939); + setState(1941); classInstanceCreationExpression_lf_primary(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1940); + setState(1942); fieldAccess_lf_primary(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1941); + setState(1943); arrayAccess_lf_primary(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1942); + setState(1944); methodInvocation_lf_primary(); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1943); + setState(1945); methodReference_lf_primary(); } break; @@ -12109,34 +12117,34 @@ public class Java8Parser extends Parser { PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 364, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary); try { - setState(1952); + setState(1954); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,200,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,201,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1948); + setState(1950); classInstanceCreationExpression_lf_primary(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1949); + setState(1951); fieldAccess_lf_primary(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1950); + setState(1952); methodInvocation_lf_primary(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1951); + setState(1953); methodReference_lf_primary(); } break; @@ -12200,142 +12208,142 @@ public class Java8Parser extends Parser { enterRule(_localctx, 366, RULE_primaryNoNewArray_lfno_primary); int _la; try { - setState(1994); + setState(1996); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,203,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,204,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1954); + setState(1956); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1955); + setState(1957); typeName(); - setState(1960); + setState(1962); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1956); + setState(1958); match(LBRACK); - setState(1957); + setState(1959); match(RBRACK); } } - setState(1962); + setState(1964); _errHandler.sync(this); _la = _input.LA(1); } - setState(1963); + setState(1965); match(DOT); - setState(1964); + setState(1966); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(1966); + setState(1968); unannPrimitiveType(); - setState(1971); + setState(1973); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(1967); + setState(1969); match(LBRACK); - setState(1968); + setState(1970); match(RBRACK); } } - setState(1973); + setState(1975); _errHandler.sync(this); _la = _input.LA(1); } - setState(1974); + setState(1976); match(DOT); - setState(1975); + setState(1977); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(1977); - match(VOID); - setState(1978); - match(DOT); setState(1979); + match(VOID); + setState(1980); + match(DOT); + setState(1981); match(CLASS); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(1980); + setState(1982); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(1981); - typeName(); - setState(1982); - match(DOT); setState(1983); + typeName(); + setState(1984); + match(DOT); + setState(1985); match(THIS); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(1985); - match(LPAREN); - setState(1986); - expression(); setState(1987); + match(LPAREN); + setState(1988); + expression(); + setState(1989); match(RPAREN); } break; case 8: enterOuterAlt(_localctx, 8); { - setState(1989); + setState(1991); classInstanceCreationExpression_lfno_primary(); } break; case 9: enterOuterAlt(_localctx, 9); { - setState(1990); + setState(1992); fieldAccess_lfno_primary(); } break; case 10: enterOuterAlt(_localctx, 10); { - setState(1991); + setState(1993); arrayAccess_lfno_primary(); } break; case 11: enterOuterAlt(_localctx, 11); { - setState(1992); + setState(1994); methodInvocation_lfno_primary(); } break; case 12: enterOuterAlt(_localctx, 12); { - setState(1993); + setState(1995); methodReference_lfno_primary(); } break; @@ -12430,135 +12438,135 @@ public class Java8Parser extends Parser { enterRule(_localctx, 370, RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary); int _la; try { - setState(2037); + setState(2039); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,206,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,207,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(1998); + setState(2000); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(1999); + setState(2001); typeName(); - setState(2004); + setState(2006); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(2000); + setState(2002); match(LBRACK); - setState(2001); + setState(2003); match(RBRACK); } } - setState(2006); + setState(2008); _errHandler.sync(this); _la = _input.LA(1); } - setState(2007); + setState(2009); match(DOT); - setState(2008); + setState(2010); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2010); + setState(2012); unannPrimitiveType(); - setState(2015); + setState(2017); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(2011); + setState(2013); match(LBRACK); - setState(2012); + setState(2014); match(RBRACK); } } - setState(2017); + setState(2019); _errHandler.sync(this); _la = _input.LA(1); } - setState(2018); + setState(2020); match(DOT); - setState(2019); + setState(2021); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2021); - match(VOID); - setState(2022); - match(DOT); setState(2023); + match(VOID); + setState(2024); + match(DOT); + setState(2025); match(CLASS); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2024); + setState(2026); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(2025); - typeName(); - setState(2026); - match(DOT); setState(2027); + typeName(); + setState(2028); + match(DOT); + setState(2029); match(THIS); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(2029); - match(LPAREN); - setState(2030); - expression(); setState(2031); + match(LPAREN); + setState(2032); + expression(); + setState(2033); match(RPAREN); } break; case 8: enterOuterAlt(_localctx, 8); { - setState(2033); + setState(2035); classInstanceCreationExpression_lfno_primary(); } break; case 9: enterOuterAlt(_localctx, 9); { - setState(2034); + setState(2036); fieldAccess_lfno_primary(); } break; case 10: enterOuterAlt(_localctx, 10); { - setState(2035); + setState(2037); methodInvocation_lfno_primary(); } break; case 11: enterOuterAlt(_localctx, 11); { - setState(2036); + setState(2038); methodReference_lfno_primary(); } break; @@ -12623,96 +12631,96 @@ public class Java8Parser extends Parser { enterRule(_localctx, 372, RULE_classInstanceCreationExpression); int _la; try { - setState(2122); + setState(2124); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,224,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,225,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2039); - match(NEW); setState(2041); + match(NEW); + setState(2043); _la = _input.LA(1); if (_la==LT) { { - setState(2040); + setState(2042); typeArguments(); } } - setState(2046); + setState(2048); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2043); + setState(2045); annotation(); } } - setState(2048); + setState(2050); _errHandler.sync(this); _la = _input.LA(1); } - setState(2049); + setState(2051); match(Identifier); - setState(2060); + setState(2062); _errHandler.sync(this); _la = _input.LA(1); while (_la==DOT) { { { - setState(2050); + setState(2052); match(DOT); - setState(2054); + setState(2056); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2051); + setState(2053); annotation(); } } - setState(2056); + setState(2058); _errHandler.sync(this); _la = _input.LA(1); } - setState(2057); + setState(2059); match(Identifier); } } - setState(2062); + setState(2064); _errHandler.sync(this); _la = _input.LA(1); } - setState(2064); + setState(2066); _la = _input.LA(1); if (_la==LT) { { - setState(2063); + setState(2065); typeArgumentsOrDiamond(); } } - setState(2066); - match(LPAREN); setState(2068); + match(LPAREN); + setState(2070); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2067); + setState(2069); argumentList(); } } - setState(2070); - match(RPAREN); setState(2072); + match(RPAREN); + setState(2074); _la = _input.LA(1); if (_la==LBRACE) { { - setState(2071); + setState(2073); classBody(); } } @@ -12722,64 +12730,64 @@ public class Java8Parser extends Parser { case 2: enterOuterAlt(_localctx, 2); { - setState(2074); - expressionName(); - setState(2075); - match(DOT); setState(2076); - match(NEW); + expressionName(); + setState(2077); + match(DOT); setState(2078); + match(NEW); + setState(2080); _la = _input.LA(1); if (_la==LT) { { - setState(2077); + setState(2079); typeArguments(); } } - setState(2083); + setState(2085); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2080); + setState(2082); annotation(); } } - setState(2085); + setState(2087); _errHandler.sync(this); _la = _input.LA(1); } - setState(2086); - match(Identifier); setState(2088); + match(Identifier); + setState(2090); _la = _input.LA(1); if (_la==LT) { { - setState(2087); + setState(2089); typeArgumentsOrDiamond(); } } - setState(2090); - match(LPAREN); setState(2092); + match(LPAREN); + setState(2094); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2091); + setState(2093); argumentList(); } } - setState(2094); - match(RPAREN); setState(2096); + match(RPAREN); + setState(2098); _la = _input.LA(1); if (_la==LBRACE) { { - setState(2095); + setState(2097); classBody(); } } @@ -12789,64 +12797,64 @@ public class Java8Parser extends Parser { case 3: enterOuterAlt(_localctx, 3); { - setState(2098); - primary(); - setState(2099); - match(DOT); setState(2100); - match(NEW); + primary(); + setState(2101); + match(DOT); setState(2102); + match(NEW); + setState(2104); _la = _input.LA(1); if (_la==LT) { { - setState(2101); + setState(2103); typeArguments(); } } - setState(2107); + setState(2109); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2104); + setState(2106); annotation(); } } - setState(2109); + setState(2111); _errHandler.sync(this); _la = _input.LA(1); } - setState(2110); - match(Identifier); setState(2112); + match(Identifier); + setState(2114); _la = _input.LA(1); if (_la==LT) { { - setState(2111); + setState(2113); typeArgumentsOrDiamond(); } } - setState(2114); - match(LPAREN); setState(2116); + match(LPAREN); + setState(2118); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2115); + setState(2117); argumentList(); } } - setState(2118); - match(RPAREN); setState(2120); + match(RPAREN); + setState(2122); _la = _input.LA(1); if (_la==LBRACE) { { - setState(2119); + setState(2121); classBody(); } } @@ -12907,63 +12915,63 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2124); + setState(2126); match(DOT); - setState(2125); - match(NEW); setState(2127); + match(NEW); + setState(2129); _la = _input.LA(1); if (_la==LT) { { - setState(2126); + setState(2128); typeArguments(); } } - setState(2132); + setState(2134); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2129); + setState(2131); annotation(); } } - setState(2134); + setState(2136); _errHandler.sync(this); _la = _input.LA(1); } - setState(2135); - match(Identifier); setState(2137); + match(Identifier); + setState(2139); _la = _input.LA(1); if (_la==LT) { { - setState(2136); + setState(2138); typeArgumentsOrDiamond(); } } - setState(2139); - match(LPAREN); setState(2141); + match(LPAREN); + setState(2143); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2140); + setState(2142); argumentList(); } } - setState(2143); - match(RPAREN); setState(2145); + match(RPAREN); + setState(2147); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,229,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,230,_ctx) ) { case 1: { - setState(2144); + setState(2146); classBody(); } break; @@ -13026,96 +13034,96 @@ public class Java8Parser extends Parser { enterRule(_localctx, 376, RULE_classInstanceCreationExpression_lfno_primary); int _la; try { - setState(2206); + setState(2208); switch (_input.LA(1)) { case NEW: enterOuterAlt(_localctx, 1); { - setState(2147); - match(NEW); setState(2149); + match(NEW); + setState(2151); _la = _input.LA(1); if (_la==LT) { { - setState(2148); + setState(2150); typeArguments(); } } - setState(2154); + setState(2156); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2151); + setState(2153); annotation(); } } - setState(2156); + setState(2158); _errHandler.sync(this); _la = _input.LA(1); } - setState(2157); + setState(2159); match(Identifier); - setState(2168); + setState(2170); _errHandler.sync(this); _la = _input.LA(1); while (_la==DOT) { { { - setState(2158); + setState(2160); match(DOT); - setState(2162); + setState(2164); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2159); + setState(2161); annotation(); } } - setState(2164); + setState(2166); _errHandler.sync(this); _la = _input.LA(1); } - setState(2165); + setState(2167); match(Identifier); } } - setState(2170); + setState(2172); _errHandler.sync(this); _la = _input.LA(1); } - setState(2172); + setState(2174); _la = _input.LA(1); if (_la==LT) { { - setState(2171); + setState(2173); typeArgumentsOrDiamond(); } } - setState(2174); - match(LPAREN); setState(2176); + match(LPAREN); + setState(2178); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2175); + setState(2177); argumentList(); } } - setState(2178); - match(RPAREN); setState(2180); + match(RPAREN); + setState(2182); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,236,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,237,_ctx) ) { case 1: { - setState(2179); + setState(2181); classBody(); } break; @@ -13125,65 +13133,65 @@ public class Java8Parser extends Parser { case Identifier: enterOuterAlt(_localctx, 2); { - setState(2182); - expressionName(); - setState(2183); - match(DOT); setState(2184); - match(NEW); + expressionName(); + setState(2185); + match(DOT); setState(2186); + match(NEW); + setState(2188); _la = _input.LA(1); if (_la==LT) { { - setState(2185); + setState(2187); typeArguments(); } } - setState(2191); + setState(2193); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2188); + setState(2190); annotation(); } } - setState(2193); + setState(2195); _errHandler.sync(this); _la = _input.LA(1); } - setState(2194); - match(Identifier); setState(2196); + match(Identifier); + setState(2198); _la = _input.LA(1); if (_la==LT) { { - setState(2195); + setState(2197); typeArgumentsOrDiamond(); } } - setState(2198); - match(LPAREN); setState(2200); + match(LPAREN); + setState(2202); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2199); + setState(2201); argumentList(); } } - setState(2202); - match(RPAREN); setState(2204); + match(RPAREN); + setState(2206); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,241,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,242,_ctx) ) { case 1: { - setState(2203); + setState(2205); classBody(); } break; @@ -13227,22 +13235,22 @@ public class Java8Parser extends Parser { TypeArgumentsOrDiamondContext _localctx = new TypeArgumentsOrDiamondContext(_ctx, getState()); enterRule(_localctx, 378, RULE_typeArgumentsOrDiamond); try { - setState(2211); + setState(2213); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,243,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,244,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2208); + setState(2210); typeArguments(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2209); + setState(2211); match(LT); - setState(2210); + setState(2212); match(GT); } break; @@ -13285,43 +13293,43 @@ public class Java8Parser extends Parser { FieldAccessContext _localctx = new FieldAccessContext(_ctx, getState()); enterRule(_localctx, 380, RULE_fieldAccess); try { - setState(2226); + setState(2228); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,244,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,245,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2213); - primary(); - setState(2214); - match(DOT); setState(2215); + primary(); + setState(2216); + match(DOT); + setState(2217); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2217); - match(SUPER); - setState(2218); - match(DOT); setState(2219); + match(SUPER); + setState(2220); + match(DOT); + setState(2221); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2220); - typeName(); - setState(2221); - match(DOT); setState(2222); - match(SUPER); + typeName(); setState(2223); match(DOT); setState(2224); + match(SUPER); + setState(2225); + match(DOT); + setState(2226); match(Identifier); } break; @@ -13360,9 +13368,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2228); + setState(2230); match(DOT); - setState(2229); + setState(2231); match(Identifier); } } @@ -13400,31 +13408,31 @@ public class Java8Parser extends Parser { FieldAccess_lfno_primaryContext _localctx = new FieldAccess_lfno_primaryContext(_ctx, getState()); enterRule(_localctx, 384, RULE_fieldAccess_lfno_primary); try { - setState(2240); + setState(2242); switch (_input.LA(1)) { case SUPER: enterOuterAlt(_localctx, 1); { - setState(2231); - match(SUPER); - setState(2232); - match(DOT); setState(2233); + match(SUPER); + setState(2234); + match(DOT); + setState(2235); match(Identifier); } break; case Identifier: enterOuterAlt(_localctx, 2); { - setState(2234); - typeName(); - setState(2235); - match(DOT); setState(2236); - match(SUPER); + typeName(); setState(2237); match(DOT); setState(2238); + match(SUPER); + setState(2239); + match(DOT); + setState(2240); match(Identifier); } break; @@ -13483,51 +13491,51 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2252); + setState(2254); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,246,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,247,_ctx) ) { case 1: { - setState(2242); - expressionName(); - setState(2243); - match(LBRACK); setState(2244); - expression(); + expressionName(); setState(2245); + match(LBRACK); + setState(2246); + expression(); + setState(2247); match(RBRACK); } break; case 2: { - setState(2247); - primaryNoNewArray_lfno_arrayAccess(); - setState(2248); - match(LBRACK); setState(2249); - expression(); + primaryNoNewArray_lfno_arrayAccess(); setState(2250); + match(LBRACK); + setState(2251); + expression(); + setState(2252); match(RBRACK); } break; } - setState(2261); + setState(2263); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { - setState(2254); - primaryNoNewArray_lf_arrayAccess(); - setState(2255); - match(LBRACK); setState(2256); - expression(); + primaryNoNewArray_lf_arrayAccess(); setState(2257); + match(LBRACK); + setState(2258); + expression(); + setState(2259); match(RBRACK); } } - setState(2263); + setState(2265); _errHandler.sync(this); _la = _input.LA(1); } @@ -13582,36 +13590,36 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2264); - primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); - setState(2265); - match(LBRACK); setState(2266); - expression(); + primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); setState(2267); + match(LBRACK); + setState(2268); + expression(); + setState(2269); match(RBRACK); } - setState(2276); + setState(2278); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,248,_ctx); + _alt = getInterpreter().adaptivePredict(_input,249,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(2269); - primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); - setState(2270); - match(LBRACK); setState(2271); - expression(); + primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); setState(2272); + match(LBRACK); + setState(2273); + expression(); + setState(2274); match(RBRACK); } } } - setState(2278); + setState(2280); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,248,_ctx); + _alt = getInterpreter().adaptivePredict(_input,249,_ctx); } } } @@ -13666,55 +13674,55 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(2289); + setState(2291); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,249,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,250,_ctx) ) { case 1: { - setState(2279); - expressionName(); - setState(2280); - match(LBRACK); setState(2281); - expression(); + expressionName(); setState(2282); + match(LBRACK); + setState(2283); + expression(); + setState(2284); match(RBRACK); } break; case 2: { - setState(2284); - primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); - setState(2285); - match(LBRACK); setState(2286); - expression(); + primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); setState(2287); + match(LBRACK); + setState(2288); + expression(); + setState(2289); match(RBRACK); } break; } - setState(2298); + setState(2300); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,250,_ctx); + _alt = getInterpreter().adaptivePredict(_input,251,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(2291); - primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); - setState(2292); - match(LBRACK); setState(2293); - expression(); + primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); setState(2294); + match(LBRACK); + setState(2295); + expression(); + setState(2296); match(RBRACK); } } } - setState(2300); + setState(2302); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,250,_ctx); + _alt = getInterpreter().adaptivePredict(_input,251,_ctx); } } } @@ -13768,195 +13776,195 @@ public class Java8Parser extends Parser { enterRule(_localctx, 392, RULE_methodInvocation); int _la; try { - setState(2369); + setState(2371); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,262,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,263,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2301); + setState(2303); methodName(); - setState(2302); - match(LPAREN); setState(2304); + match(LPAREN); + setState(2306); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2303); + setState(2305); argumentList(); } } - setState(2306); + setState(2308); match(RPAREN); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2308); + setState(2310); typeName(); - setState(2309); - match(DOT); setState(2311); + match(DOT); + setState(2313); _la = _input.LA(1); if (_la==LT) { { - setState(2310); + setState(2312); typeArguments(); } } - setState(2313); + setState(2315); match(Identifier); - setState(2314); - match(LPAREN); setState(2316); + match(LPAREN); + setState(2318); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2315); + setState(2317); argumentList(); } } - setState(2318); + setState(2320); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2320); + setState(2322); expressionName(); - setState(2321); - match(DOT); setState(2323); + match(DOT); + setState(2325); _la = _input.LA(1); if (_la==LT) { { - setState(2322); + setState(2324); typeArguments(); } } - setState(2325); + setState(2327); match(Identifier); - setState(2326); - match(LPAREN); setState(2328); + match(LPAREN); + setState(2330); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2327); + setState(2329); argumentList(); } } - setState(2330); + setState(2332); match(RPAREN); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2332); + setState(2334); primary(); - setState(2333); - match(DOT); setState(2335); + match(DOT); + setState(2337); _la = _input.LA(1); if (_la==LT) { { - setState(2334); + setState(2336); typeArguments(); } } - setState(2337); + setState(2339); match(Identifier); - setState(2338); - match(LPAREN); setState(2340); + match(LPAREN); + setState(2342); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2339); + setState(2341); argumentList(); } } - setState(2342); + setState(2344); match(RPAREN); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2344); + setState(2346); match(SUPER); - setState(2345); - match(DOT); setState(2347); + match(DOT); + setState(2349); _la = _input.LA(1); if (_la==LT) { { - setState(2346); + setState(2348); typeArguments(); } } - setState(2349); + setState(2351); match(Identifier); - setState(2350); - match(LPAREN); setState(2352); + match(LPAREN); + setState(2354); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2351); + setState(2353); argumentList(); } } - setState(2354); + setState(2356); match(RPAREN); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(2355); - typeName(); - setState(2356); - match(DOT); setState(2357); - match(SUPER); + typeName(); setState(2358); match(DOT); + setState(2359); + match(SUPER); setState(2360); + match(DOT); + setState(2362); _la = _input.LA(1); if (_la==LT) { { - setState(2359); + setState(2361); typeArguments(); } } - setState(2362); + setState(2364); match(Identifier); - setState(2363); - match(LPAREN); setState(2365); + match(LPAREN); + setState(2367); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2364); + setState(2366); argumentList(); } } - setState(2367); + setState(2369); match(RPAREN); } break; @@ -14002,31 +14010,31 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2371); - match(DOT); setState(2373); + match(DOT); + setState(2375); _la = _input.LA(1); if (_la==LT) { { - setState(2372); + setState(2374); typeArguments(); } } - setState(2375); + setState(2377); match(Identifier); - setState(2376); - match(LPAREN); setState(2378); + match(LPAREN); + setState(2380); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2377); + setState(2379); argumentList(); } } - setState(2380); + setState(2382); match(RPAREN); } } @@ -14077,162 +14085,162 @@ public class Java8Parser extends Parser { enterRule(_localctx, 396, RULE_methodInvocation_lfno_primary); int _la; try { - setState(2438); + setState(2440); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,274,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,275,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2382); + setState(2384); methodName(); - setState(2383); - match(LPAREN); setState(2385); + match(LPAREN); + setState(2387); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2384); + setState(2386); argumentList(); } } - setState(2387); + setState(2389); match(RPAREN); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2389); + setState(2391); typeName(); - setState(2390); - match(DOT); setState(2392); + match(DOT); + setState(2394); _la = _input.LA(1); if (_la==LT) { { - setState(2391); + setState(2393); typeArguments(); } } - setState(2394); + setState(2396); match(Identifier); - setState(2395); - match(LPAREN); setState(2397); + match(LPAREN); + setState(2399); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2396); + setState(2398); argumentList(); } } - setState(2399); + setState(2401); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2401); + setState(2403); expressionName(); - setState(2402); - match(DOT); setState(2404); + match(DOT); + setState(2406); _la = _input.LA(1); if (_la==LT) { { - setState(2403); + setState(2405); typeArguments(); } } - setState(2406); + setState(2408); match(Identifier); - setState(2407); - match(LPAREN); setState(2409); + match(LPAREN); + setState(2411); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2408); + setState(2410); argumentList(); } } - setState(2411); + setState(2413); match(RPAREN); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2413); + setState(2415); match(SUPER); - setState(2414); - match(DOT); setState(2416); + match(DOT); + setState(2418); _la = _input.LA(1); if (_la==LT) { { - setState(2415); + setState(2417); typeArguments(); } } - setState(2418); + setState(2420); match(Identifier); - setState(2419); - match(LPAREN); setState(2421); + match(LPAREN); + setState(2423); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2420); + setState(2422); argumentList(); } } - setState(2423); + setState(2425); match(RPAREN); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2424); - typeName(); - setState(2425); - match(DOT); setState(2426); - match(SUPER); + typeName(); setState(2427); match(DOT); + setState(2428); + match(SUPER); setState(2429); + match(DOT); + setState(2431); _la = _input.LA(1); if (_la==LT) { { - setState(2428); + setState(2430); typeArguments(); } } - setState(2431); + setState(2433); match(Identifier); - setState(2432); - match(LPAREN); setState(2434); + match(LPAREN); + setState(2436); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { - setState(2433); + setState(2435); argumentList(); } } - setState(2436); + setState(2438); match(RPAREN); } break; @@ -14277,21 +14285,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2440); + setState(2442); expression(); - setState(2445); + setState(2447); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(2441); + setState(2443); match(COMMA); - setState(2442); + setState(2444); expression(); } } - setState(2447); + setState(2449); _errHandler.sync(this); _la = _input.LA(1); } @@ -14350,141 +14358,141 @@ public class Java8Parser extends Parser { enterRule(_localctx, 400, RULE_methodReference); int _la; try { - setState(2495); + setState(2497); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,282,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,283,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2448); + setState(2450); expressionName(); - setState(2449); - match(COLONCOLON); setState(2451); + match(COLONCOLON); + setState(2453); _la = _input.LA(1); if (_la==LT) { { - setState(2450); + setState(2452); typeArguments(); } } - setState(2453); + setState(2455); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2455); + setState(2457); referenceType(); - setState(2456); - match(COLONCOLON); setState(2458); + match(COLONCOLON); + setState(2460); _la = _input.LA(1); if (_la==LT) { { - setState(2457); + setState(2459); typeArguments(); } } - setState(2460); + setState(2462); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2462); + setState(2464); primary(); - setState(2463); - match(COLONCOLON); setState(2465); + match(COLONCOLON); + setState(2467); _la = _input.LA(1); if (_la==LT) { { - setState(2464); + setState(2466); typeArguments(); } } - setState(2467); + setState(2469); match(Identifier); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2469); + setState(2471); match(SUPER); - setState(2470); - match(COLONCOLON); setState(2472); + match(COLONCOLON); + setState(2474); _la = _input.LA(1); if (_la==LT) { { - setState(2471); + setState(2473); typeArguments(); } } - setState(2474); + setState(2476); match(Identifier); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2475); - typeName(); - setState(2476); - match(DOT); setState(2477); - match(SUPER); + typeName(); setState(2478); - match(COLONCOLON); + match(DOT); + setState(2479); + match(SUPER); setState(2480); + match(COLONCOLON); + setState(2482); _la = _input.LA(1); if (_la==LT) { { - setState(2479); + setState(2481); typeArguments(); } } - setState(2482); + setState(2484); match(Identifier); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(2484); + setState(2486); classType(); - setState(2485); - match(COLONCOLON); setState(2487); + match(COLONCOLON); + setState(2489); _la = _input.LA(1); if (_la==LT) { { - setState(2486); + setState(2488); typeArguments(); } } - setState(2489); + setState(2491); match(NEW); } break; case 7: enterOuterAlt(_localctx, 7); { - setState(2491); - arrayType(); - setState(2492); - match(COLONCOLON); setState(2493); + arrayType(); + setState(2494); + match(COLONCOLON); + setState(2495); match(NEW); } break; @@ -14527,18 +14535,18 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2497); - match(COLONCOLON); setState(2499); + match(COLONCOLON); + setState(2501); _la = _input.LA(1); if (_la==LT) { { - setState(2498); + setState(2500); typeArguments(); } } - setState(2501); + setState(2503); match(Identifier); } } @@ -14592,121 +14600,121 @@ public class Java8Parser extends Parser { enterRule(_localctx, 404, RULE_methodReference_lfno_primary); int _la; try { - setState(2543); + setState(2545); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,289,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2503); + setState(2505); expressionName(); - setState(2504); - match(COLONCOLON); setState(2506); + match(COLONCOLON); + setState(2508); _la = _input.LA(1); if (_la==LT) { { - setState(2505); + setState(2507); typeArguments(); } } - setState(2508); + setState(2510); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2510); + setState(2512); referenceType(); - setState(2511); - match(COLONCOLON); setState(2513); + match(COLONCOLON); + setState(2515); _la = _input.LA(1); if (_la==LT) { { - setState(2512); + setState(2514); typeArguments(); } } - setState(2515); + setState(2517); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2517); + setState(2519); match(SUPER); - setState(2518); - match(COLONCOLON); setState(2520); + match(COLONCOLON); + setState(2522); _la = _input.LA(1); if (_la==LT) { { - setState(2519); + setState(2521); typeArguments(); } } - setState(2522); + setState(2524); match(Identifier); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2523); - typeName(); - setState(2524); - match(DOT); setState(2525); - match(SUPER); + typeName(); setState(2526); - match(COLONCOLON); + match(DOT); + setState(2527); + match(SUPER); setState(2528); + match(COLONCOLON); + setState(2530); _la = _input.LA(1); if (_la==LT) { { - setState(2527); + setState(2529); typeArguments(); } } - setState(2530); + setState(2532); match(Identifier); } break; case 5: enterOuterAlt(_localctx, 5); { - setState(2532); + setState(2534); classType(); - setState(2533); - match(COLONCOLON); setState(2535); + match(COLONCOLON); + setState(2537); _la = _input.LA(1); if (_la==LT) { { - setState(2534); + setState(2536); typeArguments(); } } - setState(2537); + setState(2539); match(NEW); } break; case 6: enterOuterAlt(_localctx, 6); { - setState(2539); - arrayType(); - setState(2540); - match(COLONCOLON); setState(2541); + arrayType(); + setState(2542); + match(COLONCOLON); + setState(2543); match(NEW); } break; @@ -14757,24 +14765,24 @@ public class Java8Parser extends Parser { ArrayCreationExpressionContext _localctx = new ArrayCreationExpressionContext(_ctx, getState()); enterRule(_localctx, 406, RULE_arrayCreationExpression); try { - setState(2567); + setState(2569); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,292,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,293,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2545); - match(NEW); - setState(2546); - primitiveType(); setState(2547); - dimExprs(); + match(NEW); + setState(2548); + primitiveType(); setState(2549); + dimExprs(); + setState(2551); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) { case 1: { - setState(2548); + setState(2550); dims(); } break; @@ -14784,18 +14792,18 @@ public class Java8Parser extends Parser { case 2: enterOuterAlt(_localctx, 2); { - setState(2551); - match(NEW); - setState(2552); - classOrInterfaceType(); setState(2553); - dimExprs(); + match(NEW); + setState(2554); + classOrInterfaceType(); setState(2555); + dimExprs(); + setState(2557); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,292,_ctx) ) { case 1: { - setState(2554); + setState(2556); dims(); } break; @@ -14805,26 +14813,26 @@ public class Java8Parser extends Parser { case 3: enterOuterAlt(_localctx, 3); { - setState(2557); - match(NEW); - setState(2558); - primitiveType(); setState(2559); - dims(); + match(NEW); setState(2560); + primitiveType(); + setState(2561); + dims(); + setState(2562); arrayInitializer(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2562); - match(NEW); - setState(2563); - classOrInterfaceType(); setState(2564); - dims(); + match(NEW); setState(2565); + classOrInterfaceType(); + setState(2566); + dims(); + setState(2567); arrayInitializer(); } break; @@ -14869,23 +14877,23 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(2569); + setState(2571); dimExpr(); - setState(2573); + setState(2575); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,293,_ctx); + _alt = getInterpreter().adaptivePredict(_input,294,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(2570); + setState(2572); dimExpr(); } } } - setState(2575); + setState(2577); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,293,_ctx); + _alt = getInterpreter().adaptivePredict(_input,294,_ctx); } } } @@ -14931,25 +14939,25 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2579); + setState(2581); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { - setState(2576); + setState(2578); annotation(); } } - setState(2581); + setState(2583); _errHandler.sync(this); _la = _input.LA(1); } - setState(2582); - match(LBRACK); - setState(2583); - expression(); setState(2584); + match(LBRACK); + setState(2585); + expression(); + setState(2586); match(RBRACK); } } @@ -14988,7 +14996,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2586); + setState(2588); expression(); } } @@ -15028,20 +15036,20 @@ public class Java8Parser extends Parser { ExpressionContext _localctx = new ExpressionContext(_ctx, getState()); enterRule(_localctx, 414, RULE_expression); try { - setState(2590); + setState(2592); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,296,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2588); + setState(2590); lambdaExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2589); + setState(2591); assignmentExpression(); } break; @@ -15085,11 +15093,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2592); - lambdaParameters(); - setState(2593); - match(ARROW); setState(2594); + lambdaParameters(); + setState(2595); + match(ARROW); + setState(2596); lambdaBody(); } } @@ -15131,42 +15139,42 @@ public class Java8Parser extends Parser { enterRule(_localctx, 418, RULE_lambdaParameters); int _la; try { - setState(2606); + setState(2608); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,297,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,298,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2596); + setState(2598); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2597); - match(LPAREN); setState(2599); + match(LPAREN); + setState(2601); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { { - setState(2598); + setState(2600); formalParameterList(); } } - setState(2601); + setState(2603); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2602); - match(LPAREN); - setState(2603); - inferredFormalParameterList(); setState(2604); + match(LPAREN); + setState(2605); + inferredFormalParameterList(); + setState(2606); match(RPAREN); } break; @@ -15209,21 +15217,21 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2608); + setState(2610); match(Identifier); - setState(2613); + setState(2615); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(2609); + setState(2611); match(COMMA); - setState(2610); + setState(2612); match(Identifier); } } - setState(2615); + setState(2617); _errHandler.sync(this); _la = _input.LA(1); } @@ -15265,7 +15273,7 @@ public class Java8Parser extends Parser { LambdaBodyContext _localctx = new LambdaBodyContext(_ctx, getState()); enterRule(_localctx, 422, RULE_lambdaBody); try { - setState(2618); + setState(2620); switch (_input.LA(1)) { case BOOLEAN: case BYTE: @@ -15296,14 +15304,14 @@ public class Java8Parser extends Parser { case AT: enterOuterAlt(_localctx, 1); { - setState(2616); + setState(2618); expression(); } break; case LBRACE: enterOuterAlt(_localctx, 2); { - setState(2617); + setState(2619); block(); } break; @@ -15347,20 +15355,20 @@ public class Java8Parser extends Parser { AssignmentExpressionContext _localctx = new AssignmentExpressionContext(_ctx, getState()); enterRule(_localctx, 424, RULE_assignmentExpression); try { - setState(2622); + setState(2624); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2620); + setState(2622); conditionalExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2621); + setState(2623); assignment(); } break; @@ -15407,11 +15415,11 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2624); - leftHandSide(); - setState(2625); - assignmentOperator(); setState(2626); + leftHandSide(); + setState(2627); + assignmentOperator(); + setState(2628); expression(); } } @@ -15454,27 +15462,27 @@ public class Java8Parser extends Parser { LeftHandSideContext _localctx = new LeftHandSideContext(_ctx, getState()); enterRule(_localctx, 428, RULE_leftHandSide); try { - setState(2631); + setState(2633); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,302,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2628); + setState(2630); expressionName(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2629); + setState(2631); fieldAccess(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2630); + setState(2632); arrayAccess(); } break; @@ -15513,7 +15521,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2633); + setState(2635); _la = _input.LA(1); if ( !(((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (ASSIGN - 66)) | (1L << (ADD_ASSIGN - 66)) | (1L << (SUB_ASSIGN - 66)) | (1L << (MUL_ASSIGN - 66)) | (1L << (DIV_ASSIGN - 66)) | (1L << (AND_ASSIGN - 66)) | (1L << (OR_ASSIGN - 66)) | (1L << (XOR_ASSIGN - 66)) | (1L << (MOD_ASSIGN - 66)) | (1L << (LSHIFT_ASSIGN - 66)) | (1L << (RSHIFT_ASSIGN - 66)) | (1L << (URSHIFT_ASSIGN - 66)))) != 0)) ) { _errHandler.recoverInline(this); @@ -15561,28 +15569,28 @@ public class Java8Parser extends Parser { ConditionalExpressionContext _localctx = new ConditionalExpressionContext(_ctx, getState()); enterRule(_localctx, 432, RULE_conditionalExpression); try { - setState(2642); + setState(2644); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,302,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,303,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2635); + setState(2637); conditionalOrExpression(0); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2636); - conditionalOrExpression(0); - setState(2637); - match(QUESTION); setState(2638); - expression(); + conditionalOrExpression(0); setState(2639); - match(COLON); + match(QUESTION); setState(2640); + expression(); + setState(2641); + match(COLON); + setState(2642); conditionalExpression(); } break; @@ -15636,13 +15644,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2645); + setState(2647); conditionalAndExpression(0); } _ctx.stop = _input.LT(-1); - setState(2652); + setState(2654); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,303,_ctx); + _alt = getInterpreter().adaptivePredict(_input,304,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15651,18 +15659,18 @@ public class Java8Parser extends Parser { { _localctx = new ConditionalOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_conditionalOrExpression); - setState(2647); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2648); - match(OR); setState(2649); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2650); + match(OR); + setState(2651); conditionalAndExpression(0); } } } - setState(2654); + setState(2656); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,303,_ctx); + _alt = getInterpreter().adaptivePredict(_input,304,_ctx); } } } @@ -15714,13 +15722,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2656); + setState(2658); inclusiveOrExpression(0); } _ctx.stop = _input.LT(-1); - setState(2663); + setState(2665); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,304,_ctx); + _alt = getInterpreter().adaptivePredict(_input,305,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15729,18 +15737,18 @@ public class Java8Parser extends Parser { { _localctx = new ConditionalAndExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_conditionalAndExpression); - setState(2658); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2659); - match(AND); setState(2660); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2661); + match(AND); + setState(2662); inclusiveOrExpression(0); } } } - setState(2665); + setState(2667); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,304,_ctx); + _alt = getInterpreter().adaptivePredict(_input,305,_ctx); } } } @@ -15792,13 +15800,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2667); + setState(2669); exclusiveOrExpression(0); } _ctx.stop = _input.LT(-1); - setState(2674); + setState(2676); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,305,_ctx); + _alt = getInterpreter().adaptivePredict(_input,306,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15807,18 +15815,18 @@ public class Java8Parser extends Parser { { _localctx = new InclusiveOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_inclusiveOrExpression); - setState(2669); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2670); - match(BITOR); setState(2671); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2672); + match(BITOR); + setState(2673); exclusiveOrExpression(0); } } } - setState(2676); + setState(2678); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,305,_ctx); + _alt = getInterpreter().adaptivePredict(_input,306,_ctx); } } } @@ -15870,13 +15878,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2678); + setState(2680); andExpression(0); } _ctx.stop = _input.LT(-1); - setState(2685); + setState(2687); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,306,_ctx); + _alt = getInterpreter().adaptivePredict(_input,307,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15885,18 +15893,18 @@ public class Java8Parser extends Parser { { _localctx = new ExclusiveOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_exclusiveOrExpression); - setState(2680); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2681); - match(CARET); setState(2682); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2683); + match(CARET); + setState(2684); andExpression(0); } } } - setState(2687); + setState(2689); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,306,_ctx); + _alt = getInterpreter().adaptivePredict(_input,307,_ctx); } } } @@ -15948,13 +15956,13 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2689); + setState(2691); equalityExpression(0); } _ctx.stop = _input.LT(-1); - setState(2696); + setState(2698); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,307,_ctx); + _alt = getInterpreter().adaptivePredict(_input,308,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); @@ -15963,18 +15971,18 @@ public class Java8Parser extends Parser { { _localctx = new AndExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_andExpression); - setState(2691); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2692); - match(BITAND); setState(2693); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2694); + match(BITAND); + setState(2695); equalityExpression(0); } } } - setState(2698); + setState(2700); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,307,_ctx); + _alt = getInterpreter().adaptivePredict(_input,308,_ctx); } } } @@ -16026,30 +16034,30 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2700); + setState(2702); relationalExpression(0); } _ctx.stop = _input.LT(-1); - setState(2710); + setState(2712); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,309,_ctx); + _alt = getInterpreter().adaptivePredict(_input,310,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2708); + setState(2710); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,308,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,309,_ctx) ) { case 1: { _localctx = new EqualityExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); - setState(2702); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2703); - match(EQUAL); setState(2704); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2705); + match(EQUAL); + setState(2706); relationalExpression(0); } break; @@ -16057,20 +16065,20 @@ public class Java8Parser extends Parser { { _localctx = new EqualityExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); - setState(2705); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2706); - match(NOTEQUAL); setState(2707); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2708); + match(NOTEQUAL); + setState(2709); relationalExpression(0); } break; } } } - setState(2712); + setState(2714); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,309,_ctx); + _alt = getInterpreter().adaptivePredict(_input,310,_ctx); } } } @@ -16125,30 +16133,30 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2714); + setState(2716); shiftExpression(0); } _ctx.stop = _input.LT(-1); - setState(2733); + setState(2735); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,311,_ctx); + _alt = getInterpreter().adaptivePredict(_input,312,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2731); + setState(2733); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,310,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,311,_ctx) ) { case 1: { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2716); - if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); - setState(2717); - match(LT); setState(2718); + if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); + setState(2719); + match(LT); + setState(2720); shiftExpression(0); } break; @@ -16156,11 +16164,11 @@ public class Java8Parser extends Parser { { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2719); - if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); - setState(2720); - match(GT); setState(2721); + if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); + setState(2722); + match(GT); + setState(2723); shiftExpression(0); } break; @@ -16168,11 +16176,11 @@ public class Java8Parser extends Parser { { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2722); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2723); - match(LE); setState(2724); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2725); + match(LE); + setState(2726); shiftExpression(0); } break; @@ -16180,11 +16188,11 @@ public class Java8Parser extends Parser { { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2725); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2726); - match(GE); setState(2727); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2728); + match(GE); + setState(2729); shiftExpression(0); } break; @@ -16192,20 +16200,20 @@ public class Java8Parser extends Parser { { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); - setState(2728); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2729); - match(INSTANCEOF); setState(2730); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2731); + match(INSTANCEOF); + setState(2732); referenceType(); } break; } } } - setState(2735); + setState(2737); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,311,_ctx); + _alt = getInterpreter().adaptivePredict(_input,312,_ctx); } } } @@ -16257,32 +16265,32 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2737); + setState(2739); additiveExpression(0); } _ctx.stop = _input.LT(-1); - setState(2754); + setState(2756); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,313,_ctx); + _alt = getInterpreter().adaptivePredict(_input,314,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2752); + setState(2754); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,312,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,313,_ctx) ) { case 1: { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2739); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2740); - match(LT); setState(2741); - match(LT); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); setState(2742); + match(LT); + setState(2743); + match(LT); + setState(2744); additiveExpression(0); } break; @@ -16290,13 +16298,13 @@ public class Java8Parser extends Parser { { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2743); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2744); - match(GT); setState(2745); - match(GT); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); setState(2746); + match(GT); + setState(2747); + match(GT); + setState(2748); additiveExpression(0); } break; @@ -16304,24 +16312,24 @@ public class Java8Parser extends Parser { { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); - setState(2747); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2748); - match(GT); setState(2749); - match(GT); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2750); match(GT); setState(2751); + match(GT); + setState(2752); + match(GT); + setState(2753); additiveExpression(0); } break; } } } - setState(2756); + setState(2758); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,313,_ctx); + _alt = getInterpreter().adaptivePredict(_input,314,_ctx); } } } @@ -16373,30 +16381,30 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2758); + setState(2760); multiplicativeExpression(0); } _ctx.stop = _input.LT(-1); - setState(2768); + setState(2770); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,315,_ctx); + _alt = getInterpreter().adaptivePredict(_input,316,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2766); + setState(2768); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,314,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,315,_ctx) ) { case 1: { _localctx = new AdditiveExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); - setState(2760); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2761); - match(ADD); setState(2762); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2763); + match(ADD); + setState(2764); multiplicativeExpression(0); } break; @@ -16404,20 +16412,20 @@ public class Java8Parser extends Parser { { _localctx = new AdditiveExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); - setState(2763); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2764); - match(SUB); setState(2765); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2766); + match(SUB); + setState(2767); multiplicativeExpression(0); } break; } } } - setState(2770); + setState(2772); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,315,_ctx); + _alt = getInterpreter().adaptivePredict(_input,316,_ctx); } } } @@ -16469,30 +16477,30 @@ public class Java8Parser extends Parser { enterOuterAlt(_localctx, 1); { { - setState(2772); + setState(2774); unaryExpression(); } _ctx.stop = _input.LT(-1); - setState(2785); + setState(2787); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,317,_ctx); + _alt = getInterpreter().adaptivePredict(_input,318,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { - setState(2783); + setState(2785); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,316,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,317,_ctx) ) { case 1: { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2774); - if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); - setState(2775); - match(MUL); setState(2776); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2777); + match(MUL); + setState(2778); unaryExpression(); } break; @@ -16500,11 +16508,11 @@ public class Java8Parser extends Parser { { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2777); - if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); - setState(2778); - match(DIV); setState(2779); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2780); + match(DIV); + setState(2781); unaryExpression(); } break; @@ -16512,20 +16520,20 @@ public class Java8Parser extends Parser { { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); - setState(2780); - if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); - setState(2781); - match(MOD); setState(2782); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2783); + match(MOD); + setState(2784); unaryExpression(); } break; } } } - setState(2787); + setState(2789); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,317,_ctx); + _alt = getInterpreter().adaptivePredict(_input,318,_ctx); } } } @@ -16571,37 +16579,37 @@ public class Java8Parser extends Parser { UnaryExpressionContext _localctx = new UnaryExpressionContext(_ctx, getState()); enterRule(_localctx, 454, RULE_unaryExpression); try { - setState(2795); + setState(2797); switch (_input.LA(1)) { case INC: enterOuterAlt(_localctx, 1); { - setState(2788); + setState(2790); preIncrementExpression(); } break; case DEC: enterOuterAlt(_localctx, 2); { - setState(2789); + setState(2791); preDecrementExpression(); } break; case ADD: enterOuterAlt(_localctx, 3); { - setState(2790); + setState(2792); match(ADD); - setState(2791); + setState(2793); unaryExpression(); } break; case SUB: enterOuterAlt(_localctx, 4); { - setState(2792); + setState(2794); match(SUB); - setState(2793); + setState(2795); unaryExpression(); } break; @@ -16630,7 +16638,7 @@ public class Java8Parser extends Parser { case AT: enterOuterAlt(_localctx, 5); { - setState(2794); + setState(2796); unaryExpressionNotPlusMinus(); } break; @@ -16673,9 +16681,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2797); + setState(2799); match(INC); - setState(2798); + setState(2800); unaryExpression(); } } @@ -16714,9 +16722,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2800); + setState(2802); match(DEC); - setState(2801); + setState(2803); unaryExpression(); } } @@ -16759,38 +16767,38 @@ public class Java8Parser extends Parser { UnaryExpressionNotPlusMinusContext _localctx = new UnaryExpressionNotPlusMinusContext(_ctx, getState()); enterRule(_localctx, 460, RULE_unaryExpressionNotPlusMinus); try { - setState(2809); + setState(2811); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,320,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2803); + setState(2805); postfixExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2804); + setState(2806); match(TILDE); - setState(2805); + setState(2807); unaryExpression(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2806); + setState(2808); match(BANG); - setState(2807); + setState(2809); unaryExpression(); } break; case 4: enterOuterAlt(_localctx, 4); { - setState(2808); + setState(2810); castExpression(); } break; @@ -16847,39 +16855,39 @@ public class Java8Parser extends Parser { int _alt; enterOuterAlt(_localctx, 1); { - setState(2813); + setState(2815); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,320,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,321,_ctx) ) { case 1: { - setState(2811); + setState(2813); primary(); } break; case 2: { - setState(2812); + setState(2814); expressionName(); } break; } - setState(2819); + setState(2821); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,322,_ctx); + _alt = getInterpreter().adaptivePredict(_input,323,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { - setState(2817); + setState(2819); switch (_input.LA(1)) { case INC: { - setState(2815); + setState(2817); postIncrementExpression_lf_postfixExpression(); } break; case DEC: { - setState(2816); + setState(2818); postDecrementExpression_lf_postfixExpression(); } break; @@ -16888,9 +16896,9 @@ public class Java8Parser extends Parser { } } } - setState(2821); + setState(2823); _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,322,_ctx); + _alt = getInterpreter().adaptivePredict(_input,323,_ctx); } } } @@ -16929,9 +16937,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2822); + setState(2824); postfixExpression(); - setState(2823); + setState(2825); match(INC); } } @@ -16967,7 +16975,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2825); + setState(2827); match(INC); } } @@ -17006,9 +17014,9 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2827); + setState(2829); postfixExpression(); - setState(2828); + setState(2830); match(DEC); } } @@ -17044,7 +17052,7 @@ public class Java8Parser extends Parser { try { enterOuterAlt(_localctx, 1); { - setState(2830); + setState(2832); match(DEC); } } @@ -17100,73 +17108,73 @@ public class Java8Parser extends Parser { enterRule(_localctx, 472, RULE_castExpression); int _la; try { - setState(2859); + setState(2861); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,325,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,326,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(2832); - match(LPAREN); - setState(2833); - primitiveType(); setState(2834); - match(RPAREN); + match(LPAREN); setState(2835); + primitiveType(); + setState(2836); + match(RPAREN); + setState(2837); unaryExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { - setState(2837); + setState(2839); match(LPAREN); - setState(2838); + setState(2840); referenceType(); - setState(2842); + setState(2844); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITAND) { { { - setState(2839); + setState(2841); additionalBound(); } } - setState(2844); + setState(2846); _errHandler.sync(this); _la = _input.LA(1); } - setState(2845); + setState(2847); match(RPAREN); - setState(2846); + setState(2848); unaryExpressionNotPlusMinus(); } break; case 3: enterOuterAlt(_localctx, 3); { - setState(2848); + setState(2850); match(LPAREN); - setState(2849); + setState(2851); referenceType(); - setState(2853); + setState(2855); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITAND) { { { - setState(2850); + setState(2852); additionalBound(); } } - setState(2855); + setState(2857); _errHandler.sync(this); _la = _input.LA(1); } - setState(2856); + setState(2858); match(RPAREN); - setState(2857); + setState(2859); lambdaExpression(); } break; @@ -17328,7 +17336,7 @@ public class Java8Parser extends Parser { private static final int _serializedATNSegments = 2; private static final String _serializedATNSegment0 = - "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3m\u0b30\4\2\t\2\4"+ + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3m\u0b32\4\2\t\2\4"+ "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ @@ -17407,320 +17415,320 @@ public class Java8Parser extends Parser { "\u03c1\nA\fA\16A\u03c4\13A\3A\3A\5A\u03c8\nA\3B\3B\5B\u03cc\nB\3C\3C\3"+ "D\3D\3E\3E\3F\3F\3G\3G\3G\3G\3G\3G\3G\3G\3G\5G\u03df\nG\3H\7H\u03e2\n"+ "H\fH\16H\u03e5\13H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\5I\u03f4\nI"+ - "\3J\3J\3J\5J\u03f9\nJ\3J\3J\7J\u03fd\nJ\fJ\16J\u0400\13J\3J\3J\3J\5J\u0405"+ - "\nJ\5J\u0407\nJ\3K\3K\5K\u040b\nK\3L\3L\3L\5L\u0410\nL\3L\3L\5L\u0414"+ - "\nL\3M\3M\3M\3M\3M\5M\u041b\nM\3N\3N\3N\7N\u0420\nN\fN\16N\u0423\13N\3"+ - "N\3N\3N\7N\u0428\nN\fN\16N\u042b\13N\5N\u042d\nN\3O\7O\u0430\nO\fO\16"+ - "O\u0433\13O\3O\5O\u0436\nO\3O\3O\3P\3P\5P\u043c\nP\3Q\7Q\u043f\nQ\fQ\16"+ - "Q\u0442\13Q\3Q\3Q\7Q\u0446\nQ\fQ\16Q\u0449\13Q\3Q\3Q\3Q\3Q\5Q\u044f\n"+ - "Q\3R\7R\u0452\nR\fR\16R\u0455\13R\3R\3R\3R\5R\u045a\nR\3R\3R\3S\3S\3S"+ - "\3T\3T\3T\7T\u0464\nT\fT\16T\u0467\13T\3U\3U\5U\u046b\nU\3V\3V\5V\u046f"+ - "\nV\3W\3W\3X\3X\3X\3Y\7Y\u0477\nY\fY\16Y\u047a\13Y\3Y\3Y\5Y\u047e\nY\3"+ - "Y\3Y\3Z\3Z\3Z\3Z\5Z\u0486\nZ\3[\5[\u0489\n[\3[\3[\3[\5[\u048e\n[\3[\3"+ - "[\3\\\3\\\3]\3]\5]\u0496\n]\3]\5]\u0499\n]\3]\3]\3^\5^\u049e\n^\3^\3^"+ - "\3^\5^\u04a3\n^\3^\3^\3^\5^\u04a8\n^\3^\3^\3^\5^\u04ad\n^\3^\3^\3^\3^"+ - "\3^\5^\u04b4\n^\3^\3^\3^\5^\u04b9\n^\3^\3^\3^\3^\3^\3^\5^\u04c1\n^\3^"+ - "\3^\3^\5^\u04c6\n^\3^\3^\3^\5^\u04cb\n^\3_\7_\u04ce\n_\f_\16_\u04d1\13"+ - "_\3_\3_\3_\5_\u04d6\n_\3_\3_\3`\3`\5`\u04dc\n`\3`\5`\u04df\n`\3`\5`\u04e2"+ - "\n`\3`\3`\3a\3a\3a\7a\u04e9\na\fa\16a\u04ec\13a\3b\7b\u04ef\nb\fb\16b"+ - "\u04f2\13b\3b\3b\3b\5b\u04f7\nb\3b\5b\u04fa\nb\3b\5b\u04fd\nb\3c\3c\3"+ - "d\3d\7d\u0503\nd\fd\16d\u0506\13d\3e\3e\5e\u050a\ne\3f\7f\u050d\nf\ff"+ - "\16f\u0510\13f\3f\3f\3f\5f\u0515\nf\3f\5f\u0518\nf\3f\3f\3g\3g\3g\3g\3"+ - "g\3g\3g\5g\u0523\ng\3h\3h\3h\3i\3i\7i\u052a\ni\fi\16i\u052d\13i\3i\3i"+ - "\3j\3j\3j\3j\3j\5j\u0536\nj\3k\7k\u0539\nk\fk\16k\u053c\13k\3k\3k\3k\3"+ - "k\3l\3l\3l\3l\5l\u0546\nl\3m\7m\u0549\nm\fm\16m\u054c\13m\3m\3m\3m\3n"+ - "\3n\3n\3n\3n\3n\5n\u0557\nn\3o\7o\u055a\no\fo\16o\u055d\13o\3o\3o\3o\3"+ - "o\3o\3p\3p\7p\u0566\np\fp\16p\u0569\13p\3p\3p\3q\3q\3q\3q\3q\5q\u0572"+ - "\nq\3r\7r\u0575\nr\fr\16r\u0578\13r\3r\3r\3r\3r\3r\5r\u057f\nr\3r\5r\u0582"+ - "\nr\3r\3r\3s\3s\3s\5s\u0589\ns\3t\3t\3t\3u\3u\3u\5u\u0591\nu\3v\3v\3v"+ - "\3v\5v\u0597\nv\3v\3v\3w\3w\3w\7w\u059e\nw\fw\16w\u05a1\13w\3x\3x\3x\3"+ - "x\3y\3y\3y\5y\u05aa\ny\3z\3z\5z\u05ae\nz\3z\5z\u05b1\nz\3z\3z\3{\3{\3"+ - "{\7{\u05b8\n{\f{\16{\u05bb\13{\3|\3|\3|\3}\3}\3}\3}\3}\3}\3~\3~\5~\u05c8"+ - "\n~\3~\5~\u05cb\n~\3~\3~\3\177\3\177\3\177\7\177\u05d2\n\177\f\177\16"+ - "\177\u05d5\13\177\3\u0080\3\u0080\5\u0080\u05d9\n\u0080\3\u0080\3\u0080"+ - "\3\u0081\3\u0081\7\u0081\u05df\n\u0081\f\u0081\16\u0081\u05e2\13\u0081"+ - "\3\u0082\3\u0082\3\u0082\5\u0082\u05e7\n\u0082\3\u0083\3\u0083\3\u0083"+ - "\3\u0084\7\u0084\u05ed\n\u0084\f\u0084\16\u0084\u05f0\13\u0084\3\u0084"+ - "\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085\5\u0085"+ - "\u05fb\n\u0085\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086\5\u0086\u0602\n"+ - "\u0086\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087"+ - "\3\u0087\3\u0087\3\u0087\3\u0087\5\u0087\u0610\n\u0087\3\u0088\3\u0088"+ - "\3\u0089\3\u0089\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008a\3\u008b"+ - "\3\u008b\3\u008b\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c"+ - "\5\u008c\u0626\n\u008c\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d"+ - "\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008f"+ - "\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u0090\3\u0090"+ - "\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\5\u0090"+ - "\u0648\n\u0090\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0092"+ - "\3\u0092\7\u0092\u0652\n\u0092\f\u0092\16\u0092\u0655\13\u0092\3\u0092"+ - "\7\u0092\u0658\n\u0092\f\u0092\16\u0092\u065b\13\u0092\3\u0092\3\u0092"+ - "\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094\7\u0094\u0664\n\u0094\f\u0094"+ - "\16\u0094\u0667\13\u0094\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095"+ - "\3\u0095\3\u0095\3\u0095\3\u0095\5\u0095\u0673\n\u0095\3\u0096\3\u0096"+ - "\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0098\3\u0098\3\u0098"+ - "\3\u0098\3\u0098\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099"+ - "\3\u0099\3\u0099\3\u009a\3\u009a\5\u009a\u068d\n\u009a\3\u009b\3\u009b"+ - "\5\u009b\u0691\n\u009b\3\u009c\3\u009c\3\u009c\5\u009c\u0696\n\u009c\3"+ - "\u009c\3\u009c\5\u009c\u069a\n\u009c\3\u009c\3\u009c\5\u009c\u069e\n\u009c"+ - "\3\u009c\3\u009c\3\u009c\3\u009d\3\u009d\3\u009d\5\u009d\u06a6\n\u009d"+ - "\3\u009d\3\u009d\5\u009d\u06aa\n\u009d\3\u009d\3\u009d\5\u009d\u06ae\n"+ - "\u009d\3\u009d\3\u009d\3\u009d\3\u009e\3\u009e\5\u009e\u06b5\n\u009e\3"+ - "\u009f\3\u009f\3\u00a0\3\u00a0\3\u00a0\7\u00a0\u06bc\n\u00a0\f\u00a0\16"+ - "\u00a0\u06bf\13\u00a0\3\u00a1\3\u00a1\3\u00a1\7\u00a1\u06c4\n\u00a1\f"+ - "\u00a1\16\u00a1\u06c7\13\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1"+ - "\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a2\7\u00a2\u06d3\n\u00a2\f\u00a2"+ - "\16\u00a2\u06d6\13\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2"+ - "\3\u00a2\3\u00a3\3\u00a3\5\u00a3\u06e1\n\u00a3\3\u00a3\3\u00a3\3\u00a4"+ - "\3\u00a4\5\u00a4\u06e7\n\u00a4\3\u00a4\3\u00a4\3\u00a5\3\u00a5\5\u00a5"+ - "\u06ed\n\u00a5\3\u00a5\3\u00a5\3\u00a6\3\u00a6\3\u00a6\3\u00a6\3\u00a7"+ - "\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a8\3\u00a8\3\u00a8\3\u00a8"+ - "\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u0702\n\u00a8\3\u00a8\3\u00a8\3\u00a8"+ - "\5\u00a8\u0707\n\u00a8\3\u00a9\3\u00a9\7\u00a9\u070b\n\u00a9\f\u00a9\16"+ - "\u00a9\u070e\13\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa"+ - "\3\u00ab\7\u00ab\u0717\n\u00ab\f\u00ab\16\u00ab\u071a\13\u00ab\3\u00ab"+ - "\3\u00ab\3\u00ab\3\u00ac\3\u00ac\3\u00ac\7\u00ac\u0722\n\u00ac\f\u00ac"+ - "\16\u00ac\u0725\13\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ae\3\u00ae\3\u00ae"+ - "\3\u00ae\5\u00ae\u072e\n\u00ae\3\u00ae\5\u00ae\u0731\n\u00ae\3\u00af\3"+ - "\u00af\3\u00af\5\u00af\u0736\n\u00af\3\u00af\3\u00af\3\u00b0\3\u00b0\3"+ - "\u00b0\7\u00b0\u073d\n\u00b0\f\u00b0\16\u00b0\u0740\13\u00b0\3\u00b1\7"+ - "\u00b1\u0743\n\u00b1\f\u00b1\16\u00b1\u0746\13\u00b1\3\u00b1\3\u00b1\3"+ - "\u00b1\3\u00b1\3\u00b1\3\u00b2\3\u00b2\5\u00b2\u074f\n\u00b2\3\u00b2\7"+ - "\u00b2\u0752\n\u00b2\f\u00b2\16\u00b2\u0755\13\u00b2\3\u00b3\3\u00b3\3"+ - "\u00b3\3\u00b3\7\u00b3\u075b\n\u00b3\f\u00b3\16\u00b3\u075e\13\u00b3\3"+ - "\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ + "\3J\5J\u03f7\nJ\3J\3J\5J\u03fb\nJ\3J\3J\7J\u03ff\nJ\fJ\16J\u0402\13J\3"+ + "J\3J\3J\5J\u0407\nJ\5J\u0409\nJ\3K\3K\5K\u040d\nK\3L\3L\3L\5L\u0412\n"+ + "L\3L\3L\5L\u0416\nL\3M\3M\3M\3M\3M\5M\u041d\nM\3N\3N\3N\7N\u0422\nN\f"+ + "N\16N\u0425\13N\3N\3N\3N\7N\u042a\nN\fN\16N\u042d\13N\5N\u042f\nN\3O\7"+ + "O\u0432\nO\fO\16O\u0435\13O\3O\5O\u0438\nO\3O\3O\3P\3P\5P\u043e\nP\3Q"+ + "\7Q\u0441\nQ\fQ\16Q\u0444\13Q\3Q\3Q\7Q\u0448\nQ\fQ\16Q\u044b\13Q\3Q\3"+ + "Q\3Q\3Q\5Q\u0451\nQ\3R\7R\u0454\nR\fR\16R\u0457\13R\3R\3R\3R\5R\u045c"+ + "\nR\3R\3R\3S\3S\3S\3T\3T\3T\7T\u0466\nT\fT\16T\u0469\13T\3U\3U\5U\u046d"+ + "\nU\3V\3V\5V\u0471\nV\3W\3W\3X\3X\3X\3Y\7Y\u0479\nY\fY\16Y\u047c\13Y\3"+ + "Y\3Y\5Y\u0480\nY\3Y\3Y\3Z\3Z\3Z\3Z\5Z\u0488\nZ\3[\5[\u048b\n[\3[\3[\3"+ + "[\5[\u0490\n[\3[\3[\3\\\3\\\3]\3]\5]\u0498\n]\3]\5]\u049b\n]\3]\3]\3^"+ + "\5^\u04a0\n^\3^\3^\3^\5^\u04a5\n^\3^\3^\3^\5^\u04aa\n^\3^\3^\3^\5^\u04af"+ + "\n^\3^\3^\3^\3^\3^\5^\u04b6\n^\3^\3^\3^\5^\u04bb\n^\3^\3^\3^\3^\3^\3^"+ + "\5^\u04c3\n^\3^\3^\3^\5^\u04c8\n^\3^\3^\3^\5^\u04cd\n^\3_\7_\u04d0\n_"+ + "\f_\16_\u04d3\13_\3_\3_\3_\5_\u04d8\n_\3_\3_\3`\3`\5`\u04de\n`\3`\5`\u04e1"+ + "\n`\3`\5`\u04e4\n`\3`\3`\3a\3a\3a\7a\u04eb\na\fa\16a\u04ee\13a\3b\7b\u04f1"+ + "\nb\fb\16b\u04f4\13b\3b\3b\3b\5b\u04f9\nb\3b\5b\u04fc\nb\3b\5b\u04ff\n"+ + "b\3c\3c\3d\3d\7d\u0505\nd\fd\16d\u0508\13d\3e\3e\5e\u050c\ne\3f\7f\u050f"+ + "\nf\ff\16f\u0512\13f\3f\3f\3f\5f\u0517\nf\3f\5f\u051a\nf\3f\3f\3g\3g\3"+ + "g\3g\3g\3g\3g\5g\u0525\ng\3h\3h\3h\3i\3i\7i\u052c\ni\fi\16i\u052f\13i"+ + "\3i\3i\3j\3j\3j\3j\3j\5j\u0538\nj\3k\7k\u053b\nk\fk\16k\u053e\13k\3k\3"+ + "k\3k\3k\3l\3l\3l\3l\5l\u0548\nl\3m\7m\u054b\nm\fm\16m\u054e\13m\3m\3m"+ + "\3m\3n\3n\3n\3n\3n\3n\5n\u0559\nn\3o\7o\u055c\no\fo\16o\u055f\13o\3o\3"+ + "o\3o\3o\3o\3p\3p\7p\u0568\np\fp\16p\u056b\13p\3p\3p\3q\3q\3q\3q\3q\5q"+ + "\u0574\nq\3r\7r\u0577\nr\fr\16r\u057a\13r\3r\3r\3r\3r\3r\5r\u0581\nr\3"+ + "r\5r\u0584\nr\3r\3r\3s\3s\3s\5s\u058b\ns\3t\3t\3t\3u\3u\3u\5u\u0593\n"+ + "u\3v\3v\3v\3v\5v\u0599\nv\3v\3v\3w\3w\3w\7w\u05a0\nw\fw\16w\u05a3\13w"+ + "\3x\3x\3x\3x\3y\3y\3y\5y\u05ac\ny\3z\3z\5z\u05b0\nz\3z\5z\u05b3\nz\3z"+ + "\3z\3{\3{\3{\7{\u05ba\n{\f{\16{\u05bd\13{\3|\3|\3|\3}\3}\3}\3}\3}\3}\3"+ + "~\3~\5~\u05ca\n~\3~\5~\u05cd\n~\3~\3~\3\177\3\177\3\177\7\177\u05d4\n"+ + "\177\f\177\16\177\u05d7\13\177\3\u0080\3\u0080\5\u0080\u05db\n\u0080\3"+ + "\u0080\3\u0080\3\u0081\3\u0081\7\u0081\u05e1\n\u0081\f\u0081\16\u0081"+ + "\u05e4\13\u0081\3\u0082\3\u0082\3\u0082\5\u0082\u05e9\n\u0082\3\u0083"+ + "\3\u0083\3\u0083\3\u0084\7\u0084\u05ef\n\u0084\f\u0084\16\u0084\u05f2"+ + "\13\u0084\3\u0084\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085"+ + "\3\u0085\5\u0085\u05fd\n\u0085\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086"+ + "\5\u0086\u0604\n\u0086\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087"+ + "\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\5\u0087\u0612\n\u0087"+ + "\3\u0088\3\u0088\3\u0089\3\u0089\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a"+ + "\3\u008a\3\u008b\3\u008b\3\u008b\3\u008c\3\u008c\3\u008c\3\u008c\3\u008c"+ + "\3\u008c\3\u008c\5\u008c\u0628\n\u008c\3\u008d\3\u008d\3\u008d\3\u008d"+ + "\3\u008d\3\u008d\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e"+ + "\3\u008e\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f"+ + "\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090"+ + "\3\u0090\5\u0090\u064a\n\u0090\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091"+ + "\3\u0091\3\u0092\3\u0092\7\u0092\u0654\n\u0092\f\u0092\16\u0092\u0657"+ + "\13\u0092\3\u0092\7\u0092\u065a\n\u0092\f\u0092\16\u0092\u065d\13\u0092"+ + "\3\u0092\3\u0092\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094\7\u0094\u0666"+ + "\n\u0094\f\u0094\16\u0094\u0669\13\u0094\3\u0095\3\u0095\3\u0095\3\u0095"+ + "\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\5\u0095\u0675\n\u0095"+ + "\3\u0096\3\u0096\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0098"+ + "\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099"+ + "\3\u0099\3\u0099\3\u0099\3\u0099\3\u009a\3\u009a\5\u009a\u068f\n\u009a"+ + "\3\u009b\3\u009b\5\u009b\u0693\n\u009b\3\u009c\3\u009c\3\u009c\5\u009c"+ + "\u0698\n\u009c\3\u009c\3\u009c\5\u009c\u069c\n\u009c\3\u009c\3\u009c\5"+ + "\u009c\u06a0\n\u009c\3\u009c\3\u009c\3\u009c\3\u009d\3\u009d\3\u009d\5"+ + "\u009d\u06a8\n\u009d\3\u009d\3\u009d\5\u009d\u06ac\n\u009d\3\u009d\3\u009d"+ + "\5\u009d\u06b0\n\u009d\3\u009d\3\u009d\3\u009d\3\u009e\3\u009e\5\u009e"+ + "\u06b7\n\u009e\3\u009f\3\u009f\3\u00a0\3\u00a0\3\u00a0\7\u00a0\u06be\n"+ + "\u00a0\f\u00a0\16\u00a0\u06c1\13\u00a0\3\u00a1\3\u00a1\3\u00a1\7\u00a1"+ + "\u06c6\n\u00a1\f\u00a1\16\u00a1\u06c9\13\u00a1\3\u00a1\3\u00a1\3\u00a1"+ + "\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a2\7\u00a2\u06d5"+ + "\n\u00a2\f\u00a2\16\u00a2\u06d8\13\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2"+ + "\3\u00a2\3\u00a2\3\u00a2\3\u00a3\3\u00a3\5\u00a3\u06e3\n\u00a3\3\u00a3"+ + "\3\u00a3\3\u00a4\3\u00a4\5\u00a4\u06e9\n\u00a4\3\u00a4\3\u00a4\3\u00a5"+ + "\3\u00a5\5\u00a5\u06ef\n\u00a5\3\u00a5\3\u00a5\3\u00a6\3\u00a6\3\u00a6"+ + "\3\u00a6\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a8\3\u00a8"+ + "\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u0704\n\u00a8\3\u00a8"+ + "\3\u00a8\3\u00a8\5\u00a8\u0709\n\u00a8\3\u00a9\3\u00a9\7\u00a9\u070d\n"+ + "\u00a9\f\u00a9\16\u00a9\u0710\13\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa"+ + "\3\u00aa\3\u00aa\3\u00ab\7\u00ab\u0719\n\u00ab\f\u00ab\16\u00ab\u071c"+ + "\13\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ac\3\u00ac\3\u00ac\7\u00ac\u0724"+ + "\n\u00ac\f\u00ac\16\u00ac\u0727\13\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ae"+ + "\3\u00ae\3\u00ae\3\u00ae\5\u00ae\u0730\n\u00ae\3\u00ae\5\u00ae\u0733\n"+ + "\u00ae\3\u00af\3\u00af\3\u00af\5\u00af\u0738\n\u00af\3\u00af\3\u00af\3"+ + "\u00b0\3\u00b0\3\u00b0\7\u00b0\u073f\n\u00b0\f\u00b0\16\u00b0\u0742\13"+ + "\u00b0\3\u00b1\7\u00b1\u0745\n\u00b1\f\u00b1\16\u00b1\u0748\13\u00b1\3"+ + "\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b2\3\u00b2\5\u00b2\u0751\n"+ + "\u00b2\3\u00b2\7\u00b2\u0754\n\u00b2\f\u00b2\16\u00b2\u0757\13\u00b2\3"+ + "\u00b3\3\u00b3\3\u00b3\3\u00b3\7\u00b3\u075d\n\u00b3\f\u00b3\16\u00b3"+ + "\u0760\13\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ - "\3\u00b3\3\u00b3\5\u00b3\u0774\n\u00b3\3\u00b4\3\u00b4\3\u00b5\3\u00b5"+ - "\3\u00b5\3\u00b5\7\u00b5\u077c\n\u00b5\f\u00b5\16\u00b5\u077f\13\u00b5"+ + "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\5\u00b3\u0776\n\u00b3\3\u00b4\3\u00b4"+ + "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\7\u00b5\u077e\n\u00b5\f\u00b5\16\u00b5"+ + "\u0781\13\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ - "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ - "\3\u00b5\5\u00b5\u0794\n\u00b5\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6"+ - "\5\u00b6\u079b\n\u00b6\3\u00b7\3\u00b7\3\u00b8\3\u00b8\3\u00b8\3\u00b8"+ - "\5\u00b8\u07a3\n\u00b8\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9\u07a9\n"+ - "\u00b9\f\u00b9\16\u00b9\u07ac\13\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ - "\3\u00b9\3\u00b9\7\u00b9\u07b4\n\u00b9\f\u00b9\16\u00b9\u07b7\13\u00b9"+ + "\3\u00b5\3\u00b5\3\u00b5\5\u00b5\u0796\n\u00b5\3\u00b6\3\u00b6\3\u00b6"+ + "\3\u00b6\3\u00b6\5\u00b6\u079d\n\u00b6\3\u00b7\3\u00b7\3\u00b8\3\u00b8"+ + "\3\u00b8\3\u00b8\5\u00b8\u07a5\n\u00b8\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ + "\7\u00b9\u07ab\n\u00b9\f\u00b9\16\u00b9\u07ae\13\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9\u07b6\n\u00b9\f\u00b9\16\u00b9"+ + "\u07b9\13\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ - "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ - "\3\u00b9\3\u00b9\5\u00b9\u07cd\n\u00b9\3\u00ba\3\u00ba\3\u00bb\3\u00bb"+ - "\3\u00bb\3\u00bb\7\u00bb\u07d5\n\u00bb\f\u00bb\16\u00bb\u07d8\13\u00bb"+ - "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07e0\n\u00bb"+ - "\f\u00bb\16\u00bb\u07e3\13\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\5\u00b9\u07cf\n\u00b9\3\u00ba\3\u00ba"+ + "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07d7\n\u00bb\f\u00bb\16\u00bb"+ + "\u07da\13\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb"+ + "\u07e2\n\u00bb\f\u00bb\16\u00bb\u07e5\13\u00bb\3\u00bb\3\u00bb\3\u00bb"+ "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ - "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\5\u00bb\u07f8\n\u00bb\3\u00bc"+ - "\3\u00bc\5\u00bc\u07fc\n\u00bc\3\u00bc\7\u00bc\u07ff\n\u00bc\f\u00bc\16"+ - "\u00bc\u0802\13\u00bc\3\u00bc\3\u00bc\3\u00bc\7\u00bc\u0807\n\u00bc\f"+ - "\u00bc\16\u00bc\u080a\13\u00bc\3\u00bc\7\u00bc\u080d\n\u00bc\f\u00bc\16"+ - "\u00bc\u0810\13\u00bc\3\u00bc\5\u00bc\u0813\n\u00bc\3\u00bc\3\u00bc\5"+ - "\u00bc\u0817\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u081b\n\u00bc\3\u00bc\3\u00bc"+ - "\3\u00bc\3\u00bc\5\u00bc\u0821\n\u00bc\3\u00bc\7\u00bc\u0824\n\u00bc\f"+ - "\u00bc\16\u00bc\u0827\13\u00bc\3\u00bc\3\u00bc\5\u00bc\u082b\n\u00bc\3"+ - "\u00bc\3\u00bc\5\u00bc\u082f\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0833\n\u00bc"+ - "\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u0839\n\u00bc\3\u00bc\7\u00bc"+ - "\u083c\n\u00bc\f\u00bc\16\u00bc\u083f\13\u00bc\3\u00bc\3\u00bc\5\u00bc"+ - "\u0843\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0847\n\u00bc\3\u00bc\3\u00bc\5"+ - "\u00bc\u084b\n\u00bc\5\u00bc\u084d\n\u00bc\3\u00bd\3\u00bd\3\u00bd\5\u00bd"+ - "\u0852\n\u00bd\3\u00bd\7\u00bd\u0855\n\u00bd\f\u00bd\16\u00bd\u0858\13"+ - "\u00bd\3\u00bd\3\u00bd\5\u00bd\u085c\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u0860"+ - "\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u0864\n\u00bd\3\u00be\3\u00be\5\u00be"+ - "\u0868\n\u00be\3\u00be\7\u00be\u086b\n\u00be\f\u00be\16\u00be\u086e\13"+ - "\u00be\3\u00be\3\u00be\3\u00be\7\u00be\u0873\n\u00be\f\u00be\16\u00be"+ - "\u0876\13\u00be\3\u00be\7\u00be\u0879\n\u00be\f\u00be\16\u00be\u087c\13"+ - "\u00be\3\u00be\5\u00be\u087f\n\u00be\3\u00be\3\u00be\5\u00be\u0883\n\u00be"+ - "\3\u00be\3\u00be\5\u00be\u0887\n\u00be\3\u00be\3\u00be\3\u00be\3\u00be"+ - "\5\u00be\u088d\n\u00be\3\u00be\7\u00be\u0890\n\u00be\f\u00be\16\u00be"+ - "\u0893\13\u00be\3\u00be\3\u00be\5\u00be\u0897\n\u00be\3\u00be\3\u00be"+ - "\5\u00be\u089b\n\u00be\3\u00be\3\u00be\5\u00be\u089f\n\u00be\5\u00be\u08a1"+ - "\n\u00be\3\u00bf\3\u00bf\3\u00bf\5\u00bf\u08a6\n\u00bf\3\u00c0\3\u00c0"+ - "\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0"+ - "\3\u00c0\3\u00c0\5\u00c0\u08b5\n\u00c0\3\u00c1\3\u00c1\3\u00c1\3\u00c2"+ - "\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\5\u00c2"+ - "\u08c3\n\u00c2\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3"+ - "\3\u00c3\3\u00c3\3\u00c3\5\u00c3\u08cf\n\u00c3\3\u00c3\3\u00c3\3\u00c3"+ - "\3\u00c3\3\u00c3\7\u00c3\u08d6\n\u00c3\f\u00c3\16\u00c3\u08d9\13\u00c3"+ - "\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4"+ - "\3\u00c4\7\u00c4\u08e5\n\u00c4\f\u00c4\16\u00c4\u08e8\13\u00c4\3\u00c5"+ - "\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ - "\5\u00c5\u08f4\n\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5"+ - "\u08fb\n\u00c5\f\u00c5\16\u00c5\u08fe\13\u00c5\3\u00c6\3\u00c6\3\u00c6"+ - "\5\u00c6\u0903\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6"+ - "\u090a\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u090f\n\u00c6\3\u00c6\3"+ - "\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0916\n\u00c6\3\u00c6\3\u00c6\3"+ - "\u00c6\5\u00c6\u091b\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5"+ - "\u00c6\u0922\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0927\n\u00c6\3\u00c6"+ - "\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u092e\n\u00c6\3\u00c6\3\u00c6"+ - "\3\u00c6\5\u00c6\u0933\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ - "\3\u00c6\5\u00c6\u093b\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0940\n"+ - "\u00c6\3\u00c6\3\u00c6\5\u00c6\u0944\n\u00c6\3\u00c7\3\u00c7\5\u00c7\u0948"+ - "\n\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u094d\n\u00c7\3\u00c7\3\u00c7"+ - "\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0954\n\u00c8\3\u00c8\3\u00c8\3\u00c8"+ - "\3\u00c8\3\u00c8\5\u00c8\u095b\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8"+ - "\u0960\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0967\n"+ - "\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u096c\n\u00c8\3\u00c8\3\u00c8\3"+ - "\u00c8\3\u00c8\3\u00c8\5\u00c8\u0973\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5"+ - "\u00c8\u0978\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5"+ - "\u00c8\u0980\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0985\n\u00c8\3\u00c8"+ - "\3\u00c8\5\u00c8\u0989\n\u00c8\3\u00c9\3\u00c9\3\u00c9\7\u00c9\u098e\n"+ - "\u00c9\f\u00c9\16\u00c9\u0991\13\u00c9\3\u00ca\3\u00ca\3\u00ca\5\u00ca"+ - "\u0996\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u099d\n"+ - "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09a4\n\u00ca\3"+ - "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09ab\n\u00ca\3\u00ca\3"+ - "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09b3\n\u00ca\3\u00ca\3"+ - "\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09ba\n\u00ca\3\u00ca\3\u00ca\3"+ - "\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09c2\n\u00ca\3\u00cb\3\u00cb\5"+ - "\u00cb\u09c6\n\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09cd"+ - "\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09d4\n\u00cc"+ - "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09db\n\u00cc\3\u00cc"+ - "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09e3\n\u00cc\3\u00cc"+ - "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09ea\n\u00cc\3\u00cc\3\u00cc"+ - "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09f2\n\u00cc\3\u00cd\3\u00cd"+ - "\3\u00cd\3\u00cd\5\u00cd\u09f8\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ - "\5\u00cd\u09fe\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ - "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u0a0a\n\u00cd\3\u00ce\3\u00ce"+ - "\7\u00ce\u0a0e\n\u00ce\f\u00ce\16\u00ce\u0a11\13\u00ce\3\u00cf\7\u00cf"+ - "\u0a14\n\u00cf\f\u00cf\16\u00cf\u0a17\13\u00cf\3\u00cf\3\u00cf\3\u00cf"+ - "\3\u00cf\3\u00d0\3\u00d0\3\u00d1\3\u00d1\5\u00d1\u0a21\n\u00d1\3\u00d2"+ - "\3\u00d2\3\u00d2\3\u00d2\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a2a\n\u00d3"+ - "\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a31\n\u00d3\3\u00d4"+ - "\3\u00d4\3\u00d4\7\u00d4\u0a36\n\u00d4\f\u00d4\16\u00d4\u0a39\13\u00d4"+ - "\3\u00d5\3\u00d5\5\u00d5\u0a3d\n\u00d5\3\u00d6\3\u00d6\5\u00d6\u0a41\n"+ - "\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7\3\u00d8\3\u00d8\3\u00d8\5\u00d8"+ - "\u0a4a\n\u00d8\3\u00d9\3\u00d9\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da"+ - "\3\u00da\3\u00da\5\u00da\u0a55\n\u00da\3\u00db\3\u00db\3\u00db\3\u00db"+ - "\3\u00db\3\u00db\7\u00db\u0a5d\n\u00db\f\u00db\16\u00db\u0a60\13\u00db"+ - "\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\7\u00dc\u0a68\n\u00dc"+ - "\f\u00dc\16\u00dc\u0a6b\13\u00dc\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00dd"+ - "\3\u00dd\7\u00dd\u0a73\n\u00dd\f\u00dd\16\u00dd\u0a76\13\u00dd\3\u00de"+ - "\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\7\u00de\u0a7e\n\u00de\f\u00de"+ - "\16\u00de\u0a81\13\u00de\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df"+ - "\7\u00df\u0a89\n\u00df\f\u00df\16\u00df\u0a8c\13\u00df\3\u00e0\3\u00e0"+ - "\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\7\u00e0\u0a97"+ - "\n\u00e0\f\u00e0\16\u00e0\u0a9a\13\u00e0\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ + "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\5\u00bb\u07fa"+ + "\n\u00bb\3\u00bc\3\u00bc\5\u00bc\u07fe\n\u00bc\3\u00bc\7\u00bc\u0801\n"+ + "\u00bc\f\u00bc\16\u00bc\u0804\13\u00bc\3\u00bc\3\u00bc\3\u00bc\7\u00bc"+ + "\u0809\n\u00bc\f\u00bc\16\u00bc\u080c\13\u00bc\3\u00bc\7\u00bc\u080f\n"+ + "\u00bc\f\u00bc\16\u00bc\u0812\13\u00bc\3\u00bc\5\u00bc\u0815\n\u00bc\3"+ + "\u00bc\3\u00bc\5\u00bc\u0819\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u081d\n\u00bc"+ + "\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u0823\n\u00bc\3\u00bc\7\u00bc"+ + "\u0826\n\u00bc\f\u00bc\16\u00bc\u0829\13\u00bc\3\u00bc\3\u00bc\5\u00bc"+ + "\u082d\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0831\n\u00bc\3\u00bc\3\u00bc\5"+ + "\u00bc\u0835\n\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u083b\n\u00bc"+ + "\3\u00bc\7\u00bc\u083e\n\u00bc\f\u00bc\16\u00bc\u0841\13\u00bc\3\u00bc"+ + "\3\u00bc\5\u00bc\u0845\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0849\n\u00bc\3"+ + "\u00bc\3\u00bc\5\u00bc\u084d\n\u00bc\5\u00bc\u084f\n\u00bc\3\u00bd\3\u00bd"+ + "\3\u00bd\5\u00bd\u0854\n\u00bd\3\u00bd\7\u00bd\u0857\n\u00bd\f\u00bd\16"+ + "\u00bd\u085a\13\u00bd\3\u00bd\3\u00bd\5\u00bd\u085e\n\u00bd\3\u00bd\3"+ + "\u00bd\5\u00bd\u0862\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u0866\n\u00bd\3\u00be"+ + "\3\u00be\5\u00be\u086a\n\u00be\3\u00be\7\u00be\u086d\n\u00be\f\u00be\16"+ + "\u00be\u0870\13\u00be\3\u00be\3\u00be\3\u00be\7\u00be\u0875\n\u00be\f"+ + "\u00be\16\u00be\u0878\13\u00be\3\u00be\7\u00be\u087b\n\u00be\f\u00be\16"+ + "\u00be\u087e\13\u00be\3\u00be\5\u00be\u0881\n\u00be\3\u00be\3\u00be\5"+ + "\u00be\u0885\n\u00be\3\u00be\3\u00be\5\u00be\u0889\n\u00be\3\u00be\3\u00be"+ + "\3\u00be\3\u00be\5\u00be\u088f\n\u00be\3\u00be\7\u00be\u0892\n\u00be\f"+ + "\u00be\16\u00be\u0895\13\u00be\3\u00be\3\u00be\5\u00be\u0899\n\u00be\3"+ + "\u00be\3\u00be\5\u00be\u089d\n\u00be\3\u00be\3\u00be\5\u00be\u08a1\n\u00be"+ + "\5\u00be\u08a3\n\u00be\3\u00bf\3\u00bf\3\u00bf\5\u00bf\u08a8\n\u00bf\3"+ + "\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0"+ + "\3\u00c0\3\u00c0\3\u00c0\3\u00c0\5\u00c0\u08b7\n\u00c0\3\u00c1\3\u00c1"+ + "\3\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2"+ + "\3\u00c2\5\u00c2\u08c5\n\u00c2\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3"+ + "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\5\u00c3\u08d1\n\u00c3\3\u00c3"+ + "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\7\u00c3\u08d8\n\u00c3\f\u00c3\16\u00c3"+ + "\u08db\13\u00c3\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4"+ + "\3\u00c4\3\u00c4\3\u00c4\7\u00c4\u08e7\n\u00c4\f\u00c4\16\u00c4\u08ea"+ + "\13\u00c4\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ + "\3\u00c5\3\u00c5\5\u00c5\u08f6\n\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ + "\3\u00c5\7\u00c5\u08fd\n\u00c5\f\u00c5\16\u00c5\u0900\13\u00c5\3\u00c6"+ + "\3\u00c6\3\u00c6\5\u00c6\u0905\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ + "\3\u00c6\5\u00c6\u090c\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0911\n"+ + "\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0918\n\u00c6\3"+ + "\u00c6\3\u00c6\3\u00c6\5\u00c6\u091d\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3"+ + "\u00c6\3\u00c6\5\u00c6\u0924\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0929"+ + "\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0930\n\u00c6"+ + "\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0935\n\u00c6\3\u00c6\3\u00c6\3\u00c6"+ + "\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u093d\n\u00c6\3\u00c6\3\u00c6\3\u00c6"+ + "\5\u00c6\u0942\n\u00c6\3\u00c6\3\u00c6\5\u00c6\u0946\n\u00c6\3\u00c7\3"+ + "\u00c7\5\u00c7\u094a\n\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u094f\n\u00c7"+ + "\3\u00c7\3\u00c7\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0956\n\u00c8\3\u00c8"+ + "\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u095d\n\u00c8\3\u00c8\3\u00c8"+ + "\3\u00c8\5\u00c8\u0962\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8"+ + "\5\u00c8\u0969\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u096e\n\u00c8\3"+ + "\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0975\n\u00c8\3\u00c8\3"+ + "\u00c8\3\u00c8\5\u00c8\u097a\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3"+ + "\u00c8\3\u00c8\5\u00c8\u0982\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0987"+ + "\n\u00c8\3\u00c8\3\u00c8\5\u00c8\u098b\n\u00c8\3\u00c9\3\u00c9\3\u00c9"+ + "\7\u00c9\u0990\n\u00c9\f\u00c9\16\u00c9\u0993\13\u00c9\3\u00ca\3\u00ca"+ + "\3\u00ca\5\u00ca\u0998\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ + "\5\u00ca\u099f\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca"+ + "\u09a6\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09ad\n"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09b5\n"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09bc\n\u00ca\3"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09c4\n\u00ca\3"+ + "\u00cb\3\u00cb\5\u00cb\u09c8\n\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3"+ + "\u00cc\5\u00cc\u09cf\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5"+ + "\u00cc\u09d6\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09dd"+ + "\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09e5"+ + "\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09ec\n\u00cc"+ + "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09f4\n\u00cc"+ + "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09fa\n\u00cd\3\u00cd\3\u00cd"+ + "\3\u00cd\3\u00cd\5\u00cd\u0a00\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ + "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u0a0c\n\u00cd"+ + "\3\u00ce\3\u00ce\7\u00ce\u0a10\n\u00ce\f\u00ce\16\u00ce\u0a13\13\u00ce"+ + "\3\u00cf\7\u00cf\u0a16\n\u00cf\f\u00cf\16\u00cf\u0a19\13\u00cf\3\u00cf"+ + "\3\u00cf\3\u00cf\3\u00cf\3\u00d0\3\u00d0\3\u00d1\3\u00d1\5\u00d1\u0a23"+ + "\n\u00d1\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d3\3\u00d3\3\u00d3\5\u00d3"+ + "\u0a2c\n\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a33\n"+ + "\u00d3\3\u00d4\3\u00d4\3\u00d4\7\u00d4\u0a38\n\u00d4\f\u00d4\16\u00d4"+ + "\u0a3b\13\u00d4\3\u00d5\3\u00d5\5\u00d5\u0a3f\n\u00d5\3\u00d6\3\u00d6"+ + "\5\u00d6\u0a43\n\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7\3\u00d8\3\u00d8"+ + "\3\u00d8\5\u00d8\u0a4c\n\u00d8\3\u00d9\3\u00d9\3\u00da\3\u00da\3\u00da"+ + "\3\u00da\3\u00da\3\u00da\3\u00da\5\u00da\u0a57\n\u00da\3\u00db\3\u00db"+ + "\3\u00db\3\u00db\3\u00db\3\u00db\7\u00db\u0a5f\n\u00db\f\u00db\16\u00db"+ + "\u0a62\13\u00db\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\7\u00dc"+ + "\u0a6a\n\u00dc\f\u00dc\16\u00dc\u0a6d\13\u00dc\3\u00dd\3\u00dd\3\u00dd"+ + "\3\u00dd\3\u00dd\3\u00dd\7\u00dd\u0a75\n\u00dd\f\u00dd\16\u00dd\u0a78"+ + "\13\u00dd\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\7\u00de\u0a80"+ + "\n\u00de\f\u00de\16\u00de\u0a83\13\u00de\3\u00df\3\u00df\3\u00df\3\u00df"+ + "\3\u00df\3\u00df\7\u00df\u0a8b\n\u00df\f\u00df\16\u00df\u0a8e\13\u00df"+ + "\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0"+ + "\7\u00e0\u0a99\n\u00e0\f\u00e0\16\u00e0\u0a9c\13\u00e0\3\u00e1\3\u00e1"+ "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ - "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\7\u00e1\u0aae\n\u00e1\f\u00e1"+ - "\16\u00e1\u0ab1\13\u00e1\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ + "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\7\u00e1\u0ab0"+ + "\n\u00e1\f\u00e1\16\u00e1\u0ab3\13\u00e1\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ "\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ - "\3\u00e2\7\u00e2\u0ac3\n\u00e2\f\u00e2\16\u00e2\u0ac6\13\u00e2\3\u00e3"+ - "\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\7\u00e3"+ - "\u0ad1\n\u00e3\f\u00e3\16\u00e3\u0ad4\13\u00e3\3\u00e4\3\u00e4\3\u00e4"+ + "\3\u00e2\3\u00e2\3\u00e2\7\u00e2\u0ac5\n\u00e2\f\u00e2\16\u00e2\u0ac8"+ + "\13\u00e2\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3"+ + "\3\u00e3\7\u00e3\u0ad3\n\u00e3\f\u00e3\16\u00e3\u0ad6\13\u00e3\3\u00e4"+ "\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4"+ - "\7\u00e4\u0ae2\n\u00e4\f\u00e4\16\u00e4\u0ae5\13\u00e4\3\u00e5\3\u00e5"+ - "\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\5\u00e5\u0aee\n\u00e5\3\u00e6"+ - "\3\u00e6\3\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e8\3\u00e8\3\u00e8\3\u00e8"+ - "\3\u00e8\3\u00e8\5\u00e8\u0afc\n\u00e8\3\u00e9\3\u00e9\5\u00e9\u0b00\n"+ - "\u00e9\3\u00e9\3\u00e9\7\u00e9\u0b04\n\u00e9\f\u00e9\16\u00e9\u0b07\13"+ - "\u00e9\3\u00ea\3\u00ea\3\u00ea\3\u00eb\3\u00eb\3\u00ec\3\u00ec\3\u00ec"+ - "\3\u00ed\3\u00ed\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee"+ - "\3\u00ee\7\u00ee\u0b1b\n\u00ee\f\u00ee\16\u00ee\u0b1e\13\u00ee\3\u00ee"+ - "\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b26\n\u00ee\f\u00ee"+ - "\16\u00ee\u0b29\13\u00ee\3\u00ee\3\u00ee\3\u00ee\5\u00ee\u0b2e\n\u00ee"+ - "\3\u00ee\2\17\66:@\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4"+ - "\u01c6\u00ef\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64"+ - "\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088"+ - "\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0"+ - "\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8"+ - "\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0"+ - "\u00d2\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8"+ - "\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100"+ - "\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118"+ - "\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130"+ - "\u0132\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148"+ - "\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160"+ - "\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178"+ - "\u017a\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190"+ - "\u0192\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8"+ - "\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0"+ - "\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8"+ - "\u01da\2\6\3\2\65:\7\2\7\7\n\n\35\35\37\37\'\'\4\2\20\20\26\26\4\2DD]"+ - "g\u0c23\2\u01dc\3\2\2\2\4\u01e0\3\2\2\2\6\u01f0\3\2\2\2\b\u01f4\3\2\2"+ - "\2\n\u01f6\3\2\2\2\f\u01f8\3\2\2\2\16\u01fd\3\2\2\2\20\u0201\3\2\2\2\22"+ - "\u0220\3\2\2\2\24\u0222\3\2\2\2\26\u0230\3\2\2\2\30\u0237\3\2\2\2\32\u0239"+ - "\3\2\2\2\34\u023b\3\2\2\2\36\u0240\3\2\2\2 \u024e\3\2\2\2\"\u0253\3\2"+ - "\2\2$\u0268\3\2\2\2&\u026f\3\2\2\2(\u027b\3\2\2\2*\u027d\3\2\2\2,\u0280"+ - "\3\2\2\2.\u0284\3\2\2\2\60\u028e\3\2\2\2\62\u0293\3\2\2\2\64\u029e\3\2"+ - "\2\2\66\u02a0\3\2\2\28\u02b0\3\2\2\2:\u02b2\3\2\2\2<\u02c2\3\2\2\2>\u02c4"+ - "\3\2\2\2@\u02c6\3\2\2\2B\u02d2\3\2\2\2D\u02e5\3\2\2\2F\u02f3\3\2\2\2H"+ - "\u02f9\3\2\2\2J\u02fb\3\2\2\2L\u02ff\3\2\2\2N\u0305\3\2\2\2P\u030c\3\2"+ - "\2\2R\u0316\3\2\2\2T\u031a\3\2\2\2V\u031f\3\2\2\2X\u0337\3\2\2\2Z\u0339"+ - "\3\2\2\2\\\u033d\3\2\2\2^\u0345\3\2\2\2`\u0348\3\2\2\2b\u034b\3\2\2\2"+ - "d\u0353\3\2\2\2f\u0360\3\2\2\2h\u0367\3\2\2\2j\u036c\3\2\2\2l\u037d\3"+ - "\2\2\2n\u037f\3\2\2\2p\u0387\3\2\2\2r\u038c\3\2\2\2t\u0392\3\2\2\2v\u0396"+ - "\3\2\2\2x\u039a\3\2\2\2z\u039f\3\2\2\2|\u03a3\3\2\2\2~\u03bc\3\2\2\2\u0080"+ - "\u03be\3\2\2\2\u0082\u03c9\3\2\2\2\u0084\u03cd\3\2\2\2\u0086\u03cf\3\2"+ - "\2\2\u0088\u03d1\3\2\2\2\u008a\u03d3\3\2\2\2\u008c\u03de\3\2\2\2\u008e"+ - "\u03e3\3\2\2\2\u0090\u03f3\3\2\2\2\u0092\u0406\3\2\2\2\u0094\u040a\3\2"+ - "\2\2\u0096\u040c\3\2\2\2\u0098\u041a\3\2\2\2\u009a\u042c\3\2\2\2\u009c"+ - "\u0431\3\2\2\2\u009e\u043b\3\2\2\2\u00a0\u044e\3\2\2\2\u00a2\u0453\3\2"+ - "\2\2\u00a4\u045d\3\2\2\2\u00a6\u0460\3\2\2\2\u00a8\u046a\3\2\2\2\u00aa"+ - "\u046e\3\2\2\2\u00ac\u0470\3\2\2\2\u00ae\u0472\3\2\2\2\u00b0\u0478\3\2"+ - "\2\2\u00b2\u0485\3\2\2\2\u00b4\u0488\3\2\2\2\u00b6\u0491\3\2\2\2\u00b8"+ - "\u0493\3\2\2\2\u00ba\u04ca\3\2\2\2\u00bc\u04cf\3\2\2\2\u00be\u04d9\3\2"+ - "\2\2\u00c0\u04e5\3\2\2\2\u00c2\u04f0\3\2\2\2\u00c4\u04fe\3\2\2\2\u00c6"+ - "\u0500\3\2\2\2\u00c8\u0509\3\2\2\2\u00ca\u050e\3\2\2\2\u00cc\u0522\3\2"+ - "\2\2\u00ce\u0524\3\2\2\2\u00d0\u0527\3\2\2\2\u00d2\u0535\3\2\2\2\u00d4"+ - "\u053a\3\2\2\2\u00d6\u0545\3\2\2\2\u00d8\u054a\3\2\2\2\u00da\u0556\3\2"+ - "\2\2\u00dc\u055b\3\2\2\2\u00de\u0563\3\2\2\2\u00e0\u0571\3\2\2\2\u00e2"+ - "\u0576\3\2\2\2\u00e4\u0588\3\2\2\2\u00e6\u058a\3\2\2\2\u00e8\u0590\3\2"+ - "\2\2\u00ea\u0592\3\2\2\2\u00ec\u059a\3\2\2\2\u00ee\u05a2\3\2\2\2\u00f0"+ - "\u05a9\3\2\2\2\u00f2\u05ab\3\2\2\2\u00f4\u05b4\3\2\2\2\u00f6\u05bc\3\2"+ - "\2\2\u00f8\u05bf\3\2\2\2\u00fa\u05c5\3\2\2\2\u00fc\u05ce\3\2\2\2\u00fe"+ - "\u05d6\3\2\2\2\u0100\u05dc\3\2\2\2\u0102\u05e6\3\2\2\2\u0104\u05e8\3\2"+ - "\2\2\u0106\u05ee\3\2\2\2\u0108\u05fa\3\2\2\2\u010a\u0601\3\2\2\2\u010c"+ - "\u060f\3\2\2\2\u010e\u0611\3\2\2\2\u0110\u0613\3\2\2\2\u0112\u0617\3\2"+ - "\2\2\u0114\u061b\3\2\2\2\u0116\u0625\3\2\2\2\u0118\u0627\3\2\2\2\u011a"+ - "\u062d\3\2\2\2\u011c\u0635\3\2\2\2\u011e\u0647\3\2\2\2\u0120\u0649\3\2"+ - "\2\2\u0122\u064f\3\2\2\2\u0124\u065e\3\2\2\2\u0126\u0661\3\2\2\2\u0128"+ - "\u0672\3\2\2\2\u012a\u0674\3\2\2\2\u012c\u0676\3\2\2\2\u012e\u067c\3\2"+ - "\2\2\u0130\u0682\3\2\2\2\u0132\u068c\3\2\2\2\u0134\u0690\3\2\2\2\u0136"+ - "\u0692\3\2\2\2\u0138\u06a2\3\2\2\2\u013a\u06b4\3\2\2\2\u013c\u06b6\3\2"+ - "\2\2\u013e\u06b8\3\2\2\2\u0140\u06c0\3\2\2\2\u0142\u06cf\3\2\2\2\u0144"+ - "\u06de\3\2\2\2\u0146\u06e4\3\2\2\2\u0148\u06ea\3\2\2\2\u014a\u06f0\3\2"+ - "\2\2\u014c\u06f4\3\2\2\2\u014e\u0706\3\2\2\2\u0150\u0708\3\2\2\2\u0152"+ - "\u070f\3\2\2\2\u0154\u0718\3\2\2\2\u0156\u071e\3\2\2\2\u0158\u0726\3\2"+ - "\2\2\u015a\u0729\3\2\2\2\u015c\u0732\3\2\2\2\u015e\u0739\3\2\2\2\u0160"+ - "\u0744\3\2\2\2\u0162\u074e\3\2\2\2\u0164\u0773\3\2\2\2\u0166\u0775\3\2"+ - "\2\2\u0168\u0793\3\2\2\2\u016a\u079a\3\2\2\2\u016c\u079c\3\2\2\2\u016e"+ - "\u07a2\3\2\2\2\u0170\u07cc\3\2\2\2\u0172\u07ce\3\2\2\2\u0174\u07f7\3\2"+ - "\2\2\u0176\u084c\3\2\2\2\u0178\u084e\3\2\2\2\u017a\u08a0\3\2\2\2\u017c"+ - "\u08a5\3\2\2\2\u017e\u08b4\3\2\2\2\u0180\u08b6\3\2\2\2\u0182\u08c2\3\2"+ - "\2\2\u0184\u08ce\3\2\2\2\u0186\u08da\3\2\2\2\u0188\u08f3\3\2\2\2\u018a"+ - "\u0943\3\2\2\2\u018c\u0945\3\2\2\2\u018e\u0988\3\2\2\2\u0190\u098a\3\2"+ - "\2\2\u0192\u09c1\3\2\2\2\u0194\u09c3\3\2\2\2\u0196\u09f1\3\2\2\2\u0198"+ - "\u0a09\3\2\2\2\u019a\u0a0b\3\2\2\2\u019c\u0a15\3\2\2\2\u019e\u0a1c\3\2"+ - "\2\2\u01a0\u0a20\3\2\2\2\u01a2\u0a22\3\2\2\2\u01a4\u0a30\3\2\2\2\u01a6"+ - "\u0a32\3\2\2\2\u01a8\u0a3c\3\2\2\2\u01aa\u0a40\3\2\2\2\u01ac\u0a42\3\2"+ - "\2\2\u01ae\u0a49\3\2\2\2\u01b0\u0a4b\3\2\2\2\u01b2\u0a54\3\2\2\2\u01b4"+ - "\u0a56\3\2\2\2\u01b6\u0a61\3\2\2\2\u01b8\u0a6c\3\2\2\2\u01ba\u0a77\3\2"+ - "\2\2\u01bc\u0a82\3\2\2\2\u01be\u0a8d\3\2\2\2\u01c0\u0a9b\3\2\2\2\u01c2"+ - "\u0ab2\3\2\2\2\u01c4\u0ac7\3\2\2\2\u01c6\u0ad5\3\2\2\2\u01c8\u0aed\3\2"+ - "\2\2\u01ca\u0aef\3\2\2\2\u01cc\u0af2\3\2\2\2\u01ce\u0afb\3\2\2\2\u01d0"+ - "\u0aff\3\2\2\2\u01d2\u0b08\3\2\2\2\u01d4\u0b0b\3\2\2\2\u01d6\u0b0d\3\2"+ - "\2\2\u01d8\u0b10\3\2\2\2\u01da\u0b2d\3\2\2\2\u01dc\u01dd\t\2\2\2\u01dd"+ - "\3\3\2\2\2\u01de\u01e1\5\6\4\2\u01df\u01e1\5\16\b\2\u01e0\u01de\3\2\2"+ - "\2\u01e0\u01df\3\2\2\2\u01e1\5\3\2\2\2\u01e2\u01e4\5\u00e8u\2\u01e3\u01e2"+ - "\3\2\2\2\u01e4\u01e7\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6"+ - "\u01e8\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e8\u01f1\5\b\5\2\u01e9\u01eb\5\u00e8"+ - "u\2\u01ea\u01e9\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea\3\2\2\2\u01ec"+ - "\u01ed\3\2\2\2\u01ed\u01ef\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef\u01f1\7\5"+ - "\2\2\u01f0\u01e5\3\2\2\2\u01f0\u01ec\3\2\2\2\u01f1\7\3\2\2\2\u01f2\u01f5"+ - "\5\n\6\2\u01f3\u01f5\5\f\7\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3\3\2\2\2\u01f5"+ - "\t\3\2\2\2\u01f6\u01f7\t\3\2\2\u01f7\13\3\2\2\2\u01f8\u01f9\t\4\2\2\u01f9"+ - "\r\3\2\2\2\u01fa\u01fe\5\20\t\2\u01fb\u01fe\5\36\20\2\u01fc\u01fe\5 \21"+ - "\2\u01fd\u01fa\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fd\u01fc\3\2\2\2\u01fe\17"+ - "\3\2\2\2\u01ff\u0202\5\26\f\2\u0200\u0202\5\34\17\2\u0201\u01ff\3\2\2"+ - "\2\u0201\u0200\3\2\2\2\u0202\u0207\3\2\2\2\u0203\u0206\5\24\13\2\u0204"+ - "\u0206\5\32\16\2\u0205\u0203\3\2\2\2\u0205\u0204\3\2\2\2\u0206\u0209\3"+ - "\2\2\2\u0207\u0205\3\2\2\2\u0207\u0208\3\2\2\2\u0208\21\3\2\2\2\u0209"+ - "\u0207\3\2\2\2\u020a\u020c\5\u00e8u\2\u020b\u020a\3\2\2\2\u020c\u020f"+ - "\3\2\2\2\u020d\u020b\3\2\2\2\u020d\u020e\3\2\2\2\u020e\u0210\3\2\2\2\u020f"+ - "\u020d\3\2\2\2\u0210\u0212\7h\2\2\u0211\u0213\5,\27\2\u0212\u0211\3\2"+ - "\2\2\u0212\u0213\3\2\2\2\u0213\u0221\3\2\2\2\u0214\u0215\5\20\t\2\u0215"+ - "\u0219\7C\2\2\u0216\u0218\5\u00e8u\2\u0217\u0216\3\2\2\2\u0218\u021b\3"+ - "\2\2\2\u0219\u0217\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021c\3\2\2\2\u021b"+ - "\u0219\3\2\2\2\u021c\u021e\7h\2\2\u021d\u021f\5,\27\2\u021e\u021d\3\2"+ - "\2\2\u021e\u021f\3\2\2\2\u021f\u0221\3\2\2\2\u0220\u020d\3\2\2\2\u0220"+ - "\u0214\3\2\2\2\u0221\23\3\2\2\2\u0222\u0226\7C\2\2\u0223\u0225\5\u00e8"+ - "u\2\u0224\u0223\3\2\2\2\u0225\u0228\3\2\2\2\u0226\u0224\3\2\2\2\u0226"+ - "\u0227\3\2\2\2\u0227\u0229\3\2\2\2\u0228\u0226\3\2\2\2\u0229\u022b\7h"+ - "\2\2\u022a\u022c\5,\27\2\u022b\u022a\3\2\2\2\u022b\u022c\3\2\2\2\u022c"+ + "\3\u00e4\3\u00e4\7\u00e4\u0ae4\n\u00e4\f\u00e4\16\u00e4\u0ae7\13\u00e4"+ + "\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\5\u00e5\u0af0"+ + "\n\u00e5\3\u00e6\3\u00e6\3\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e8\3\u00e8"+ + "\3\u00e8\3\u00e8\3\u00e8\3\u00e8\5\u00e8\u0afe\n\u00e8\3\u00e9\3\u00e9"+ + "\5\u00e9\u0b02\n\u00e9\3\u00e9\3\u00e9\7\u00e9\u0b06\n\u00e9\f\u00e9\16"+ + "\u00e9\u0b09\13\u00e9\3\u00ea\3\u00ea\3\u00ea\3\u00eb\3\u00eb\3\u00ec"+ + "\3\u00ec\3\u00ec\3\u00ed\3\u00ed\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee"+ + "\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b1d\n\u00ee\f\u00ee\16\u00ee\u0b20"+ + "\13\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b28"+ + "\n\u00ee\f\u00ee\16\u00ee\u0b2b\13\u00ee\3\u00ee\3\u00ee\3\u00ee\5\u00ee"+ + "\u0b30\n\u00ee\3\u00ee\2\17\66:@\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0"+ + "\u01c2\u01c4\u01c6\u00ef\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&("+ + "*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084"+ + "\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c"+ + "\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4"+ + "\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc"+ + "\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4"+ + "\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc"+ + "\u00fe\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114"+ + "\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c"+ + "\u012e\u0130\u0132\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144"+ + "\u0146\u0148\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c"+ + "\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174"+ + "\u0176\u0178\u017a\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c"+ + "\u018e\u0190\u0192\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4"+ + "\u01a6\u01a8\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc"+ + "\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4"+ + "\u01d6\u01d8\u01da\2\6\3\2\65:\7\2\7\7\n\n\35\35\37\37\'\'\4\2\20\20\26"+ + "\26\4\2DD]g\u0c26\2\u01dc\3\2\2\2\4\u01e0\3\2\2\2\6\u01f0\3\2\2\2\b\u01f4"+ + "\3\2\2\2\n\u01f6\3\2\2\2\f\u01f8\3\2\2\2\16\u01fd\3\2\2\2\20\u0201\3\2"+ + "\2\2\22\u0220\3\2\2\2\24\u0222\3\2\2\2\26\u0230\3\2\2\2\30\u0237\3\2\2"+ + "\2\32\u0239\3\2\2\2\34\u023b\3\2\2\2\36\u0240\3\2\2\2 \u024e\3\2\2\2\""+ + "\u0253\3\2\2\2$\u0268\3\2\2\2&\u026f\3\2\2\2(\u027b\3\2\2\2*\u027d\3\2"+ + "\2\2,\u0280\3\2\2\2.\u0284\3\2\2\2\60\u028e\3\2\2\2\62\u0293\3\2\2\2\64"+ + "\u029e\3\2\2\2\66\u02a0\3\2\2\28\u02b0\3\2\2\2:\u02b2\3\2\2\2<\u02c2\3"+ + "\2\2\2>\u02c4\3\2\2\2@\u02c6\3\2\2\2B\u02d2\3\2\2\2D\u02e5\3\2\2\2F\u02f3"+ + "\3\2\2\2H\u02f9\3\2\2\2J\u02fb\3\2\2\2L\u02ff\3\2\2\2N\u0305\3\2\2\2P"+ + "\u030c\3\2\2\2R\u0316\3\2\2\2T\u031a\3\2\2\2V\u031f\3\2\2\2X\u0337\3\2"+ + "\2\2Z\u0339\3\2\2\2\\\u033d\3\2\2\2^\u0345\3\2\2\2`\u0348\3\2\2\2b\u034b"+ + "\3\2\2\2d\u0353\3\2\2\2f\u0360\3\2\2\2h\u0367\3\2\2\2j\u036c\3\2\2\2l"+ + "\u037d\3\2\2\2n\u037f\3\2\2\2p\u0387\3\2\2\2r\u038c\3\2\2\2t\u0392\3\2"+ + "\2\2v\u0396\3\2\2\2x\u039a\3\2\2\2z\u039f\3\2\2\2|\u03a3\3\2\2\2~\u03bc"+ + "\3\2\2\2\u0080\u03be\3\2\2\2\u0082\u03c9\3\2\2\2\u0084\u03cd\3\2\2\2\u0086"+ + "\u03cf\3\2\2\2\u0088\u03d1\3\2\2\2\u008a\u03d3\3\2\2\2\u008c\u03de\3\2"+ + "\2\2\u008e\u03e3\3\2\2\2\u0090\u03f3\3\2\2\2\u0092\u0408\3\2\2\2\u0094"+ + "\u040c\3\2\2\2\u0096\u040e\3\2\2\2\u0098\u041c\3\2\2\2\u009a\u042e\3\2"+ + "\2\2\u009c\u0433\3\2\2\2\u009e\u043d\3\2\2\2\u00a0\u0450\3\2\2\2\u00a2"+ + "\u0455\3\2\2\2\u00a4\u045f\3\2\2\2\u00a6\u0462\3\2\2\2\u00a8\u046c\3\2"+ + "\2\2\u00aa\u0470\3\2\2\2\u00ac\u0472\3\2\2\2\u00ae\u0474\3\2\2\2\u00b0"+ + "\u047a\3\2\2\2\u00b2\u0487\3\2\2\2\u00b4\u048a\3\2\2\2\u00b6\u0493\3\2"+ + "\2\2\u00b8\u0495\3\2\2\2\u00ba\u04cc\3\2\2\2\u00bc\u04d1\3\2\2\2\u00be"+ + "\u04db\3\2\2\2\u00c0\u04e7\3\2\2\2\u00c2\u04f2\3\2\2\2\u00c4\u0500\3\2"+ + "\2\2\u00c6\u0502\3\2\2\2\u00c8\u050b\3\2\2\2\u00ca\u0510\3\2\2\2\u00cc"+ + "\u0524\3\2\2\2\u00ce\u0526\3\2\2\2\u00d0\u0529\3\2\2\2\u00d2\u0537\3\2"+ + "\2\2\u00d4\u053c\3\2\2\2\u00d6\u0547\3\2\2\2\u00d8\u054c\3\2\2\2\u00da"+ + "\u0558\3\2\2\2\u00dc\u055d\3\2\2\2\u00de\u0565\3\2\2\2\u00e0\u0573\3\2"+ + "\2\2\u00e2\u0578\3\2\2\2\u00e4\u058a\3\2\2\2\u00e6\u058c\3\2\2\2\u00e8"+ + "\u0592\3\2\2\2\u00ea\u0594\3\2\2\2\u00ec\u059c\3\2\2\2\u00ee\u05a4\3\2"+ + "\2\2\u00f0\u05ab\3\2\2\2\u00f2\u05ad\3\2\2\2\u00f4\u05b6\3\2\2\2\u00f6"+ + "\u05be\3\2\2\2\u00f8\u05c1\3\2\2\2\u00fa\u05c7\3\2\2\2\u00fc\u05d0\3\2"+ + "\2\2\u00fe\u05d8\3\2\2\2\u0100\u05de\3\2\2\2\u0102\u05e8\3\2\2\2\u0104"+ + "\u05ea\3\2\2\2\u0106\u05f0\3\2\2\2\u0108\u05fc\3\2\2\2\u010a\u0603\3\2"+ + "\2\2\u010c\u0611\3\2\2\2\u010e\u0613\3\2\2\2\u0110\u0615\3\2\2\2\u0112"+ + "\u0619\3\2\2\2\u0114\u061d\3\2\2\2\u0116\u0627\3\2\2\2\u0118\u0629\3\2"+ + "\2\2\u011a\u062f\3\2\2\2\u011c\u0637\3\2\2\2\u011e\u0649\3\2\2\2\u0120"+ + "\u064b\3\2\2\2\u0122\u0651\3\2\2\2\u0124\u0660\3\2\2\2\u0126\u0663\3\2"+ + "\2\2\u0128\u0674\3\2\2\2\u012a\u0676\3\2\2\2\u012c\u0678\3\2\2\2\u012e"+ + "\u067e\3\2\2\2\u0130\u0684\3\2\2\2\u0132\u068e\3\2\2\2\u0134\u0692\3\2"+ + "\2\2\u0136\u0694\3\2\2\2\u0138\u06a4\3\2\2\2\u013a\u06b6\3\2\2\2\u013c"+ + "\u06b8\3\2\2\2\u013e\u06ba\3\2\2\2\u0140\u06c2\3\2\2\2\u0142\u06d1\3\2"+ + "\2\2\u0144\u06e0\3\2\2\2\u0146\u06e6\3\2\2\2\u0148\u06ec\3\2\2\2\u014a"+ + "\u06f2\3\2\2\2\u014c\u06f6\3\2\2\2\u014e\u0708\3\2\2\2\u0150\u070a\3\2"+ + "\2\2\u0152\u0711\3\2\2\2\u0154\u071a\3\2\2\2\u0156\u0720\3\2\2\2\u0158"+ + "\u0728\3\2\2\2\u015a\u072b\3\2\2\2\u015c\u0734\3\2\2\2\u015e\u073b\3\2"+ + "\2\2\u0160\u0746\3\2\2\2\u0162\u0750\3\2\2\2\u0164\u0775\3\2\2\2\u0166"+ + "\u0777\3\2\2\2\u0168\u0795\3\2\2\2\u016a\u079c\3\2\2\2\u016c\u079e\3\2"+ + "\2\2\u016e\u07a4\3\2\2\2\u0170\u07ce\3\2\2\2\u0172\u07d0\3\2\2\2\u0174"+ + "\u07f9\3\2\2\2\u0176\u084e\3\2\2\2\u0178\u0850\3\2\2\2\u017a\u08a2\3\2"+ + "\2\2\u017c\u08a7\3\2\2\2\u017e\u08b6\3\2\2\2\u0180\u08b8\3\2\2\2\u0182"+ + "\u08c4\3\2\2\2\u0184\u08d0\3\2\2\2\u0186\u08dc\3\2\2\2\u0188\u08f5\3\2"+ + "\2\2\u018a\u0945\3\2\2\2\u018c\u0947\3\2\2\2\u018e\u098a\3\2\2\2\u0190"+ + "\u098c\3\2\2\2\u0192\u09c3\3\2\2\2\u0194\u09c5\3\2\2\2\u0196\u09f3\3\2"+ + "\2\2\u0198\u0a0b\3\2\2\2\u019a\u0a0d\3\2\2\2\u019c\u0a17\3\2\2\2\u019e"+ + "\u0a1e\3\2\2\2\u01a0\u0a22\3\2\2\2\u01a2\u0a24\3\2\2\2\u01a4\u0a32\3\2"+ + "\2\2\u01a6\u0a34\3\2\2\2\u01a8\u0a3e\3\2\2\2\u01aa\u0a42\3\2\2\2\u01ac"+ + "\u0a44\3\2\2\2\u01ae\u0a4b\3\2\2\2\u01b0\u0a4d\3\2\2\2\u01b2\u0a56\3\2"+ + "\2\2\u01b4\u0a58\3\2\2\2\u01b6\u0a63\3\2\2\2\u01b8\u0a6e\3\2\2\2\u01ba"+ + "\u0a79\3\2\2\2\u01bc\u0a84\3\2\2\2\u01be\u0a8f\3\2\2\2\u01c0\u0a9d\3\2"+ + "\2\2\u01c2\u0ab4\3\2\2\2\u01c4\u0ac9\3\2\2\2\u01c6\u0ad7\3\2\2\2\u01c8"+ + "\u0aef\3\2\2\2\u01ca\u0af1\3\2\2\2\u01cc\u0af4\3\2\2\2\u01ce\u0afd\3\2"+ + "\2\2\u01d0\u0b01\3\2\2\2\u01d2\u0b0a\3\2\2\2\u01d4\u0b0d\3\2\2\2\u01d6"+ + "\u0b0f\3\2\2\2\u01d8\u0b12\3\2\2\2\u01da\u0b2f\3\2\2\2\u01dc\u01dd\t\2"+ + "\2\2\u01dd\3\3\2\2\2\u01de\u01e1\5\6\4\2\u01df\u01e1\5\16\b\2\u01e0\u01de"+ + "\3\2\2\2\u01e0\u01df\3\2\2\2\u01e1\5\3\2\2\2\u01e2\u01e4\5\u00e8u\2\u01e3"+ + "\u01e2\3\2\2\2\u01e4\u01e7\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2"+ + "\2\2\u01e6\u01e8\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e8\u01f1\5\b\5\2\u01e9"+ + "\u01eb\5\u00e8u\2\u01ea\u01e9\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea"+ + "\3\2\2\2\u01ec\u01ed\3\2\2\2\u01ed\u01ef\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef"+ + "\u01f1\7\5\2\2\u01f0\u01e5\3\2\2\2\u01f0\u01ec\3\2\2\2\u01f1\7\3\2\2\2"+ + "\u01f2\u01f5\5\n\6\2\u01f3\u01f5\5\f\7\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3"+ + "\3\2\2\2\u01f5\t\3\2\2\2\u01f6\u01f7\t\3\2\2\u01f7\13\3\2\2\2\u01f8\u01f9"+ + "\t\4\2\2\u01f9\r\3\2\2\2\u01fa\u01fe\5\20\t\2\u01fb\u01fe\5\36\20\2\u01fc"+ + "\u01fe\5 \21\2\u01fd\u01fa\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fd\u01fc\3\2"+ + "\2\2\u01fe\17\3\2\2\2\u01ff\u0202\5\26\f\2\u0200\u0202\5\34\17\2\u0201"+ + "\u01ff\3\2\2\2\u0201\u0200\3\2\2\2\u0202\u0207\3\2\2\2\u0203\u0206\5\24"+ + "\13\2\u0204\u0206\5\32\16\2\u0205\u0203\3\2\2\2\u0205\u0204\3\2\2\2\u0206"+ + "\u0209\3\2\2\2\u0207\u0205\3\2\2\2\u0207\u0208\3\2\2\2\u0208\21\3\2\2"+ + "\2\u0209\u0207\3\2\2\2\u020a\u020c\5\u00e8u\2\u020b\u020a\3\2\2\2\u020c"+ + "\u020f\3\2\2\2\u020d\u020b\3\2\2\2\u020d\u020e\3\2\2\2\u020e\u0210\3\2"+ + "\2\2\u020f\u020d\3\2\2\2\u0210\u0212\7h\2\2\u0211\u0213\5,\27\2\u0212"+ + "\u0211\3\2\2\2\u0212\u0213\3\2\2\2\u0213\u0221\3\2\2\2\u0214\u0215\5\20"+ + "\t\2\u0215\u0219\7C\2\2\u0216\u0218\5\u00e8u\2\u0217\u0216\3\2\2\2\u0218"+ + "\u021b\3\2\2\2\u0219\u0217\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021c\3\2"+ + "\2\2\u021b\u0219\3\2\2\2\u021c\u021e\7h\2\2\u021d\u021f\5,\27\2\u021e"+ + "\u021d\3\2\2\2\u021e\u021f\3\2\2\2\u021f\u0221\3\2\2\2\u0220\u020d\3\2"+ + "\2\2\u0220\u0214\3\2\2\2\u0221\23\3\2\2\2\u0222\u0226\7C\2\2\u0223\u0225"+ + "\5\u00e8u\2\u0224\u0223\3\2\2\2\u0225\u0228\3\2\2\2\u0226\u0224\3\2\2"+ + "\2\u0226\u0227\3\2\2\2\u0227\u0229\3\2\2\2\u0228\u0226\3\2\2\2\u0229\u022b"+ + "\7h\2\2\u022a\u022c\5,\27\2\u022b\u022a\3\2\2\2\u022b\u022c\3\2\2\2\u022c"+ "\25\3\2\2\2\u022d\u022f\5\u00e8u\2\u022e\u022d\3\2\2\2\u022f\u0232\3\2"+ "\2\2\u0230\u022e\3\2\2\2\u0230\u0231\3\2\2\2\u0231\u0233\3\2\2\2\u0232"+ "\u0230\3\2\2\2\u0233\u0235\7h\2\2\u0234\u0236\5,\27\2\u0235\u0234\3\2"+ @@ -17872,689 +17880,690 @@ public class Java8Parser extends Parser { "\u03f4\7 \2\2\u03f2\u03f4\7)\2\2\u03f3\u03e9\3\2\2\2\u03f3\u03ea\3\2\2"+ "\2\u03f3\u03eb\3\2\2\2\u03f3\u03ec\3\2\2\2\u03f3\u03ed\3\2\2\2\u03f3\u03ee"+ "\3\2\2\2\u03f3\u03ef\3\2\2\2\u03f3\u03f0\3\2\2\2\u03f3\u03f1\3\2\2\2\u03f3"+ - "\u03f2\3\2\2\2\u03f4\u0091\3\2\2\2\u03f5\u03f6\5\u0094K\2\u03f6\u03f8"+ - "\5\u0096L\2\u03f7\u03f9\5\u00a4S\2\u03f8\u03f7\3\2\2\2\u03f8\u03f9\3\2"+ - "\2\2\u03f9\u0407\3\2\2\2\u03fa\u03fe\5Z.\2\u03fb\u03fd\5\u00e8u\2\u03fc"+ - "\u03fb\3\2\2\2\u03fd\u0400\3\2\2\2\u03fe\u03fc\3\2\2\2\u03fe\u03ff\3\2"+ - "\2\2\u03ff\u0401\3\2\2\2\u0400\u03fe\3\2\2\2\u0401\u0402\5\u0094K\2\u0402"+ - "\u0404\5\u0096L\2\u0403\u0405\5\u00a4S\2\u0404\u0403\3\2\2\2\u0404\u0405"+ - "\3\2\2\2\u0405\u0407\3\2\2\2\u0406\u03f5\3\2\2\2\u0406\u03fa\3\2\2\2\u0407"+ - "\u0093\3\2\2\2\u0408\u040b\5v<\2\u0409\u040b\7\62\2\2\u040a\u0408\3\2"+ - "\2\2\u040a\u0409\3\2\2\2\u040b\u0095\3\2\2\2\u040c\u040d\7h\2\2\u040d"+ - "\u040f\7;\2\2\u040e\u0410\5\u0098M\2\u040f\u040e\3\2\2\2\u040f\u0410\3"+ - "\2\2\2\u0410\u0411\3\2\2\2\u0411\u0413\7<\2\2\u0412\u0414\5\"\22\2\u0413"+ - "\u0412\3\2\2\2\u0413\u0414\3\2\2\2\u0414\u0097\3\2\2\2\u0415\u0416\5\u009a"+ - "N\2\u0416\u0417\7B\2\2\u0417\u0418\5\u00a0Q\2\u0418\u041b\3\2\2\2\u0419"+ - "\u041b\5\u00a0Q\2\u041a\u0415\3\2\2\2\u041a\u0419\3\2\2\2\u041b\u0099"+ - "\3\2\2\2\u041c\u0421\5\u009cO\2\u041d\u041e\7B\2\2\u041e\u0420\5\u009c"+ - "O\2\u041f\u041d\3\2\2\2\u0420\u0423\3\2\2\2\u0421\u041f\3\2\2\2\u0421"+ - "\u0422\3\2\2\2\u0422\u042d\3\2\2\2\u0423\u0421\3\2\2\2\u0424\u0429\5\u00a2"+ - "R\2\u0425\u0426\7B\2\2\u0426\u0428\5\u009cO\2\u0427\u0425\3\2\2\2\u0428"+ - "\u042b\3\2\2\2\u0429\u0427\3\2\2\2\u0429\u042a\3\2\2\2\u042a\u042d\3\2"+ - "\2\2\u042b\u0429\3\2\2\2\u042c\u041c\3\2\2\2\u042c\u0424\3\2\2\2\u042d"+ - "\u009b\3\2\2\2\u042e\u0430\5\u009eP\2\u042f\u042e\3\2\2\2\u0430\u0433"+ - "\3\2\2\2\u0431\u042f\3\2\2\2\u0431\u0432\3\2\2\2\u0432\u0435\3\2\2\2\u0433"+ - "\u0431\3\2\2\2\u0434\u0436\5v<\2\u0435\u0434\3\2\2\2\u0435\u0436\3\2\2"+ - "\2\u0436\u0437\3\2\2\2\u0437\u0438\5r:\2\u0438\u009d\3\2\2\2\u0439\u043c"+ - "\5\u00e8u\2\u043a\u043c\7\24\2\2\u043b\u0439\3\2\2\2\u043b\u043a\3\2\2"+ - "\2\u043c\u009f\3\2\2\2\u043d\u043f\5\u009eP\2\u043e\u043d\3\2\2\2\u043f"+ - "\u0442\3\2\2\2\u0440\u043e\3\2\2\2\u0440\u0441\3\2\2\2\u0441\u0443\3\2"+ - "\2\2\u0442\u0440\3\2\2\2\u0443\u0447\5v<\2\u0444\u0446\5\u00e8u\2\u0445"+ - "\u0444\3\2\2\2\u0446\u0449\3\2\2\2\u0447\u0445\3\2\2\2\u0447\u0448\3\2"+ - "\2\2\u0448\u044a\3\2\2\2\u0449\u0447\3\2\2\2\u044a\u044b\7j\2\2\u044b"+ - "\u044c\5r:\2\u044c\u044f\3\2\2\2\u044d\u044f\5\u009cO\2\u044e\u0440\3"+ - "\2\2\2\u044e\u044d\3\2\2\2\u044f\u00a1\3\2\2\2\u0450\u0452\5\u00e8u\2"+ - "\u0451\u0450\3\2\2\2\u0452\u0455\3\2\2\2\u0453\u0451\3\2\2\2\u0453\u0454"+ - "\3\2\2\2\u0454\u0456\3\2\2\2\u0455\u0453\3\2\2\2\u0456\u0459\5v<\2\u0457"+ - "\u0458\7h\2\2\u0458\u045a\7C\2\2\u0459\u0457\3\2\2\2\u0459\u045a\3\2\2"+ - "\2\u045a\u045b\3\2\2\2\u045b\u045c\7-\2\2\u045c\u00a3\3\2\2\2\u045d\u045e"+ - "\7/\2\2\u045e\u045f\5\u00a6T\2\u045f\u00a5\3\2\2\2\u0460\u0465\5\u00a8"+ - "U\2\u0461\u0462\7B\2\2\u0462\u0464\5\u00a8U\2\u0463\u0461\3\2\2\2\u0464"+ - "\u0467\3\2\2\2\u0465\u0463\3\2\2\2\u0465\u0466\3\2\2\2\u0466\u00a7\3\2"+ - "\2\2\u0467\u0465\3\2\2\2\u0468\u046b\5\22\n\2\u0469\u046b\5\36\20\2\u046a"+ - "\u0468\3\2\2\2\u046a\u0469\3\2\2\2\u046b\u00a9\3\2\2\2\u046c\u046f\5\u00fe"+ - "\u0080\2\u046d\u046f\7A\2\2\u046e\u046c\3\2\2\2\u046e\u046d\3\2\2\2\u046f"+ - "\u00ab\3\2\2\2\u0470\u0471\5\u00fe\u0080\2\u0471\u00ad\3\2\2\2\u0472\u0473"+ - "\7(\2\2\u0473\u0474\5\u00fe\u0080\2\u0474\u00af\3\2\2\2\u0475\u0477\5"+ - "\u00b2Z\2\u0476\u0475\3\2\2\2\u0477\u047a\3\2\2\2\u0478\u0476\3\2\2\2"+ - "\u0478\u0479\3\2\2\2\u0479\u047b\3\2\2\2\u047a\u0478\3\2\2\2\u047b\u047d"+ - "\5\u00b4[\2\u047c\u047e\5\u00a4S\2\u047d\u047c\3\2\2\2\u047d\u047e\3\2"+ - "\2\2\u047e\u047f\3\2\2\2\u047f\u0480\5\u00b8]\2\u0480\u00b1\3\2\2\2\u0481"+ - "\u0486\5\u00e8u\2\u0482\u0486\7%\2\2\u0483\u0486\7$\2\2\u0484\u0486\7"+ - "#\2\2\u0485\u0481\3\2\2\2\u0485\u0482\3\2\2\2\u0485\u0483\3\2\2\2\u0485"+ - "\u0484\3\2\2\2\u0486\u00b3\3\2\2\2\u0487\u0489\5Z.\2\u0488\u0487\3\2\2"+ - "\2\u0488\u0489\3\2\2\2\u0489\u048a\3\2\2\2\u048a\u048b\5\u00b6\\\2\u048b"+ - "\u048d\7;\2\2\u048c\u048e\5\u0098M\2\u048d\u048c\3\2\2\2\u048d\u048e\3"+ - "\2\2\2\u048e\u048f\3\2\2\2\u048f\u0490\7<\2\2\u0490\u00b5\3\2\2\2\u0491"+ - "\u0492\7h\2\2\u0492\u00b7\3\2\2\2\u0493\u0495\7=\2\2\u0494\u0496\5\u00ba"+ - "^\2\u0495\u0494\3\2\2\2\u0495\u0496\3\2\2\2\u0496\u0498\3\2\2\2\u0497"+ - "\u0499\5\u0100\u0081\2\u0498\u0497\3\2\2\2\u0498\u0499\3\2\2\2\u0499\u049a"+ - "\3\2\2\2\u049a\u049b\7>\2\2\u049b\u00b9\3\2\2\2\u049c\u049e\5,\27\2\u049d"+ - "\u049c\3\2\2\2\u049d\u049e\3\2\2\2\u049e\u049f\3\2\2\2\u049f\u04a0\7-"+ - "\2\2\u04a0\u04a2\7;\2\2\u04a1\u04a3\5\u0190\u00c9\2\u04a2\u04a1\3\2\2"+ - "\2\u04a2\u04a3\3\2\2\2\u04a3\u04a4\3\2\2\2\u04a4\u04a5\7<\2\2\u04a5\u04cb"+ - "\7A\2\2\u04a6\u04a8\5,\27\2\u04a7\u04a6\3\2\2\2\u04a7\u04a8\3\2\2\2\u04a8"+ - "\u04a9\3\2\2\2\u04a9\u04aa\7*\2\2\u04aa\u04ac\7;\2\2\u04ab\u04ad\5\u0190"+ - "\u00c9\2\u04ac\u04ab\3\2\2\2\u04ac\u04ad\3\2\2\2\u04ad\u04ae\3\2\2\2\u04ae"+ - "\u04af\7<\2\2\u04af\u04cb\7A\2\2\u04b0\u04b1\5<\37\2\u04b1\u04b3\7C\2"+ - "\2\u04b2\u04b4\5,\27\2\u04b3\u04b2\3\2\2\2\u04b3\u04b4\3\2\2\2\u04b4\u04b5"+ - "\3\2\2\2\u04b5\u04b6\7*\2\2\u04b6\u04b8\7;\2\2\u04b7\u04b9\5\u0190\u00c9"+ - "\2\u04b8\u04b7\3\2\2\2\u04b8\u04b9\3\2\2\2\u04b9\u04ba\3\2\2\2\u04ba\u04bb"+ - "\7<\2\2\u04bb\u04bc\7A\2\2\u04bc\u04cb\3\2\2\2\u04bd\u04be\5\u0162\u00b2"+ - "\2\u04be\u04c0\7C\2\2\u04bf\u04c1\5,\27\2\u04c0\u04bf\3\2\2\2\u04c0\u04c1"+ - "\3\2\2\2\u04c1\u04c2\3\2\2\2\u04c2\u04c3\7*\2\2\u04c3\u04c5\7;\2\2\u04c4"+ - "\u04c6\5\u0190\u00c9\2\u04c5\u04c4\3\2\2\2\u04c5\u04c6\3\2\2\2\u04c6\u04c7"+ - "\3\2\2\2\u04c7\u04c8\7<\2\2\u04c8\u04c9\7A\2\2\u04c9\u04cb\3\2\2\2\u04ca"+ - "\u049d\3\2\2\2\u04ca\u04a7\3\2\2\2\u04ca\u04b0\3\2\2\2\u04ca\u04bd\3\2"+ - "\2\2\u04cb\u00bb\3\2\2\2\u04cc\u04ce\5X-\2\u04cd\u04cc\3\2\2\2\u04ce\u04d1"+ - "\3\2\2\2\u04cf\u04cd\3\2\2\2\u04cf\u04d0\3\2\2\2\u04d0\u04d2\3\2\2\2\u04d1"+ - "\u04cf\3\2\2\2\u04d2\u04d3\7\22\2\2\u04d3\u04d5\7h\2\2\u04d4\u04d6\5`"+ - "\61\2\u04d5\u04d4\3\2\2\2\u04d5\u04d6\3\2\2\2\u04d6\u04d7\3\2\2\2\u04d7"+ - "\u04d8\5\u00be`\2\u04d8\u00bd\3\2\2\2\u04d9\u04db\7=\2\2\u04da\u04dc\5"+ - "\u00c0a\2\u04db\u04da\3\2\2\2\u04db\u04dc\3\2\2\2\u04dc\u04de\3\2\2\2"+ - "\u04dd\u04df\7B\2\2\u04de\u04dd\3\2\2\2\u04de\u04df\3\2\2\2\u04df\u04e1"+ - "\3\2\2\2\u04e0\u04e2\5\u00c6d\2\u04e1\u04e0\3\2\2\2\u04e1\u04e2\3\2\2"+ - "\2\u04e2\u04e3\3\2\2\2\u04e3\u04e4\7>\2\2\u04e4\u00bf\3\2\2\2\u04e5\u04ea"+ - "\5\u00c2b\2\u04e6\u04e7\7B\2\2\u04e7\u04e9\5\u00c2b\2\u04e8\u04e6\3\2"+ - "\2\2\u04e9\u04ec\3\2\2\2\u04ea\u04e8\3\2\2\2\u04ea\u04eb\3\2\2\2\u04eb"+ - "\u00c1\3\2\2\2\u04ec\u04ea\3\2\2\2\u04ed\u04ef\5\u00c4c\2\u04ee\u04ed"+ - "\3\2\2\2\u04ef\u04f2\3\2\2\2\u04f0\u04ee\3\2\2\2\u04f0\u04f1\3\2\2\2\u04f1"+ - "\u04f3\3\2\2\2\u04f2\u04f0\3\2\2\2\u04f3\u04f9\7h\2\2\u04f4\u04f6\7;\2"+ - "\2\u04f5\u04f7\5\u0190\u00c9\2\u04f6\u04f5\3\2\2\2\u04f6\u04f7\3\2\2\2"+ - "\u04f7\u04f8\3\2\2\2\u04f8\u04fa\7<\2\2\u04f9\u04f4\3\2\2\2\u04f9\u04fa"+ - "\3\2\2\2\u04fa\u04fc\3\2\2\2\u04fb\u04fd\5d\63\2\u04fc\u04fb\3\2\2\2\u04fc"+ - "\u04fd\3\2\2\2\u04fd\u00c3\3\2\2\2\u04fe\u04ff\5\u00e8u\2\u04ff\u00c5"+ - "\3\2\2\2\u0500\u0504\7A\2\2\u0501\u0503\5f\64\2\u0502\u0501\3\2\2\2\u0503"+ - "\u0506\3\2\2\2\u0504\u0502\3\2\2\2\u0504\u0505\3\2\2\2\u0505\u00c7\3\2"+ - "\2\2\u0506\u0504\3\2\2\2\u0507\u050a\5\u00caf\2\u0508\u050a\5\u00dco\2"+ - "\u0509\u0507\3\2\2\2\u0509\u0508\3\2\2\2\u050a\u00c9\3\2\2\2\u050b\u050d"+ - "\5\u00ccg\2\u050c\u050b\3\2\2\2\u050d\u0510\3\2\2\2\u050e\u050c\3\2\2"+ - "\2\u050e\u050f\3\2\2\2\u050f\u0511\3\2\2\2\u0510\u050e\3\2\2\2\u0511\u0512"+ - "\7\36\2\2\u0512\u0514\7h\2\2\u0513\u0515\5Z.\2\u0514\u0513\3\2\2\2\u0514"+ - "\u0515\3\2\2\2\u0515\u0517\3\2\2\2\u0516\u0518\5\u00ceh\2\u0517\u0516"+ - "\3\2\2\2\u0517\u0518\3\2\2\2\u0518\u0519\3\2\2\2\u0519\u051a\5\u00d0i"+ - "\2\u051a\u00cb\3\2\2\2\u051b\u0523\5\u00e8u\2\u051c\u0523\7%\2\2\u051d"+ - "\u0523\7$\2\2\u051e\u0523\7#\2\2\u051f\u0523\7\3\2\2\u0520\u0523\7(\2"+ - "\2\u0521\u0523\7)\2\2\u0522\u051b\3\2\2\2\u0522\u051c\3\2\2\2\u0522\u051d"+ - "\3\2\2\2\u0522\u051e\3\2\2\2\u0522\u051f\3\2\2\2\u0522\u0520\3\2\2\2\u0522"+ - "\u0521\3\2\2\2\u0523\u00cd\3\2\2\2\u0524\u0525\7\23\2\2\u0525\u0526\5"+ - "b\62\2\u0526\u00cf\3\2\2\2\u0527\u052b\7=\2\2\u0528\u052a\5\u00d2j\2\u0529"+ - "\u0528\3\2\2\2\u052a\u052d\3\2\2\2\u052b\u0529\3\2\2\2\u052b\u052c\3\2"+ - "\2\2\u052c\u052e\3\2\2\2\u052d\u052b\3\2\2\2\u052e\u052f\7>\2\2\u052f"+ - "\u00d1\3\2\2\2\u0530\u0536\5\u00d4k\2\u0531\u0536\5\u00d8m\2\u0532\u0536"+ - "\5T+\2\u0533\u0536\5\u00c8e\2\u0534\u0536\7A\2\2\u0535\u0530\3\2\2\2\u0535"+ - "\u0531\3\2\2\2\u0535\u0532\3\2\2\2\u0535\u0533\3\2\2\2\u0535\u0534\3\2"+ - "\2\2\u0536\u00d3\3\2\2\2\u0537\u0539\5\u00d6l\2\u0538\u0537\3\2\2\2\u0539"+ - "\u053c\3\2\2\2\u053a\u0538\3\2\2\2\u053a\u053b\3\2\2\2\u053b\u053d\3\2"+ - "\2\2\u053c\u053a\3\2\2\2\u053d\u053e\5v<\2\u053e\u053f\5n8\2\u053f\u0540"+ - "\7A\2\2\u0540\u00d5\3\2\2\2\u0541\u0546\5\u00e8u\2\u0542\u0546\7%\2\2"+ - "\u0543\u0546\7(\2\2\u0544\u0546\7\24\2\2\u0545\u0541\3\2\2\2\u0545\u0542"+ - "\3\2\2\2\u0545\u0543\3\2\2\2\u0545\u0544\3\2\2\2\u0546\u00d7\3\2\2\2\u0547"+ - "\u0549\5\u00dan\2\u0548\u0547\3\2\2\2\u0549\u054c\3\2\2\2\u054a\u0548"+ - "\3\2\2\2\u054a\u054b\3\2\2\2\u054b\u054d\3\2\2\2\u054c\u054a\3\2\2\2\u054d"+ - "\u054e\5\u0092J\2\u054e\u054f\5\u00aaV\2\u054f\u00d9\3\2\2\2\u0550\u0557"+ - "\5\u00e8u\2\u0551\u0557\7%\2\2\u0552\u0557\7\3\2\2\u0553\u0557\7\16\2"+ - "\2\u0554\u0557\7(\2\2\u0555\u0557\7)\2\2\u0556\u0550\3\2\2\2\u0556\u0551"+ - "\3\2\2\2\u0556\u0552\3\2\2\2\u0556\u0553\3\2\2\2\u0556\u0554\3\2\2\2\u0556"+ - "\u0555\3\2\2\2\u0557\u00db\3\2\2\2\u0558\u055a\5\u00ccg\2\u0559\u0558"+ - "\3\2\2\2\u055a\u055d\3\2\2\2\u055b\u0559\3\2\2\2\u055b\u055c\3\2\2\2\u055c"+ - "\u055e\3\2\2\2\u055d\u055b\3\2\2\2\u055e\u055f\7i\2\2\u055f\u0560\7\36"+ - "\2\2\u0560\u0561\7h\2\2\u0561\u0562\5\u00dep\2\u0562\u00dd\3\2\2\2\u0563"+ - "\u0567\7=\2\2\u0564\u0566\5\u00e0q\2\u0565\u0564\3\2\2\2\u0566\u0569\3"+ - "\2\2\2\u0567\u0565\3\2\2\2\u0567\u0568\3\2\2\2\u0568\u056a\3\2\2\2\u0569"+ - "\u0567\3\2\2\2\u056a\u056b\7>\2\2\u056b\u00df\3\2\2\2\u056c\u0572\5\u00e2"+ - "r\2\u056d\u0572\5\u00d4k\2\u056e\u0572\5T+\2\u056f\u0572\5\u00c8e\2\u0570"+ - "\u0572\7A\2\2\u0571\u056c\3\2\2\2\u0571\u056d\3\2\2\2\u0571\u056e\3\2"+ - "\2\2\u0571\u056f\3\2\2\2\u0571\u0570\3\2\2\2\u0572\u00e1\3\2\2\2\u0573"+ - "\u0575\5\u00e4s\2\u0574\u0573\3\2\2\2\u0575\u0578\3\2\2\2\u0576\u0574"+ - "\3\2\2\2\u0576\u0577\3\2\2\2\u0577\u0579\3\2\2\2\u0578\u0576\3\2\2\2\u0579"+ - "\u057a\5v<\2\u057a\u057b\7h\2\2\u057b\u057c\7;\2\2\u057c\u057e\7<\2\2"+ - "\u057d\u057f\5\"\22\2\u057e\u057d\3\2\2\2\u057e\u057f\3\2\2\2\u057f\u0581"+ - "\3\2\2\2\u0580\u0582\5\u00e6t\2\u0581\u0580\3\2\2\2\u0581\u0582\3\2\2"+ - "\2\u0582\u0583\3\2\2\2\u0583\u0584\7A\2\2\u0584\u00e3\3\2\2\2\u0585\u0589"+ - "\5\u00e8u\2\u0586\u0589\7%\2\2\u0587\u0589\7\3\2\2\u0588\u0585\3\2\2\2"+ - "\u0588\u0586\3\2\2\2\u0588\u0587\3\2\2\2\u0589\u00e5\3\2\2\2\u058a\u058b"+ - "\7\16\2\2\u058b\u058c\5\u00f0y\2\u058c\u00e7\3\2\2\2\u058d\u0591\5\u00ea"+ - "v\2\u058e\u0591\5\u00f6|\2\u058f\u0591\5\u00f8}\2\u0590\u058d\3\2\2\2"+ - "\u0590\u058e\3\2\2\2\u0590\u058f\3\2\2\2\u0591\u00e9\3\2\2\2\u0592\u0593"+ - "\7i\2\2\u0593\u0594\58\35\2\u0594\u0596\7;\2\2\u0595\u0597\5\u00ecw\2"+ - "\u0596\u0595\3\2\2\2\u0596\u0597\3\2\2\2\u0597\u0598\3\2\2\2\u0598\u0599"+ - "\7<\2\2\u0599\u00eb\3\2\2\2\u059a\u059f\5\u00eex\2\u059b\u059c\7B\2\2"+ - "\u059c\u059e\5\u00eex\2\u059d\u059b\3\2\2\2\u059e\u05a1\3\2\2\2\u059f"+ - "\u059d\3\2\2\2\u059f\u05a0\3\2\2\2\u05a0\u00ed\3\2\2\2\u05a1\u059f\3\2"+ - "\2\2\u05a2\u05a3\7h\2\2\u05a3\u05a4\7D\2\2\u05a4\u05a5\5\u00f0y\2\u05a5"+ - "\u00ef\3\2\2\2\u05a6\u05aa\5\u01b2\u00da\2\u05a7\u05aa\5\u00f2z\2\u05a8"+ - "\u05aa\5\u00e8u\2\u05a9\u05a6\3\2\2\2\u05a9\u05a7\3\2\2\2\u05a9\u05a8"+ - "\3\2\2\2\u05aa\u00f1\3\2\2\2\u05ab\u05ad\7=\2\2\u05ac\u05ae\5\u00f4{\2"+ - "\u05ad\u05ac\3\2\2\2\u05ad\u05ae\3\2\2\2\u05ae\u05b0\3\2\2\2\u05af\u05b1"+ - "\7B\2\2\u05b0\u05af\3\2\2\2\u05b0\u05b1\3\2\2\2\u05b1\u05b2\3\2\2\2\u05b2"+ - "\u05b3\7>\2\2\u05b3\u00f3\3\2\2\2\u05b4\u05b9\5\u00f0y\2\u05b5\u05b6\7"+ - "B\2\2\u05b6\u05b8\5\u00f0y\2\u05b7\u05b5\3\2\2\2\u05b8\u05bb\3\2\2\2\u05b9"+ - "\u05b7\3\2\2\2\u05b9\u05ba\3\2\2\2\u05ba\u00f5\3\2\2\2\u05bb\u05b9\3\2"+ - "\2\2\u05bc\u05bd\7i\2\2\u05bd\u05be\58\35\2\u05be\u00f7\3\2\2\2\u05bf"+ - "\u05c0\7i\2\2\u05c0\u05c1\58\35\2\u05c1\u05c2\7;\2\2\u05c2\u05c3\5\u00f0"+ - "y\2\u05c3\u05c4\7<\2\2\u05c4\u00f9\3\2\2\2\u05c5\u05c7\7=\2\2\u05c6\u05c8"+ - "\5\u00fc\177\2\u05c7\u05c6\3\2\2\2\u05c7\u05c8\3\2\2\2\u05c8\u05ca\3\2"+ - "\2\2\u05c9\u05cb\7B\2\2\u05ca\u05c9\3\2\2\2\u05ca\u05cb\3\2\2\2\u05cb"+ - "\u05cc\3\2\2\2\u05cc\u05cd\7>\2\2\u05cd\u00fb\3\2\2\2\u05ce\u05d3\5t;"+ - "\2\u05cf\u05d0\7B\2\2\u05d0\u05d2\5t;\2\u05d1\u05cf\3\2\2\2\u05d2\u05d5"+ - "\3\2\2\2\u05d3\u05d1\3\2\2\2\u05d3\u05d4\3\2\2\2\u05d4\u00fd\3\2\2\2\u05d5"+ - "\u05d3\3\2\2\2\u05d6\u05d8\7=\2\2\u05d7\u05d9\5\u0100\u0081\2\u05d8\u05d7"+ - "\3\2\2\2\u05d8\u05d9\3\2\2\2\u05d9\u05da\3\2\2\2\u05da\u05db\7>\2\2\u05db"+ - "\u00ff\3\2\2\2\u05dc\u05e0\5\u0102\u0082\2\u05dd\u05df\5\u0102\u0082\2"+ - "\u05de\u05dd\3\2\2\2\u05df\u05e2\3\2\2\2\u05e0\u05de\3\2\2\2\u05e0\u05e1"+ - "\3\2\2\2\u05e1\u0101\3\2\2\2\u05e2\u05e0\3\2\2\2\u05e3\u05e7\5\u0104\u0083"+ - "\2\u05e4\u05e7\5T+\2\u05e5\u05e7\5\u0108\u0085\2\u05e6\u05e3\3\2\2\2\u05e6"+ - "\u05e4\3\2\2\2\u05e6\u05e5\3\2\2\2\u05e7\u0103\3\2\2\2\u05e8\u05e9\5\u0106"+ - "\u0084\2\u05e9\u05ea\7A\2\2\u05ea\u0105\3\2\2\2\u05eb\u05ed\5\u009eP\2"+ - "\u05ec\u05eb\3\2\2\2\u05ed\u05f0\3\2\2\2\u05ee\u05ec\3\2\2\2\u05ee\u05ef"+ - "\3\2\2\2\u05ef\u05f1\3\2\2\2\u05f0\u05ee\3\2\2\2\u05f1\u05f2\5v<\2\u05f2"+ - "\u05f3\5n8\2\u05f3\u0107\3\2\2\2\u05f4\u05fb\5\u010c\u0087\2\u05f5\u05fb"+ - "\5\u0110\u0089\2\u05f6\u05fb\5\u0118\u008d\2\u05f7\u05fb\5\u011a\u008e"+ - "\2\u05f8\u05fb\5\u012c\u0097\2\u05f9\u05fb\5\u0132\u009a\2\u05fa\u05f4"+ - "\3\2\2\2\u05fa\u05f5\3\2\2\2\u05fa\u05f6\3\2\2\2\u05fa\u05f7\3\2\2\2\u05fa"+ - "\u05f8\3\2\2\2\u05fa\u05f9\3\2\2\2\u05fb\u0109\3\2\2\2\u05fc\u0602\5\u010c"+ - "\u0087\2\u05fd\u0602\5\u0112\u008a\2\u05fe\u0602\5\u011c\u008f\2\u05ff"+ - "\u0602\5\u012e\u0098\2\u0600\u0602\5\u0134\u009b\2\u0601\u05fc\3\2\2\2"+ - "\u0601\u05fd\3\2\2\2\u0601\u05fe\3\2\2\2\u0601\u05ff\3\2\2\2\u0601\u0600"+ - "\3\2\2\2\u0602\u010b\3\2\2\2\u0603\u0610\5\u00fe\u0080\2\u0604\u0610\5"+ - "\u010e\u0088\2\u0605\u0610\5\u0114\u008b\2\u0606\u0610\5\u011e\u0090\2"+ - "\u0607\u0610\5\u0120\u0091\2\u0608\u0610\5\u0130\u0099\2\u0609\u0610\5"+ - "\u0144\u00a3\2\u060a\u0610\5\u0146\u00a4\2\u060b\u0610\5\u0148\u00a5\2"+ - "\u060c\u0610\5\u014c\u00a7\2\u060d\u0610\5\u014a\u00a6\2\u060e\u0610\5"+ - "\u014e\u00a8\2\u060f\u0603\3\2\2\2\u060f\u0604\3\2\2\2\u060f\u0605\3\2"+ - "\2\2\u060f\u0606\3\2\2\2\u060f\u0607\3\2\2\2\u060f\u0608\3\2\2\2\u060f"+ - "\u0609\3\2\2\2\u060f\u060a\3\2\2\2\u060f\u060b\3\2\2\2\u060f\u060c\3\2"+ - "\2\2\u060f\u060d\3\2\2\2\u060f\u060e\3\2\2\2\u0610\u010d\3\2\2\2\u0611"+ - "\u0612\7A\2\2\u0612\u010f\3\2\2\2\u0613\u0614\7h\2\2\u0614\u0615\7J\2"+ - "\2\u0615\u0616\5\u0108\u0085\2\u0616\u0111\3\2\2\2\u0617\u0618\7h\2\2"+ - "\u0618\u0619\7J\2\2\u0619\u061a\5\u010a\u0086\2\u061a\u0113\3\2\2\2\u061b"+ - "\u061c\5\u0116\u008c\2\u061c\u061d\7A\2\2\u061d\u0115\3\2\2\2\u061e\u0626"+ - "\5\u01ac\u00d7\2\u061f\u0626\5\u01ca\u00e6\2\u0620\u0626\5\u01cc\u00e7"+ - "\2\u0621\u0626\5\u01d2\u00ea\2\u0622\u0626\5\u01d6\u00ec\2\u0623\u0626"+ - "\5\u018a\u00c6\2\u0624\u0626\5\u0176\u00bc\2\u0625\u061e\3\2\2\2\u0625"+ - "\u061f\3\2\2\2\u0625\u0620\3\2\2\2\u0625\u0621\3\2\2\2\u0625\u0622\3\2"+ - "\2\2\u0625\u0623\3\2\2\2\u0625\u0624\3\2\2\2\u0626\u0117\3\2\2\2\u0627"+ - "\u0628\7\30\2\2\u0628\u0629\7;\2\2\u0629\u062a\5\u01a0\u00d1\2\u062a\u062b"+ - "\7<\2\2\u062b\u062c\5\u0108\u0085\2\u062c\u0119\3\2\2\2\u062d\u062e\7"+ - "\30\2\2\u062e\u062f\7;\2\2\u062f\u0630\5\u01a0\u00d1\2\u0630\u0631\7<"+ - "\2\2\u0631\u0632\5\u010a\u0086\2\u0632\u0633\7\21\2\2\u0633\u0634\5\u0108"+ - "\u0085\2\u0634\u011b\3\2\2\2\u0635\u0636\7\30\2\2\u0636\u0637\7;\2\2\u0637"+ - "\u0638\5\u01a0\u00d1\2\u0638\u0639\7<\2\2\u0639\u063a\5\u010a\u0086\2"+ - "\u063a\u063b\7\21\2\2\u063b\u063c\5\u010a\u0086\2\u063c\u011d\3\2\2\2"+ - "\u063d\u063e\7\4\2\2\u063e\u063f\5\u01a0\u00d1\2\u063f\u0640\7A\2\2\u0640"+ - "\u0648\3\2\2\2\u0641\u0642\7\4\2\2\u0642\u0643\5\u01a0\u00d1\2\u0643\u0644"+ - "\7J\2\2\u0644\u0645\5\u01a0\u00d1\2\u0645\u0646\7A\2\2\u0646\u0648\3\2"+ - "\2\2\u0647\u063d\3\2\2\2\u0647\u0641\3\2\2\2\u0648\u011f\3\2\2\2\u0649"+ - "\u064a\7+\2\2\u064a\u064b\7;\2\2\u064b\u064c\5\u01a0\u00d1\2\u064c\u064d"+ - "\7<\2\2\u064d\u064e\5\u0122\u0092\2\u064e\u0121\3\2\2\2\u064f\u0653\7"+ - "=\2\2\u0650\u0652\5\u0124\u0093\2\u0651\u0650\3\2\2\2\u0652\u0655\3\2"+ - "\2\2\u0653\u0651\3\2\2\2\u0653\u0654\3\2\2\2\u0654\u0659\3\2\2\2\u0655"+ - "\u0653\3\2\2\2\u0656\u0658\5\u0128\u0095\2\u0657\u0656\3\2\2\2\u0658\u065b"+ - "\3\2\2\2\u0659\u0657\3\2\2\2\u0659\u065a\3\2\2\2\u065a\u065c\3\2\2\2\u065b"+ - "\u0659\3\2\2\2\u065c\u065d\7>\2\2\u065d\u0123\3\2\2\2\u065e\u065f\5\u0126"+ - "\u0094\2\u065f\u0660\5\u0100\u0081\2\u0660\u0125\3\2\2\2\u0661\u0665\5"+ - "\u0128\u0095\2\u0662\u0664\5\u0128\u0095\2\u0663\u0662\3\2\2\2\u0664\u0667"+ - "\3\2\2\2\u0665\u0663\3\2\2\2\u0665\u0666\3\2\2\2\u0666\u0127\3\2\2\2\u0667"+ - "\u0665\3\2\2\2\u0668\u0669\7\b\2\2\u0669\u066a\5\u019e\u00d0\2\u066a\u066b"+ - "\7J\2\2\u066b\u0673\3\2\2\2\u066c\u066d\7\b\2\2\u066d\u066e\5\u012a\u0096"+ - "\2\u066e\u066f\7J\2\2\u066f\u0673\3\2\2\2\u0670\u0671\7\16\2\2\u0671\u0673"+ - "\7J\2\2\u0672\u0668\3\2\2\2\u0672\u066c\3\2\2\2\u0672\u0670\3\2\2\2\u0673"+ - "\u0129\3\2\2\2\u0674\u0675\7h\2\2\u0675\u012b\3\2\2\2\u0676\u0677\7\64"+ - "\2\2\u0677\u0678\7;\2\2\u0678\u0679\5\u01a0\u00d1\2\u0679\u067a\7<\2\2"+ - "\u067a\u067b\5\u0108\u0085\2\u067b\u012d\3\2\2\2\u067c\u067d\7\64\2\2"+ - "\u067d\u067e\7;\2\2\u067e\u067f\5\u01a0\u00d1\2\u067f\u0680\7<\2\2\u0680"+ - "\u0681\5\u010a\u0086\2\u0681\u012f\3\2\2\2\u0682\u0683\7\17\2\2\u0683"+ - "\u0684\5\u0108\u0085\2\u0684\u0685\7\64\2\2\u0685\u0686\7;\2\2\u0686\u0687"+ - "\5\u01a0\u00d1\2\u0687\u0688\7<\2\2\u0688\u0689\7A\2\2\u0689\u0131\3\2"+ - "\2\2\u068a\u068d\5\u0136\u009c\2\u068b\u068d\5\u0140\u00a1\2\u068c\u068a"+ - "\3\2\2\2\u068c\u068b\3\2\2\2\u068d\u0133\3\2\2\2\u068e\u0691\5\u0138\u009d"+ - "\2\u068f\u0691\5\u0142\u00a2\2\u0690\u068e\3\2\2\2\u0690\u068f\3\2\2\2"+ - "\u0691\u0135\3\2\2\2\u0692\u0693\7\27\2\2\u0693\u0695\7;\2\2\u0694\u0696"+ - "\5\u013a\u009e\2\u0695\u0694\3\2\2\2\u0695\u0696\3\2\2\2\u0696\u0697\3"+ - "\2\2\2\u0697\u0699\7A\2\2\u0698\u069a\5\u01a0\u00d1\2\u0699\u0698\3\2"+ - "\2\2\u0699\u069a\3\2\2\2\u069a\u069b\3\2\2\2\u069b\u069d\7A\2\2\u069c"+ - "\u069e\5\u013c\u009f\2\u069d\u069c\3\2\2\2\u069d\u069e\3\2\2\2\u069e\u069f"+ - "\3\2\2\2\u069f\u06a0\7<\2\2\u06a0\u06a1\5\u0108\u0085\2\u06a1\u0137\3"+ - "\2\2\2\u06a2\u06a3\7\27\2\2\u06a3\u06a5\7;\2\2\u06a4\u06a6\5\u013a\u009e"+ - "\2\u06a5\u06a4\3\2\2\2\u06a5\u06a6\3\2\2\2\u06a6\u06a7\3\2\2\2\u06a7\u06a9"+ - "\7A\2\2\u06a8\u06aa\5\u01a0\u00d1\2\u06a9\u06a8\3\2\2\2\u06a9\u06aa\3"+ - "\2\2\2\u06aa\u06ab\3\2\2\2\u06ab\u06ad\7A\2\2\u06ac\u06ae\5\u013c\u009f"+ - "\2\u06ad\u06ac\3\2\2\2\u06ad\u06ae\3\2\2\2\u06ae\u06af\3\2\2\2\u06af\u06b0"+ - "\7<\2\2\u06b0\u06b1\5\u010a\u0086\2\u06b1\u0139\3\2\2\2\u06b2\u06b5\5"+ - "\u013e\u00a0\2\u06b3\u06b5\5\u0106\u0084\2\u06b4\u06b2\3\2\2\2\u06b4\u06b3"+ - "\3\2\2\2\u06b5\u013b\3\2\2\2\u06b6\u06b7\5\u013e\u00a0\2\u06b7\u013d\3"+ - "\2\2\2\u06b8\u06bd\5\u0116\u008c\2\u06b9\u06ba\7B\2\2\u06ba\u06bc\5\u0116"+ - "\u008c\2\u06bb\u06b9\3\2\2\2\u06bc\u06bf\3\2\2\2\u06bd\u06bb\3\2\2\2\u06bd"+ - "\u06be\3\2\2\2\u06be\u013f\3\2\2\2\u06bf\u06bd\3\2\2\2\u06c0\u06c1\7\27"+ - "\2\2\u06c1\u06c5\7;\2\2\u06c2\u06c4\5\u009eP\2\u06c3\u06c2\3\2\2\2\u06c4"+ - "\u06c7\3\2\2\2\u06c5\u06c3\3\2\2\2\u06c5\u06c6\3\2\2\2\u06c6\u06c8\3\2"+ - "\2\2\u06c7\u06c5\3\2\2\2\u06c8\u06c9\5v<\2\u06c9\u06ca\5r:\2\u06ca\u06cb"+ - "\7J\2\2\u06cb\u06cc\5\u01a0\u00d1\2\u06cc\u06cd\7<\2\2\u06cd\u06ce\5\u0108"+ - "\u0085\2\u06ce\u0141\3\2\2\2\u06cf\u06d0\7\27\2\2\u06d0\u06d4\7;\2\2\u06d1"+ - "\u06d3\5\u009eP\2\u06d2\u06d1\3\2\2\2\u06d3\u06d6\3\2\2\2\u06d4\u06d2"+ - "\3\2\2\2\u06d4\u06d5\3\2\2\2\u06d5\u06d7\3\2\2\2\u06d6\u06d4\3\2\2\2\u06d7"+ - "\u06d8\5v<\2\u06d8\u06d9\5r:\2\u06d9\u06da\7J\2\2\u06da\u06db\5\u01a0"+ - "\u00d1\2\u06db\u06dc\7<\2\2\u06dc\u06dd\5\u010a\u0086\2\u06dd\u0143\3"+ - "\2\2\2\u06de\u06e0\7\6\2\2\u06df\u06e1\7h\2\2\u06e0\u06df\3\2\2\2\u06e0"+ - "\u06e1\3\2\2\2\u06e1\u06e2\3\2\2\2\u06e2\u06e3\7A\2\2\u06e3\u0145\3\2"+ - "\2\2\u06e4\u06e6\7\r\2\2\u06e5\u06e7\7h\2\2\u06e6\u06e5\3\2\2\2\u06e6"+ - "\u06e7\3\2\2\2\u06e7\u06e8\3\2\2\2\u06e8\u06e9\7A\2\2\u06e9\u0147\3\2"+ - "\2\2\u06ea\u06ec\7&\2\2\u06eb\u06ed\5\u01a0\u00d1\2\u06ec\u06eb\3\2\2"+ - "\2\u06ec\u06ed\3\2\2\2\u06ed\u06ee\3\2\2\2\u06ee\u06ef\7A\2\2\u06ef\u0149"+ - "\3\2\2\2\u06f0\u06f1\7.\2\2\u06f1\u06f2\5\u01a0\u00d1\2\u06f2\u06f3\7"+ - "A\2\2\u06f3\u014b\3\2\2\2\u06f4\u06f5\7,\2\2\u06f5\u06f6\7;\2\2\u06f6"+ - "\u06f7\5\u01a0\u00d1\2\u06f7\u06f8\7<\2\2\u06f8\u06f9\5\u00fe\u0080\2"+ - "\u06f9\u014d\3\2\2\2\u06fa\u06fb\7\61\2\2\u06fb\u06fc\5\u00fe\u0080\2"+ - "\u06fc\u06fd\5\u0150\u00a9\2\u06fd\u0707\3\2\2\2\u06fe\u06ff\7\61\2\2"+ - "\u06ff\u0701\5\u00fe\u0080\2\u0700\u0702\5\u0150\u00a9\2\u0701\u0700\3"+ - "\2\2\2\u0701\u0702\3\2\2\2\u0702\u0703\3\2\2\2\u0703\u0704\5\u0158\u00ad"+ - "\2\u0704\u0707\3\2\2\2\u0705\u0707\5\u015a\u00ae\2\u0706\u06fa\3\2\2\2"+ - "\u0706\u06fe\3\2\2\2\u0706\u0705\3\2\2\2\u0707\u014f\3\2\2\2\u0708\u070c"+ - "\5\u0152\u00aa\2\u0709\u070b\5\u0152\u00aa\2\u070a\u0709\3\2\2\2\u070b"+ - "\u070e\3\2\2\2\u070c\u070a\3\2\2\2\u070c\u070d\3\2\2\2\u070d\u0151\3\2"+ - "\2\2\u070e\u070c\3\2\2\2\u070f\u0710\7\t\2\2\u0710\u0711\7;\2\2\u0711"+ - "\u0712\5\u0154\u00ab\2\u0712\u0713\7<\2\2\u0713\u0714\5\u00fe\u0080\2"+ - "\u0714\u0153\3\2\2\2\u0715\u0717\5\u009eP\2\u0716\u0715\3\2\2\2\u0717"+ - "\u071a\3\2\2\2\u0718\u0716\3\2\2\2\u0718\u0719\3\2\2\2\u0719\u071b\3\2"+ - "\2\2\u071a\u0718\3\2\2\2\u071b\u071c\5\u0156\u00ac\2\u071c\u071d\5r:\2"+ - "\u071d\u0155\3\2\2\2\u071e\u0723\5~@\2\u071f\u0720\7X\2\2\u0720\u0722"+ - "\5\22\n\2\u0721\u071f\3\2\2\2\u0722\u0725\3\2\2\2\u0723\u0721\3\2\2\2"+ - "\u0723\u0724\3\2\2\2\u0724\u0157\3\2\2\2\u0725\u0723\3\2\2\2\u0726\u0727"+ - "\7\25\2\2\u0727\u0728\5\u00fe\u0080\2\u0728\u0159\3\2\2\2\u0729\u072a"+ - "\7\61\2\2\u072a\u072b\5\u015c\u00af\2\u072b\u072d\5\u00fe\u0080\2\u072c"+ - "\u072e\5\u0150\u00a9\2\u072d\u072c\3\2\2\2\u072d\u072e\3\2\2\2\u072e\u0730"+ - "\3\2\2\2\u072f\u0731\5\u0158\u00ad\2\u0730\u072f\3\2\2\2\u0730\u0731\3"+ - "\2\2\2\u0731\u015b\3\2\2\2\u0732\u0733\7;\2\2\u0733\u0735\5\u015e\u00b0"+ - "\2\u0734\u0736\7A\2\2\u0735\u0734\3\2\2\2\u0735\u0736\3\2\2\2\u0736\u0737"+ - "\3\2\2\2\u0737\u0738\7<\2\2\u0738\u015d\3\2\2\2\u0739\u073e\5\u0160\u00b1"+ - "\2\u073a\u073b\7A\2\2\u073b\u073d\5\u0160\u00b1\2\u073c\u073a\3\2\2\2"+ - "\u073d\u0740\3\2\2\2\u073e\u073c\3\2\2\2\u073e\u073f\3\2\2\2\u073f\u015f"+ - "\3\2\2\2\u0740\u073e\3\2\2\2\u0741\u0743\5\u009eP\2\u0742\u0741\3\2\2"+ - "\2\u0743\u0746\3\2\2\2\u0744\u0742\3\2\2\2\u0744\u0745\3\2\2\2\u0745\u0747"+ - "\3\2\2\2\u0746\u0744\3\2\2\2\u0747\u0748\5v<\2\u0748\u0749\5r:\2\u0749"+ - "\u074a\7D\2\2\u074a\u074b\5\u01a0\u00d1\2\u074b\u0161\3\2\2\2\u074c\u074f"+ - "\5\u0170\u00b9\2\u074d\u074f\5\u0198\u00cd\2\u074e\u074c\3\2\2\2\u074e"+ - "\u074d\3\2\2\2\u074f\u0753\3\2\2\2\u0750\u0752\5\u016a\u00b6\2\u0751\u0750"+ - "\3\2\2\2\u0752\u0755\3\2\2\2\u0753\u0751\3\2\2\2\u0753\u0754\3\2\2\2\u0754"+ - "\u0163\3\2\2\2\u0755\u0753\3\2\2\2\u0756\u0774\5\2\2\2\u0757\u075c\58"+ - "\35\2\u0758\u0759\7?\2\2\u0759\u075b\7@\2\2\u075a\u0758\3\2\2\2\u075b"+ - "\u075e\3\2\2\2\u075c\u075a\3\2\2\2\u075c\u075d\3\2\2\2\u075d\u075f\3\2"+ - "\2\2\u075e\u075c\3\2\2\2\u075f\u0760\7C\2\2\u0760\u0761\7\13\2\2\u0761"+ - "\u0774\3\2\2\2\u0762\u0763\7\62\2\2\u0763\u0764\7C\2\2\u0764\u0774\7\13"+ - "\2\2\u0765\u0774\7-\2\2\u0766\u0767\58\35\2\u0767\u0768\7C\2\2\u0768\u0769"+ - "\7-\2\2\u0769\u0774\3\2\2\2\u076a\u076b\7;\2\2\u076b\u076c\5\u01a0\u00d1"+ - "\2\u076c\u076d\7<\2\2\u076d\u0774\3\2\2\2\u076e\u0774\5\u0176\u00bc\2"+ - "\u076f\u0774\5\u017e\u00c0\2\u0770\u0774\5\u0184\u00c3\2\u0771\u0774\5"+ - "\u018a\u00c6\2\u0772\u0774\5\u0192\u00ca\2\u0773\u0756\3\2\2\2\u0773\u0757"+ - "\3\2\2\2\u0773\u0762\3\2\2\2\u0773\u0765\3\2\2\2\u0773\u0766\3\2\2\2\u0773"+ - "\u076a\3\2\2\2\u0773\u076e\3\2\2\2\u0773\u076f\3\2\2\2\u0773\u0770\3\2"+ - "\2\2\u0773\u0771\3\2\2\2\u0773\u0772\3\2\2\2\u0774\u0165\3\2\2\2\u0775"+ - "\u0776\3\2\2\2\u0776\u0167\3\2\2\2\u0777\u0794\5\2\2\2\u0778\u077d\58"+ - "\35\2\u0779\u077a\7?\2\2\u077a\u077c\7@\2\2\u077b\u0779\3\2\2\2\u077c"+ - "\u077f\3\2\2\2\u077d\u077b\3\2\2\2\u077d\u077e\3\2\2\2\u077e\u0780\3\2"+ - "\2\2\u077f\u077d\3\2\2\2\u0780\u0781\7C\2\2\u0781\u0782\7\13\2\2\u0782"+ - "\u0794\3\2\2\2\u0783\u0784\7\62\2\2\u0784\u0785\7C\2\2\u0785\u0794\7\13"+ - "\2\2\u0786\u0794\7-\2\2\u0787\u0788\58\35\2\u0788\u0789\7C\2\2\u0789\u078a"+ - "\7-\2\2\u078a\u0794\3\2\2\2\u078b\u078c\7;\2\2\u078c\u078d\5\u01a0\u00d1"+ - "\2\u078d\u078e\7<\2\2\u078e\u0794\3\2\2\2\u078f\u0794\5\u0176\u00bc\2"+ - "\u0790\u0794\5\u017e\u00c0\2\u0791\u0794\5\u018a\u00c6\2\u0792\u0794\5"+ - "\u0192\u00ca\2\u0793\u0777\3\2\2\2\u0793\u0778\3\2\2\2\u0793\u0783\3\2"+ - "\2\2\u0793\u0786\3\2\2\2\u0793\u0787\3\2\2\2\u0793\u078b\3\2\2\2\u0793"+ - "\u078f\3\2\2\2\u0793\u0790\3\2\2\2\u0793\u0791\3\2\2\2\u0793\u0792\3\2"+ - "\2\2\u0794\u0169\3\2\2\2\u0795\u079b\5\u0178\u00bd\2\u0796\u079b\5\u0180"+ - "\u00c1\2\u0797\u079b\5\u0186\u00c4\2\u0798\u079b\5\u018c\u00c7\2\u0799"+ - "\u079b\5\u0194\u00cb\2\u079a\u0795\3\2\2\2\u079a\u0796\3\2\2\2\u079a\u0797"+ - "\3\2\2\2\u079a\u0798\3\2\2\2\u079a\u0799\3\2\2\2\u079b\u016b\3\2\2\2\u079c"+ - "\u079d\3\2\2\2\u079d\u016d\3\2\2\2\u079e\u07a3\5\u0178\u00bd\2\u079f\u07a3"+ - "\5\u0180\u00c1\2\u07a0\u07a3\5\u018c\u00c7\2\u07a1\u07a3\5\u0194\u00cb"+ - "\2\u07a2\u079e\3\2\2\2\u07a2\u079f\3\2\2\2\u07a2\u07a0\3\2\2\2\u07a2\u07a1"+ - "\3\2\2\2\u07a3\u016f\3\2\2\2\u07a4\u07cd\5\2\2\2\u07a5\u07aa\58\35\2\u07a6"+ - "\u07a7\7?\2\2\u07a7\u07a9\7@\2\2\u07a8\u07a6\3\2\2\2\u07a9\u07ac\3\2\2"+ - "\2\u07aa\u07a8\3\2\2\2\u07aa\u07ab\3\2\2\2\u07ab\u07ad\3\2\2\2\u07ac\u07aa"+ - "\3\2\2\2\u07ad\u07ae\7C\2\2\u07ae\u07af\7\13\2\2\u07af\u07cd\3\2\2\2\u07b0"+ - "\u07b5\5x=\2\u07b1\u07b2\7?\2\2\u07b2\u07b4\7@\2\2\u07b3\u07b1\3\2\2\2"+ - "\u07b4\u07b7\3\2\2\2\u07b5\u07b3\3\2\2\2\u07b5\u07b6\3\2\2\2\u07b6\u07b8"+ - "\3\2\2\2\u07b7\u07b5\3\2\2\2\u07b8\u07b9\7C\2\2\u07b9\u07ba\7\13\2\2\u07ba"+ - "\u07cd\3\2\2\2\u07bb\u07bc\7\62\2\2\u07bc\u07bd\7C\2\2\u07bd\u07cd\7\13"+ - "\2\2\u07be\u07cd\7-\2\2\u07bf\u07c0\58\35\2\u07c0\u07c1\7C\2\2\u07c1\u07c2"+ - "\7-\2\2\u07c2\u07cd\3\2\2\2\u07c3\u07c4\7;\2\2\u07c4\u07c5\5\u01a0\u00d1"+ - "\2\u07c5\u07c6\7<\2\2\u07c6\u07cd\3\2\2\2\u07c7\u07cd\5\u017a\u00be\2"+ - "\u07c8\u07cd\5\u0182\u00c2\2\u07c9\u07cd\5\u0188\u00c5\2\u07ca\u07cd\5"+ - "\u018e\u00c8\2\u07cb\u07cd\5\u0196\u00cc\2\u07cc\u07a4\3\2\2\2\u07cc\u07a5"+ - "\3\2\2\2\u07cc\u07b0\3\2\2\2\u07cc\u07bb\3\2\2\2\u07cc\u07be\3\2\2\2\u07cc"+ - "\u07bf\3\2\2\2\u07cc\u07c3\3\2\2\2\u07cc\u07c7\3\2\2\2\u07cc\u07c8\3\2"+ - "\2\2\u07cc\u07c9\3\2\2\2\u07cc\u07ca\3\2\2\2\u07cc\u07cb\3\2\2\2\u07cd"+ - "\u0171\3\2\2\2\u07ce\u07cf\3\2\2\2\u07cf\u0173\3\2\2\2\u07d0\u07f8\5\2"+ - "\2\2\u07d1\u07d6\58\35\2\u07d2\u07d3\7?\2\2\u07d3\u07d5\7@\2\2\u07d4\u07d2"+ - "\3\2\2\2\u07d5\u07d8\3\2\2\2\u07d6\u07d4\3\2\2\2\u07d6\u07d7\3\2\2\2\u07d7"+ - "\u07d9\3\2\2\2\u07d8\u07d6\3\2\2\2\u07d9\u07da\7C\2\2\u07da\u07db\7\13"+ - "\2\2\u07db\u07f8\3\2\2\2\u07dc\u07e1\5x=\2\u07dd\u07de\7?\2\2\u07de\u07e0"+ - "\7@\2\2\u07df\u07dd\3\2\2\2\u07e0\u07e3\3\2\2\2\u07e1\u07df\3\2\2\2\u07e1"+ - "\u07e2\3\2\2\2\u07e2\u07e4\3\2\2\2\u07e3\u07e1\3\2\2\2\u07e4\u07e5\7C"+ - "\2\2\u07e5\u07e6\7\13\2\2\u07e6\u07f8\3\2\2\2\u07e7\u07e8\7\62\2\2\u07e8"+ - "\u07e9\7C\2\2\u07e9\u07f8\7\13\2\2\u07ea\u07f8\7-\2\2\u07eb\u07ec\58\35"+ - "\2\u07ec\u07ed\7C\2\2\u07ed\u07ee\7-\2\2\u07ee\u07f8\3\2\2\2\u07ef\u07f0"+ - "\7;\2\2\u07f0\u07f1\5\u01a0\u00d1\2\u07f1\u07f2\7<\2\2\u07f2\u07f8\3\2"+ - "\2\2\u07f3\u07f8\5\u017a\u00be\2\u07f4\u07f8\5\u0182\u00c2\2\u07f5\u07f8"+ - "\5\u018e\u00c8\2\u07f6\u07f8\5\u0196\u00cc\2\u07f7\u07d0\3\2\2\2\u07f7"+ - "\u07d1\3\2\2\2\u07f7\u07dc\3\2\2\2\u07f7\u07e7\3\2\2\2\u07f7\u07ea\3\2"+ - "\2\2\u07f7\u07eb\3\2\2\2\u07f7\u07ef\3\2\2\2\u07f7\u07f3\3\2\2\2\u07f7"+ - "\u07f4\3\2\2\2\u07f7\u07f5\3\2\2\2\u07f7\u07f6\3\2\2\2\u07f8\u0175\3\2"+ - "\2\2\u07f9\u07fb\7!\2\2\u07fa\u07fc\5,\27\2\u07fb\u07fa\3\2\2\2\u07fb"+ - "\u07fc\3\2\2\2\u07fc\u0800\3\2\2\2\u07fd\u07ff\5\u00e8u\2\u07fe\u07fd"+ - "\3\2\2\2\u07ff\u0802\3\2\2\2\u0800\u07fe\3\2\2\2\u0800\u0801\3\2\2\2\u0801"+ - "\u0803\3\2\2\2\u0802\u0800\3\2\2\2\u0803\u080e\7h\2\2\u0804\u0808\7C\2"+ - "\2\u0805\u0807\5\u00e8u\2\u0806\u0805\3\2\2\2\u0807\u080a\3\2\2\2\u0808"+ - "\u0806\3\2\2\2\u0808\u0809\3\2\2\2\u0809\u080b\3\2\2\2\u080a\u0808\3\2"+ - "\2\2\u080b\u080d\7h\2\2\u080c\u0804\3\2\2\2\u080d\u0810\3\2\2\2\u080e"+ - "\u080c\3\2\2\2\u080e\u080f\3\2\2\2\u080f\u0812\3\2\2\2\u0810\u080e\3\2"+ - "\2\2\u0811\u0813\5\u017c\u00bf\2\u0812\u0811\3\2\2\2\u0812\u0813\3\2\2"+ - "\2\u0813\u0814\3\2\2\2\u0814\u0816\7;\2\2\u0815\u0817\5\u0190\u00c9\2"+ - "\u0816\u0815\3\2\2\2\u0816\u0817\3\2\2\2\u0817\u0818\3\2\2\2\u0818\u081a"+ - "\7<\2\2\u0819\u081b\5d\63\2\u081a\u0819\3\2\2\2\u081a\u081b\3\2\2\2\u081b"+ - "\u084d\3\2\2\2\u081c\u081d\5<\37\2\u081d\u081e\7C\2\2\u081e\u0820\7!\2"+ - "\2\u081f\u0821\5,\27\2\u0820\u081f\3\2\2\2\u0820\u0821\3\2\2\2\u0821\u0825"+ - "\3\2\2\2\u0822\u0824\5\u00e8u\2\u0823\u0822\3\2\2\2\u0824\u0827\3\2\2"+ - "\2\u0825\u0823\3\2\2\2\u0825\u0826\3\2\2\2\u0826\u0828\3\2\2\2\u0827\u0825"+ - "\3\2\2\2\u0828\u082a\7h\2\2\u0829\u082b\5\u017c\u00bf\2\u082a\u0829\3"+ - "\2\2\2\u082a\u082b\3\2\2\2\u082b\u082c\3\2\2\2\u082c\u082e\7;\2\2\u082d"+ - "\u082f\5\u0190\u00c9\2\u082e\u082d\3\2\2\2\u082e\u082f\3\2\2\2\u082f\u0830"+ - "\3\2\2\2\u0830\u0832\7<\2\2\u0831\u0833\5d\63\2\u0832\u0831\3\2\2\2\u0832"+ - "\u0833\3\2\2\2\u0833\u084d\3\2\2\2\u0834\u0835\5\u0162\u00b2\2\u0835\u0836"+ - "\7C\2\2\u0836\u0838\7!\2\2\u0837\u0839\5,\27\2\u0838\u0837\3\2\2\2\u0838"+ - "\u0839\3\2\2\2\u0839\u083d\3\2\2\2\u083a\u083c\5\u00e8u\2\u083b\u083a"+ - "\3\2\2\2\u083c\u083f\3\2\2\2\u083d\u083b\3\2\2\2\u083d\u083e\3\2\2\2\u083e"+ - "\u0840\3\2\2\2\u083f\u083d\3\2\2\2\u0840\u0842\7h\2\2\u0841\u0843\5\u017c"+ - "\u00bf\2\u0842\u0841\3\2\2\2\u0842\u0843\3\2\2\2\u0843\u0844\3\2\2\2\u0844"+ - "\u0846\7;\2\2\u0845\u0847\5\u0190\u00c9\2\u0846\u0845\3\2\2\2\u0846\u0847"+ - "\3\2\2\2\u0847\u0848\3\2\2\2\u0848\u084a\7<\2\2\u0849\u084b\5d\63\2\u084a"+ - "\u0849\3\2\2\2\u084a\u084b\3\2\2\2\u084b\u084d\3\2\2\2\u084c\u07f9\3\2"+ - "\2\2\u084c\u081c\3\2\2\2\u084c\u0834\3\2\2\2\u084d\u0177\3\2\2\2\u084e"+ - "\u084f\7C\2\2\u084f\u0851\7!\2\2\u0850\u0852\5,\27\2\u0851\u0850\3\2\2"+ - "\2\u0851\u0852\3\2\2\2\u0852\u0856\3\2\2\2\u0853\u0855\5\u00e8u\2\u0854"+ - "\u0853\3\2\2\2\u0855\u0858\3\2\2\2\u0856\u0854\3\2\2\2\u0856\u0857\3\2"+ - "\2\2\u0857\u0859\3\2\2\2\u0858\u0856\3\2\2\2\u0859\u085b\7h\2\2\u085a"+ - "\u085c\5\u017c\u00bf\2\u085b\u085a\3\2\2\2\u085b\u085c\3\2\2\2\u085c\u085d"+ - "\3\2\2\2\u085d\u085f\7;\2\2\u085e\u0860\5\u0190\u00c9\2\u085f\u085e\3"+ - "\2\2\2\u085f\u0860\3\2\2\2\u0860\u0861\3\2\2\2\u0861\u0863\7<\2\2\u0862"+ - "\u0864\5d\63\2\u0863\u0862\3\2\2\2\u0863\u0864\3\2\2\2\u0864\u0179\3\2"+ - "\2\2\u0865\u0867\7!\2\2\u0866\u0868\5,\27\2\u0867\u0866\3\2\2\2\u0867"+ - "\u0868\3\2\2\2\u0868\u086c\3\2\2\2\u0869\u086b\5\u00e8u\2\u086a\u0869"+ - "\3\2\2\2\u086b\u086e\3\2\2\2\u086c\u086a\3\2\2\2\u086c\u086d\3\2\2\2\u086d"+ - "\u086f\3\2\2\2\u086e\u086c\3\2\2\2\u086f\u087a\7h\2\2\u0870\u0874\7C\2"+ - "\2\u0871\u0873\5\u00e8u\2\u0872\u0871\3\2\2\2\u0873\u0876\3\2\2\2\u0874"+ - "\u0872\3\2\2\2\u0874\u0875\3\2\2\2\u0875\u0877\3\2\2\2\u0876\u0874\3\2"+ - "\2\2\u0877\u0879\7h\2\2\u0878\u0870\3\2\2\2\u0879\u087c\3\2\2\2\u087a"+ - "\u0878\3\2\2\2\u087a\u087b\3\2\2\2\u087b\u087e\3\2\2\2\u087c\u087a\3\2"+ - "\2\2\u087d\u087f\5\u017c\u00bf\2\u087e\u087d\3\2\2\2\u087e\u087f\3\2\2"+ - "\2\u087f\u0880\3\2\2\2\u0880\u0882\7;\2\2\u0881\u0883\5\u0190\u00c9\2"+ - "\u0882\u0881\3\2\2\2\u0882\u0883\3\2\2\2\u0883\u0884\3\2\2\2\u0884\u0886"+ - "\7<\2\2\u0885\u0887\5d\63\2\u0886\u0885\3\2\2\2\u0886\u0887\3\2\2\2\u0887"+ - "\u08a1\3\2\2\2\u0888\u0889\5<\37\2\u0889\u088a\7C\2\2\u088a\u088c\7!\2"+ - "\2\u088b\u088d\5,\27\2\u088c\u088b\3\2\2\2\u088c\u088d\3\2\2\2\u088d\u0891"+ - "\3\2\2\2\u088e\u0890\5\u00e8u\2\u088f\u088e\3\2\2\2\u0890\u0893\3\2\2"+ - "\2\u0891\u088f\3\2\2\2\u0891\u0892\3\2\2\2\u0892\u0894\3\2\2\2\u0893\u0891"+ - "\3\2\2\2\u0894\u0896\7h\2\2\u0895\u0897\5\u017c\u00bf\2\u0896\u0895\3"+ - "\2\2\2\u0896\u0897\3\2\2\2\u0897\u0898\3\2\2\2\u0898\u089a\7;\2\2\u0899"+ - "\u089b\5\u0190\u00c9\2\u089a\u0899\3\2\2\2\u089a\u089b\3\2\2\2\u089b\u089c"+ - "\3\2\2\2\u089c\u089e\7<\2\2\u089d\u089f\5d\63\2\u089e\u089d\3\2\2\2\u089e"+ - "\u089f\3\2\2\2\u089f\u08a1\3\2\2\2\u08a0\u0865\3\2\2\2\u08a0\u0888\3\2"+ - "\2\2\u08a1\u017b\3\2\2\2\u08a2\u08a6\5,\27\2\u08a3\u08a4\7F\2\2\u08a4"+ - "\u08a6\7E\2\2\u08a5\u08a2\3\2\2\2\u08a5\u08a3\3\2\2\2\u08a6\u017d\3\2"+ - "\2\2\u08a7\u08a8\5\u0162\u00b2\2\u08a8\u08a9\7C\2\2\u08a9\u08aa\7h\2\2"+ - "\u08aa\u08b5\3\2\2\2\u08ab\u08ac\7*\2\2\u08ac\u08ad\7C\2\2\u08ad\u08b5"+ - "\7h\2\2\u08ae\u08af\58\35\2\u08af\u08b0\7C\2\2\u08b0\u08b1\7*\2\2\u08b1"+ - "\u08b2\7C\2\2\u08b2\u08b3\7h\2\2\u08b3\u08b5\3\2\2\2\u08b4\u08a7\3\2\2"+ - "\2\u08b4\u08ab\3\2\2\2\u08b4\u08ae\3\2\2\2\u08b5\u017f\3\2\2\2\u08b6\u08b7"+ - "\7C\2\2\u08b7\u08b8\7h\2\2\u08b8\u0181\3\2\2\2\u08b9\u08ba\7*\2\2\u08ba"+ - "\u08bb\7C\2\2\u08bb\u08c3\7h\2\2\u08bc\u08bd\58\35\2\u08bd\u08be\7C\2"+ - "\2\u08be\u08bf\7*\2\2\u08bf\u08c0\7C\2\2\u08c0\u08c1\7h\2\2\u08c1\u08c3"+ - "\3\2\2\2\u08c2\u08b9\3\2\2\2\u08c2\u08bc\3\2\2\2\u08c3\u0183\3\2\2\2\u08c4"+ - "\u08c5\5<\37\2\u08c5\u08c6\7?\2\2\u08c6\u08c7\5\u01a0\u00d1\2\u08c7\u08c8"+ - "\7@\2\2\u08c8\u08cf\3\2\2\2\u08c9\u08ca\5\u0168\u00b5\2\u08ca\u08cb\7"+ - "?\2\2\u08cb\u08cc\5\u01a0\u00d1\2\u08cc\u08cd\7@\2\2\u08cd\u08cf\3\2\2"+ - "\2\u08ce\u08c4\3\2\2\2\u08ce\u08c9\3\2\2\2\u08cf\u08d7\3\2\2\2\u08d0\u08d1"+ - "\5\u0166\u00b4\2\u08d1\u08d2\7?\2\2\u08d2\u08d3\5\u01a0\u00d1\2\u08d3"+ - "\u08d4\7@\2\2\u08d4\u08d6\3\2\2\2\u08d5\u08d0\3\2\2\2\u08d6\u08d9\3\2"+ - "\2\2\u08d7\u08d5\3\2\2\2\u08d7\u08d8\3\2\2\2\u08d8\u0185\3\2\2\2\u08d9"+ - "\u08d7\3\2\2\2\u08da\u08db\5\u016e\u00b8\2\u08db\u08dc\7?\2\2\u08dc\u08dd"+ - "\5\u01a0\u00d1\2\u08dd\u08de\7@\2\2\u08de\u08e6\3\2\2\2\u08df\u08e0\5"+ - "\u016c\u00b7\2\u08e0\u08e1\7?\2\2\u08e1\u08e2\5\u01a0\u00d1\2\u08e2\u08e3"+ - "\7@\2\2\u08e3\u08e5\3\2\2\2\u08e4\u08df\3\2\2\2\u08e5\u08e8\3\2\2\2\u08e6"+ - "\u08e4\3\2\2\2\u08e6\u08e7\3\2\2\2\u08e7\u0187\3\2\2\2\u08e8\u08e6\3\2"+ - "\2\2\u08e9\u08ea\5<\37\2\u08ea\u08eb\7?\2\2\u08eb\u08ec\5\u01a0\u00d1"+ - "\2\u08ec\u08ed\7@\2\2\u08ed\u08f4\3\2\2\2\u08ee\u08ef\5\u0174\u00bb\2"+ - "\u08ef\u08f0\7?\2\2\u08f0\u08f1\5\u01a0\u00d1\2\u08f1\u08f2\7@\2\2\u08f2"+ - "\u08f4\3\2\2\2\u08f3\u08e9\3\2\2\2\u08f3\u08ee\3\2\2\2\u08f4\u08fc\3\2"+ - "\2\2\u08f5\u08f6\5\u0172\u00ba\2\u08f6\u08f7\7?\2\2\u08f7\u08f8\5\u01a0"+ - "\u00d1\2\u08f8\u08f9\7@\2\2\u08f9\u08fb\3\2\2\2\u08fa\u08f5\3\2\2\2\u08fb"+ - "\u08fe\3\2\2\2\u08fc\u08fa\3\2\2\2\u08fc\u08fd\3\2\2\2\u08fd\u0189\3\2"+ - "\2\2\u08fe\u08fc\3\2\2\2\u08ff\u0900\5> \2\u0900\u0902\7;\2\2\u0901\u0903"+ - "\5\u0190\u00c9\2\u0902\u0901\3\2\2\2\u0902\u0903\3\2\2\2\u0903\u0904\3"+ - "\2\2\2\u0904\u0905\7<\2\2\u0905\u0944\3\2\2\2\u0906\u0907\58\35\2\u0907"+ - "\u0909\7C\2\2\u0908\u090a\5,\27\2\u0909\u0908\3\2\2\2\u0909\u090a\3\2"+ - "\2\2\u090a\u090b\3\2\2\2\u090b\u090c\7h\2\2\u090c\u090e\7;\2\2\u090d\u090f"+ - "\5\u0190\u00c9\2\u090e\u090d\3\2\2\2\u090e\u090f\3\2\2\2\u090f\u0910\3"+ - "\2\2\2\u0910\u0911\7<\2\2\u0911\u0944\3\2\2\2\u0912\u0913\5<\37\2\u0913"+ - "\u0915\7C\2\2\u0914\u0916\5,\27\2\u0915\u0914\3\2\2\2\u0915\u0916\3\2"+ - "\2\2\u0916\u0917\3\2\2\2\u0917\u0918\7h\2\2\u0918\u091a\7;\2\2\u0919\u091b"+ - "\5\u0190\u00c9\2\u091a\u0919\3\2\2\2\u091a\u091b\3\2\2\2\u091b\u091c\3"+ - "\2\2\2\u091c\u091d\7<\2\2\u091d\u0944\3\2\2\2\u091e\u091f\5\u0162\u00b2"+ - "\2\u091f\u0921\7C\2\2\u0920\u0922\5,\27\2\u0921\u0920\3\2\2\2\u0921\u0922"+ - "\3\2\2\2\u0922\u0923\3\2\2\2\u0923\u0924\7h\2\2\u0924\u0926\7;\2\2\u0925"+ - "\u0927\5\u0190\u00c9\2\u0926\u0925\3\2\2\2\u0926\u0927\3\2\2\2\u0927\u0928"+ - "\3\2\2\2\u0928\u0929\7<\2\2\u0929\u0944\3\2\2\2\u092a\u092b\7*\2\2\u092b"+ - "\u092d\7C\2\2\u092c\u092e\5,\27\2\u092d\u092c\3\2\2\2\u092d\u092e\3\2"+ - "\2\2\u092e\u092f\3\2\2\2\u092f\u0930\7h\2\2\u0930\u0932\7;\2\2\u0931\u0933"+ - "\5\u0190\u00c9\2\u0932\u0931\3\2\2\2\u0932\u0933\3\2\2\2\u0933\u0934\3"+ - "\2\2\2\u0934\u0944\7<\2\2\u0935\u0936\58\35\2\u0936\u0937\7C\2\2\u0937"+ - "\u0938\7*\2\2\u0938\u093a\7C\2\2\u0939\u093b\5,\27\2\u093a\u0939\3\2\2"+ - "\2\u093a\u093b\3\2\2\2\u093b\u093c\3\2\2\2\u093c\u093d\7h\2\2\u093d\u093f"+ - "\7;\2\2\u093e\u0940\5\u0190\u00c9\2\u093f\u093e\3\2\2\2\u093f\u0940\3"+ - "\2\2\2\u0940\u0941\3\2\2\2\u0941\u0942\7<\2\2\u0942\u0944\3\2\2\2\u0943"+ - "\u08ff\3\2\2\2\u0943\u0906\3\2\2\2\u0943\u0912\3\2\2\2\u0943\u091e\3\2"+ - "\2\2\u0943\u092a\3\2\2\2\u0943\u0935\3\2\2\2\u0944\u018b\3\2\2\2\u0945"+ - "\u0947\7C\2\2\u0946\u0948\5,\27\2\u0947\u0946\3\2\2\2\u0947\u0948\3\2"+ - "\2\2\u0948\u0949\3\2\2\2\u0949\u094a\7h\2\2\u094a\u094c\7;\2\2\u094b\u094d"+ - "\5\u0190\u00c9\2\u094c\u094b\3\2\2\2\u094c\u094d\3\2\2\2\u094d\u094e\3"+ - "\2\2\2\u094e\u094f\7<\2\2\u094f\u018d\3\2\2\2\u0950\u0951\5> \2\u0951"+ - "\u0953\7;\2\2\u0952\u0954\5\u0190\u00c9\2\u0953\u0952\3\2\2\2\u0953\u0954"+ - "\3\2\2\2\u0954\u0955\3\2\2\2\u0955\u0956\7<\2\2\u0956\u0989\3\2\2\2\u0957"+ - "\u0958\58\35\2\u0958\u095a\7C\2\2\u0959\u095b\5,\27\2\u095a\u0959\3\2"+ - "\2\2\u095a\u095b\3\2\2\2\u095b\u095c\3\2\2\2\u095c\u095d\7h\2\2\u095d"+ - "\u095f\7;\2\2\u095e\u0960\5\u0190\u00c9\2\u095f\u095e\3\2\2\2\u095f\u0960"+ - "\3\2\2\2\u0960\u0961\3\2\2\2\u0961\u0962\7<\2\2\u0962\u0989\3\2\2\2\u0963"+ - "\u0964\5<\37\2\u0964\u0966\7C\2\2\u0965\u0967\5,\27\2\u0966\u0965\3\2"+ - "\2\2\u0966\u0967\3\2\2\2\u0967\u0968\3\2\2\2\u0968\u0969\7h\2\2"; + "\u03f2\3\2\2\2\u03f4\u0091\3\2\2\2\u03f5\u03f7\5\u0094K\2\u03f6\u03f5"+ + "\3\2\2\2\u03f6\u03f7\3\2\2\2\u03f7\u03f8\3\2\2\2\u03f8\u03fa\5\u0096L"+ + "\2\u03f9\u03fb\5\u00a4S\2\u03fa\u03f9\3\2\2\2\u03fa\u03fb\3\2\2\2\u03fb"+ + "\u0409\3\2\2\2\u03fc\u0400\5Z.\2\u03fd\u03ff\5\u00e8u\2\u03fe\u03fd\3"+ + "\2\2\2\u03ff\u0402\3\2\2\2\u0400\u03fe\3\2\2\2\u0400\u0401\3\2\2\2\u0401"+ + "\u0403\3\2\2\2\u0402\u0400\3\2\2\2\u0403\u0404\5\u0094K\2\u0404\u0406"+ + "\5\u0096L\2\u0405\u0407\5\u00a4S\2\u0406\u0405\3\2\2\2\u0406\u0407\3\2"+ + "\2\2\u0407\u0409\3\2\2\2\u0408\u03f6\3\2\2\2\u0408\u03fc\3\2\2\2\u0409"+ + "\u0093\3\2\2\2\u040a\u040d\5v<\2\u040b\u040d\7\62\2\2\u040c\u040a\3\2"+ + "\2\2\u040c\u040b\3\2\2\2\u040d\u0095\3\2\2\2\u040e\u040f\7h\2\2\u040f"+ + "\u0411\7;\2\2\u0410\u0412\5\u0098M\2\u0411\u0410\3\2\2\2\u0411\u0412\3"+ + "\2\2\2\u0412\u0413\3\2\2\2\u0413\u0415\7<\2\2\u0414\u0416\5\"\22\2\u0415"+ + "\u0414\3\2\2\2\u0415\u0416\3\2\2\2\u0416\u0097\3\2\2\2\u0417\u0418\5\u009a"+ + "N\2\u0418\u0419\7B\2\2\u0419\u041a\5\u00a0Q\2\u041a\u041d\3\2\2\2\u041b"+ + "\u041d\5\u00a0Q\2\u041c\u0417\3\2\2\2\u041c\u041b\3\2\2\2\u041d\u0099"+ + "\3\2\2\2\u041e\u0423\5\u009cO\2\u041f\u0420\7B\2\2\u0420\u0422\5\u009c"+ + "O\2\u0421\u041f\3\2\2\2\u0422\u0425\3\2\2\2\u0423\u0421\3\2\2\2\u0423"+ + "\u0424\3\2\2\2\u0424\u042f\3\2\2\2\u0425\u0423\3\2\2\2\u0426\u042b\5\u00a2"+ + "R\2\u0427\u0428\7B\2\2\u0428\u042a\5\u009cO\2\u0429\u0427\3\2\2\2\u042a"+ + "\u042d\3\2\2\2\u042b\u0429\3\2\2\2\u042b\u042c\3\2\2\2\u042c\u042f\3\2"+ + "\2\2\u042d\u042b\3\2\2\2\u042e\u041e\3\2\2\2\u042e\u0426\3\2\2\2\u042f"+ + "\u009b\3\2\2\2\u0430\u0432\5\u009eP\2\u0431\u0430\3\2\2\2\u0432\u0435"+ + "\3\2\2\2\u0433\u0431\3\2\2\2\u0433\u0434\3\2\2\2\u0434\u0437\3\2\2\2\u0435"+ + "\u0433\3\2\2\2\u0436\u0438\5v<\2\u0437\u0436\3\2\2\2\u0437\u0438\3\2\2"+ + "\2\u0438\u0439\3\2\2\2\u0439\u043a\5r:\2\u043a\u009d\3\2\2\2\u043b\u043e"+ + "\5\u00e8u\2\u043c\u043e\7\24\2\2\u043d\u043b\3\2\2\2\u043d\u043c\3\2\2"+ + "\2\u043e\u009f\3\2\2\2\u043f\u0441\5\u009eP\2\u0440\u043f\3\2\2\2\u0441"+ + "\u0444\3\2\2\2\u0442\u0440\3\2\2\2\u0442\u0443\3\2\2\2\u0443\u0445\3\2"+ + "\2\2\u0444\u0442\3\2\2\2\u0445\u0449\5v<\2\u0446\u0448\5\u00e8u\2\u0447"+ + "\u0446\3\2\2\2\u0448\u044b\3\2\2\2\u0449\u0447\3\2\2\2\u0449\u044a\3\2"+ + "\2\2\u044a\u044c\3\2\2\2\u044b\u0449\3\2\2\2\u044c\u044d\7j\2\2\u044d"+ + "\u044e\5r:\2\u044e\u0451\3\2\2\2\u044f\u0451\5\u009cO\2\u0450\u0442\3"+ + "\2\2\2\u0450\u044f\3\2\2\2\u0451\u00a1\3\2\2\2\u0452\u0454\5\u00e8u\2"+ + "\u0453\u0452\3\2\2\2\u0454\u0457\3\2\2\2\u0455\u0453\3\2\2\2\u0455\u0456"+ + "\3\2\2\2\u0456\u0458\3\2\2\2\u0457\u0455\3\2\2\2\u0458\u045b\5v<\2\u0459"+ + "\u045a\7h\2\2\u045a\u045c\7C\2\2\u045b\u0459\3\2\2\2\u045b\u045c\3\2\2"+ + "\2\u045c\u045d\3\2\2\2\u045d\u045e\7-\2\2\u045e\u00a3\3\2\2\2\u045f\u0460"+ + "\7/\2\2\u0460\u0461\5\u00a6T\2\u0461\u00a5\3\2\2\2\u0462\u0467\5\u00a8"+ + "U\2\u0463\u0464\7B\2\2\u0464\u0466\5\u00a8U\2\u0465\u0463\3\2\2\2\u0466"+ + "\u0469\3\2\2\2\u0467\u0465\3\2\2\2\u0467\u0468\3\2\2\2\u0468\u00a7\3\2"+ + "\2\2\u0469\u0467\3\2\2\2\u046a\u046d\5\22\n\2\u046b\u046d\5\36\20\2\u046c"+ + "\u046a\3\2\2\2\u046c\u046b\3\2\2\2\u046d\u00a9\3\2\2\2\u046e\u0471\5\u00fe"+ + "\u0080\2\u046f\u0471\7A\2\2\u0470\u046e\3\2\2\2\u0470\u046f\3\2\2\2\u0471"+ + "\u00ab\3\2\2\2\u0472\u0473\5\u00fe\u0080\2\u0473\u00ad\3\2\2\2\u0474\u0475"+ + "\7(\2\2\u0475\u0476\5\u00fe\u0080\2\u0476\u00af\3\2\2\2\u0477\u0479\5"+ + "\u00b2Z\2\u0478\u0477\3\2\2\2\u0479\u047c\3\2\2\2\u047a\u0478\3\2\2\2"+ + "\u047a\u047b\3\2\2\2\u047b\u047d\3\2\2\2\u047c\u047a\3\2\2\2\u047d\u047f"+ + "\5\u00b4[\2\u047e\u0480\5\u00a4S\2\u047f\u047e\3\2\2\2\u047f\u0480\3\2"+ + "\2\2\u0480\u0481\3\2\2\2\u0481\u0482\5\u00b8]\2\u0482\u00b1\3\2\2\2\u0483"+ + "\u0488\5\u00e8u\2\u0484\u0488\7%\2\2\u0485\u0488\7$\2\2\u0486\u0488\7"+ + "#\2\2\u0487\u0483\3\2\2\2\u0487\u0484\3\2\2\2\u0487\u0485\3\2\2\2\u0487"+ + "\u0486\3\2\2\2\u0488\u00b3\3\2\2\2\u0489\u048b\5Z.\2\u048a\u0489\3\2\2"+ + "\2\u048a\u048b\3\2\2\2\u048b\u048c\3\2\2\2\u048c\u048d\5\u00b6\\\2\u048d"+ + "\u048f\7;\2\2\u048e\u0490\5\u0098M\2\u048f\u048e\3\2\2\2\u048f\u0490\3"+ + "\2\2\2\u0490\u0491\3\2\2\2\u0491\u0492\7<\2\2\u0492\u00b5\3\2\2\2\u0493"+ + "\u0494\7h\2\2\u0494\u00b7\3\2\2\2\u0495\u0497\7=\2\2\u0496\u0498\5\u00ba"+ + "^\2\u0497\u0496\3\2\2\2\u0497\u0498\3\2\2\2\u0498\u049a\3\2\2\2\u0499"+ + "\u049b\5\u0100\u0081\2\u049a\u0499\3\2\2\2\u049a\u049b\3\2\2\2\u049b\u049c"+ + "\3\2\2\2\u049c\u049d\7>\2\2\u049d\u00b9\3\2\2\2\u049e\u04a0\5,\27\2\u049f"+ + "\u049e\3\2\2\2\u049f\u04a0\3\2\2\2\u04a0\u04a1\3\2\2\2\u04a1\u04a2\7-"+ + "\2\2\u04a2\u04a4\7;\2\2\u04a3\u04a5\5\u0190\u00c9\2\u04a4\u04a3\3\2\2"+ + "\2\u04a4\u04a5\3\2\2\2\u04a5\u04a6\3\2\2\2\u04a6\u04a7\7<\2\2\u04a7\u04cd"+ + "\7A\2\2\u04a8\u04aa\5,\27\2\u04a9\u04a8\3\2\2\2\u04a9\u04aa\3\2\2\2\u04aa"+ + "\u04ab\3\2\2\2\u04ab\u04ac\7*\2\2\u04ac\u04ae\7;\2\2\u04ad\u04af\5\u0190"+ + "\u00c9\2\u04ae\u04ad\3\2\2\2\u04ae\u04af\3\2\2\2\u04af\u04b0\3\2\2\2\u04b0"+ + "\u04b1\7<\2\2\u04b1\u04cd\7A\2\2\u04b2\u04b3\5<\37\2\u04b3\u04b5\7C\2"+ + "\2\u04b4\u04b6\5,\27\2\u04b5\u04b4\3\2\2\2\u04b5\u04b6\3\2\2\2\u04b6\u04b7"+ + "\3\2\2\2\u04b7\u04b8\7*\2\2\u04b8\u04ba\7;\2\2\u04b9\u04bb\5\u0190\u00c9"+ + "\2\u04ba\u04b9\3\2\2\2\u04ba\u04bb\3\2\2\2\u04bb\u04bc\3\2\2\2\u04bc\u04bd"+ + "\7<\2\2\u04bd\u04be\7A\2\2\u04be\u04cd\3\2\2\2\u04bf\u04c0\5\u0162\u00b2"+ + "\2\u04c0\u04c2\7C\2\2\u04c1\u04c3\5,\27\2\u04c2\u04c1\3\2\2\2\u04c2\u04c3"+ + "\3\2\2\2\u04c3\u04c4\3\2\2\2\u04c4\u04c5\7*\2\2\u04c5\u04c7\7;\2\2\u04c6"+ + "\u04c8\5\u0190\u00c9\2\u04c7\u04c6\3\2\2\2\u04c7\u04c8\3\2\2\2\u04c8\u04c9"+ + "\3\2\2\2\u04c9\u04ca\7<\2\2\u04ca\u04cb\7A\2\2\u04cb\u04cd\3\2\2\2\u04cc"+ + "\u049f\3\2\2\2\u04cc\u04a9\3\2\2\2\u04cc\u04b2\3\2\2\2\u04cc\u04bf\3\2"+ + "\2\2\u04cd\u00bb\3\2\2\2\u04ce\u04d0\5X-\2\u04cf\u04ce\3\2\2\2\u04d0\u04d3"+ + "\3\2\2\2\u04d1\u04cf\3\2\2\2\u04d1\u04d2\3\2\2\2\u04d2\u04d4\3\2\2\2\u04d3"+ + "\u04d1\3\2\2\2\u04d4\u04d5\7\22\2\2\u04d5\u04d7\7h\2\2\u04d6\u04d8\5`"+ + "\61\2\u04d7\u04d6\3\2\2\2\u04d7\u04d8\3\2\2\2\u04d8\u04d9\3\2\2\2\u04d9"+ + "\u04da\5\u00be`\2\u04da\u00bd\3\2\2\2\u04db\u04dd\7=\2\2\u04dc\u04de\5"+ + "\u00c0a\2\u04dd\u04dc\3\2\2\2\u04dd\u04de\3\2\2\2\u04de\u04e0\3\2\2\2"+ + "\u04df\u04e1\7B\2\2\u04e0\u04df\3\2\2\2\u04e0\u04e1\3\2\2\2\u04e1\u04e3"+ + "\3\2\2\2\u04e2\u04e4\5\u00c6d\2\u04e3\u04e2\3\2\2\2\u04e3\u04e4\3\2\2"+ + "\2\u04e4\u04e5\3\2\2\2\u04e5\u04e6\7>\2\2\u04e6\u00bf\3\2\2\2\u04e7\u04ec"+ + "\5\u00c2b\2\u04e8\u04e9\7B\2\2\u04e9\u04eb\5\u00c2b\2\u04ea\u04e8\3\2"+ + "\2\2\u04eb\u04ee\3\2\2\2\u04ec\u04ea\3\2\2\2\u04ec\u04ed\3\2\2\2\u04ed"+ + "\u00c1\3\2\2\2\u04ee\u04ec\3\2\2\2\u04ef\u04f1\5\u00c4c\2\u04f0\u04ef"+ + "\3\2\2\2\u04f1\u04f4\3\2\2\2\u04f2\u04f0\3\2\2\2\u04f2\u04f3\3\2\2\2\u04f3"+ + "\u04f5\3\2\2\2\u04f4\u04f2\3\2\2\2\u04f5\u04fb\7h\2\2\u04f6\u04f8\7;\2"+ + "\2\u04f7\u04f9\5\u0190\u00c9\2\u04f8\u04f7\3\2\2\2\u04f8\u04f9\3\2\2\2"+ + "\u04f9\u04fa\3\2\2\2\u04fa\u04fc\7<\2\2\u04fb\u04f6\3\2\2\2\u04fb\u04fc"+ + "\3\2\2\2\u04fc\u04fe\3\2\2\2\u04fd\u04ff\5d\63\2\u04fe\u04fd\3\2\2\2\u04fe"+ + "\u04ff\3\2\2\2\u04ff\u00c3\3\2\2\2\u0500\u0501\5\u00e8u\2\u0501\u00c5"+ + "\3\2\2\2\u0502\u0506\7A\2\2\u0503\u0505\5f\64\2\u0504\u0503\3\2\2\2\u0505"+ + "\u0508\3\2\2\2\u0506\u0504\3\2\2\2\u0506\u0507\3\2\2\2\u0507\u00c7\3\2"+ + "\2\2\u0508\u0506\3\2\2\2\u0509\u050c\5\u00caf\2\u050a\u050c\5\u00dco\2"+ + "\u050b\u0509\3\2\2\2\u050b\u050a\3\2\2\2\u050c\u00c9\3\2\2\2\u050d\u050f"+ + "\5\u00ccg\2\u050e\u050d\3\2\2\2\u050f\u0512\3\2\2\2\u0510\u050e\3\2\2"+ + "\2\u0510\u0511\3\2\2\2\u0511\u0513\3\2\2\2\u0512\u0510\3\2\2\2\u0513\u0514"+ + "\7\36\2\2\u0514\u0516\7h\2\2\u0515\u0517\5Z.\2\u0516\u0515\3\2\2\2\u0516"+ + "\u0517\3\2\2\2\u0517\u0519\3\2\2\2\u0518\u051a\5\u00ceh\2\u0519\u0518"+ + "\3\2\2\2\u0519\u051a\3\2\2\2\u051a\u051b\3\2\2\2\u051b\u051c\5\u00d0i"+ + "\2\u051c\u00cb\3\2\2\2\u051d\u0525\5\u00e8u\2\u051e\u0525\7%\2\2\u051f"+ + "\u0525\7$\2\2\u0520\u0525\7#\2\2\u0521\u0525\7\3\2\2\u0522\u0525\7(\2"+ + "\2\u0523\u0525\7)\2\2\u0524\u051d\3\2\2\2\u0524\u051e\3\2\2\2\u0524\u051f"+ + "\3\2\2\2\u0524\u0520\3\2\2\2\u0524\u0521\3\2\2\2\u0524\u0522\3\2\2\2\u0524"+ + "\u0523\3\2\2\2\u0525\u00cd\3\2\2\2\u0526\u0527\7\23\2\2\u0527\u0528\5"+ + "b\62\2\u0528\u00cf\3\2\2\2\u0529\u052d\7=\2\2\u052a\u052c\5\u00d2j\2\u052b"+ + "\u052a\3\2\2\2\u052c\u052f\3\2\2\2\u052d\u052b\3\2\2\2\u052d\u052e\3\2"+ + "\2\2\u052e\u0530\3\2\2\2\u052f\u052d\3\2\2\2\u0530\u0531\7>\2\2\u0531"+ + "\u00d1\3\2\2\2\u0532\u0538\5\u00d4k\2\u0533\u0538\5\u00d8m\2\u0534\u0538"+ + "\5T+\2\u0535\u0538\5\u00c8e\2\u0536\u0538\7A\2\2\u0537\u0532\3\2\2\2\u0537"+ + "\u0533\3\2\2\2\u0537\u0534\3\2\2\2\u0537\u0535\3\2\2\2\u0537\u0536\3\2"+ + "\2\2\u0538\u00d3\3\2\2\2\u0539\u053b\5\u00d6l\2\u053a\u0539\3\2\2\2\u053b"+ + "\u053e\3\2\2\2\u053c\u053a\3\2\2\2\u053c\u053d\3\2\2\2\u053d\u053f\3\2"+ + "\2\2\u053e\u053c\3\2\2\2\u053f\u0540\5v<\2\u0540\u0541\5n8\2\u0541\u0542"+ + "\7A\2\2\u0542\u00d5\3\2\2\2\u0543\u0548\5\u00e8u\2\u0544\u0548\7%\2\2"+ + "\u0545\u0548\7(\2\2\u0546\u0548\7\24\2\2\u0547\u0543\3\2\2\2\u0547\u0544"+ + "\3\2\2\2\u0547\u0545\3\2\2\2\u0547\u0546\3\2\2\2\u0548\u00d7\3\2\2\2\u0549"+ + "\u054b\5\u00dan\2\u054a\u0549\3\2\2\2\u054b\u054e\3\2\2\2\u054c\u054a"+ + "\3\2\2\2\u054c\u054d\3\2\2\2\u054d\u054f\3\2\2\2\u054e\u054c\3\2\2\2\u054f"+ + "\u0550\5\u0092J\2\u0550\u0551\5\u00aaV\2\u0551\u00d9\3\2\2\2\u0552\u0559"+ + "\5\u00e8u\2\u0553\u0559\7%\2\2\u0554\u0559\7\3\2\2\u0555\u0559\7\16\2"+ + "\2\u0556\u0559\7(\2\2\u0557\u0559\7)\2\2\u0558\u0552\3\2\2\2\u0558\u0553"+ + "\3\2\2\2\u0558\u0554\3\2\2\2\u0558\u0555\3\2\2\2\u0558\u0556\3\2\2\2\u0558"+ + "\u0557\3\2\2\2\u0559\u00db\3\2\2\2\u055a\u055c\5\u00ccg\2\u055b\u055a"+ + "\3\2\2\2\u055c\u055f\3\2\2\2\u055d\u055b\3\2\2\2\u055d\u055e\3\2\2\2\u055e"+ + "\u0560\3\2\2\2\u055f\u055d\3\2\2\2\u0560\u0561\7i\2\2\u0561\u0562\7\36"+ + "\2\2\u0562\u0563\7h\2\2\u0563\u0564\5\u00dep\2\u0564\u00dd\3\2\2\2\u0565"+ + "\u0569\7=\2\2\u0566\u0568\5\u00e0q\2\u0567\u0566\3\2\2\2\u0568\u056b\3"+ + "\2\2\2\u0569\u0567\3\2\2\2\u0569\u056a\3\2\2\2\u056a\u056c\3\2\2\2\u056b"+ + "\u0569\3\2\2\2\u056c\u056d\7>\2\2\u056d\u00df\3\2\2\2\u056e\u0574\5\u00e2"+ + "r\2\u056f\u0574\5\u00d4k\2\u0570\u0574\5T+\2\u0571\u0574\5\u00c8e\2\u0572"+ + "\u0574\7A\2\2\u0573\u056e\3\2\2\2\u0573\u056f\3\2\2\2\u0573\u0570\3\2"+ + "\2\2\u0573\u0571\3\2\2\2\u0573\u0572\3\2\2\2\u0574\u00e1\3\2\2\2\u0575"+ + "\u0577\5\u00e4s\2\u0576\u0575\3\2\2\2\u0577\u057a\3\2\2\2\u0578\u0576"+ + "\3\2\2\2\u0578\u0579\3\2\2\2\u0579\u057b\3\2\2\2\u057a\u0578\3\2\2\2\u057b"+ + "\u057c\5v<\2\u057c\u057d\7h\2\2\u057d\u057e\7;\2\2\u057e\u0580\7<\2\2"+ + "\u057f\u0581\5\"\22\2\u0580\u057f\3\2\2\2\u0580\u0581\3\2\2\2\u0581\u0583"+ + "\3\2\2\2\u0582\u0584\5\u00e6t\2\u0583\u0582\3\2\2\2\u0583\u0584\3\2\2"+ + "\2\u0584\u0585\3\2\2\2\u0585\u0586\7A\2\2\u0586\u00e3\3\2\2\2\u0587\u058b"+ + "\5\u00e8u\2\u0588\u058b\7%\2\2\u0589\u058b\7\3\2\2\u058a\u0587\3\2\2\2"+ + "\u058a\u0588\3\2\2\2\u058a\u0589\3\2\2\2\u058b\u00e5\3\2\2\2\u058c\u058d"+ + "\7\16\2\2\u058d\u058e\5\u00f0y\2\u058e\u00e7\3\2\2\2\u058f\u0593\5\u00ea"+ + "v\2\u0590\u0593\5\u00f6|\2\u0591\u0593\5\u00f8}\2\u0592\u058f\3\2\2\2"+ + "\u0592\u0590\3\2\2\2\u0592\u0591\3\2\2\2\u0593\u00e9\3\2\2\2\u0594\u0595"+ + "\7i\2\2\u0595\u0596\58\35\2\u0596\u0598\7;\2\2\u0597\u0599\5\u00ecw\2"+ + "\u0598\u0597\3\2\2\2\u0598\u0599\3\2\2\2\u0599\u059a\3\2\2\2\u059a\u059b"+ + "\7<\2\2\u059b\u00eb\3\2\2\2\u059c\u05a1\5\u00eex\2\u059d\u059e\7B\2\2"+ + "\u059e\u05a0\5\u00eex\2\u059f\u059d\3\2\2\2\u05a0\u05a3\3\2\2\2\u05a1"+ + "\u059f\3\2\2\2\u05a1\u05a2\3\2\2\2\u05a2\u00ed\3\2\2\2\u05a3\u05a1\3\2"+ + "\2\2\u05a4\u05a5\7h\2\2\u05a5\u05a6\7D\2\2\u05a6\u05a7\5\u00f0y\2\u05a7"+ + "\u00ef\3\2\2\2\u05a8\u05ac\5\u01b2\u00da\2\u05a9\u05ac\5\u00f2z\2\u05aa"+ + "\u05ac\5\u00e8u\2\u05ab\u05a8\3\2\2\2\u05ab\u05a9\3\2\2\2\u05ab\u05aa"+ + "\3\2\2\2\u05ac\u00f1\3\2\2\2\u05ad\u05af\7=\2\2\u05ae\u05b0\5\u00f4{\2"+ + "\u05af\u05ae\3\2\2\2\u05af\u05b0\3\2\2\2\u05b0\u05b2\3\2\2\2\u05b1\u05b3"+ + "\7B\2\2\u05b2\u05b1\3\2\2\2\u05b2\u05b3\3\2\2\2\u05b3\u05b4\3\2\2\2\u05b4"+ + "\u05b5\7>\2\2\u05b5\u00f3\3\2\2\2\u05b6\u05bb\5\u00f0y\2\u05b7\u05b8\7"+ + "B\2\2\u05b8\u05ba\5\u00f0y\2\u05b9\u05b7\3\2\2\2\u05ba\u05bd\3\2\2\2\u05bb"+ + "\u05b9\3\2\2\2\u05bb\u05bc\3\2\2\2\u05bc\u00f5\3\2\2\2\u05bd\u05bb\3\2"+ + "\2\2\u05be\u05bf\7i\2\2\u05bf\u05c0\58\35\2\u05c0\u00f7\3\2\2\2\u05c1"+ + "\u05c2\7i\2\2\u05c2\u05c3\58\35\2\u05c3\u05c4\7;\2\2\u05c4\u05c5\5\u00f0"+ + "y\2\u05c5\u05c6\7<\2\2\u05c6\u00f9\3\2\2\2\u05c7\u05c9\7=\2\2\u05c8\u05ca"+ + "\5\u00fc\177\2\u05c9\u05c8\3\2\2\2\u05c9\u05ca\3\2\2\2\u05ca\u05cc\3\2"+ + "\2\2\u05cb\u05cd\7B\2\2\u05cc\u05cb\3\2\2\2\u05cc\u05cd\3\2\2\2\u05cd"+ + "\u05ce\3\2\2\2\u05ce\u05cf\7>\2\2\u05cf\u00fb\3\2\2\2\u05d0\u05d5\5t;"+ + "\2\u05d1\u05d2\7B\2\2\u05d2\u05d4\5t;\2\u05d3\u05d1\3\2\2\2\u05d4\u05d7"+ + "\3\2\2\2\u05d5\u05d3\3\2\2\2\u05d5\u05d6\3\2\2\2\u05d6\u00fd\3\2\2\2\u05d7"+ + "\u05d5\3\2\2\2\u05d8\u05da\7=\2\2\u05d9\u05db\5\u0100\u0081\2\u05da\u05d9"+ + "\3\2\2\2\u05da\u05db\3\2\2\2\u05db\u05dc\3\2\2\2\u05dc\u05dd\7>\2\2\u05dd"+ + "\u00ff\3\2\2\2\u05de\u05e2\5\u0102\u0082\2\u05df\u05e1\5\u0102\u0082\2"+ + "\u05e0\u05df\3\2\2\2\u05e1\u05e4\3\2\2\2\u05e2\u05e0\3\2\2\2\u05e2\u05e3"+ + "\3\2\2\2\u05e3\u0101\3\2\2\2\u05e4\u05e2\3\2\2\2\u05e5\u05e9\5\u0104\u0083"+ + "\2\u05e6\u05e9\5T+\2\u05e7\u05e9\5\u0108\u0085\2\u05e8\u05e5\3\2\2\2\u05e8"+ + "\u05e6\3\2\2\2\u05e8\u05e7\3\2\2\2\u05e9\u0103\3\2\2\2\u05ea\u05eb\5\u0106"+ + "\u0084\2\u05eb\u05ec\7A\2\2\u05ec\u0105\3\2\2\2\u05ed\u05ef\5\u009eP\2"+ + "\u05ee\u05ed\3\2\2\2\u05ef\u05f2\3\2\2\2\u05f0\u05ee\3\2\2\2\u05f0\u05f1"+ + "\3\2\2\2\u05f1\u05f3\3\2\2\2\u05f2\u05f0\3\2\2\2\u05f3\u05f4\5v<\2\u05f4"+ + "\u05f5\5n8\2\u05f5\u0107\3\2\2\2\u05f6\u05fd\5\u010c\u0087\2\u05f7\u05fd"+ + "\5\u0110\u0089\2\u05f8\u05fd\5\u0118\u008d\2\u05f9\u05fd\5\u011a\u008e"+ + "\2\u05fa\u05fd\5\u012c\u0097\2\u05fb\u05fd\5\u0132\u009a\2\u05fc\u05f6"+ + "\3\2\2\2\u05fc\u05f7\3\2\2\2\u05fc\u05f8\3\2\2\2\u05fc\u05f9\3\2\2\2\u05fc"+ + "\u05fa\3\2\2\2\u05fc\u05fb\3\2\2\2\u05fd\u0109\3\2\2\2\u05fe\u0604\5\u010c"+ + "\u0087\2\u05ff\u0604\5\u0112\u008a\2\u0600\u0604\5\u011c\u008f\2\u0601"+ + "\u0604\5\u012e\u0098\2\u0602\u0604\5\u0134\u009b\2\u0603\u05fe\3\2\2\2"+ + "\u0603\u05ff\3\2\2\2\u0603\u0600\3\2\2\2\u0603\u0601\3\2\2\2\u0603\u0602"+ + "\3\2\2\2\u0604\u010b\3\2\2\2\u0605\u0612\5\u00fe\u0080\2\u0606\u0612\5"+ + "\u010e\u0088\2\u0607\u0612\5\u0114\u008b\2\u0608\u0612\5\u011e\u0090\2"+ + "\u0609\u0612\5\u0120\u0091\2\u060a\u0612\5\u0130\u0099\2\u060b\u0612\5"+ + "\u0144\u00a3\2\u060c\u0612\5\u0146\u00a4\2\u060d\u0612\5\u0148\u00a5\2"+ + "\u060e\u0612\5\u014c\u00a7\2\u060f\u0612\5\u014a\u00a6\2\u0610\u0612\5"+ + "\u014e\u00a8\2\u0611\u0605\3\2\2\2\u0611\u0606\3\2\2\2\u0611\u0607\3\2"+ + "\2\2\u0611\u0608\3\2\2\2\u0611\u0609\3\2\2\2\u0611\u060a\3\2\2\2\u0611"+ + "\u060b\3\2\2\2\u0611\u060c\3\2\2\2\u0611\u060d\3\2\2\2\u0611\u060e\3\2"+ + "\2\2\u0611\u060f\3\2\2\2\u0611\u0610\3\2\2\2\u0612\u010d\3\2\2\2\u0613"+ + "\u0614\7A\2\2\u0614\u010f\3\2\2\2\u0615\u0616\7h\2\2\u0616\u0617\7J\2"+ + "\2\u0617\u0618\5\u0108\u0085\2\u0618\u0111\3\2\2\2\u0619\u061a\7h\2\2"+ + "\u061a\u061b\7J\2\2\u061b\u061c\5\u010a\u0086\2\u061c\u0113\3\2\2\2\u061d"+ + "\u061e\5\u0116\u008c\2\u061e\u061f\7A\2\2\u061f\u0115\3\2\2\2\u0620\u0628"+ + "\5\u01ac\u00d7\2\u0621\u0628\5\u01ca\u00e6\2\u0622\u0628\5\u01cc\u00e7"+ + "\2\u0623\u0628\5\u01d2\u00ea\2\u0624\u0628\5\u01d6\u00ec\2\u0625\u0628"+ + "\5\u018a\u00c6\2\u0626\u0628\5\u0176\u00bc\2\u0627\u0620\3\2\2\2\u0627"+ + "\u0621\3\2\2\2\u0627\u0622\3\2\2\2\u0627\u0623\3\2\2\2\u0627\u0624\3\2"+ + "\2\2\u0627\u0625\3\2\2\2\u0627\u0626\3\2\2\2\u0628\u0117\3\2\2\2\u0629"+ + "\u062a\7\30\2\2\u062a\u062b\7;\2\2\u062b\u062c\5\u01a0\u00d1\2\u062c\u062d"+ + "\7<\2\2\u062d\u062e\5\u0108\u0085\2\u062e\u0119\3\2\2\2\u062f\u0630\7"+ + "\30\2\2\u0630\u0631\7;\2\2\u0631\u0632\5\u01a0\u00d1\2\u0632\u0633\7<"+ + "\2\2\u0633\u0634\5\u010a\u0086\2\u0634\u0635\7\21\2\2\u0635\u0636\5\u0108"+ + "\u0085\2\u0636\u011b\3\2\2\2\u0637\u0638\7\30\2\2\u0638\u0639\7;\2\2\u0639"+ + "\u063a\5\u01a0\u00d1\2\u063a\u063b\7<\2\2\u063b\u063c\5\u010a\u0086\2"+ + "\u063c\u063d\7\21\2\2\u063d\u063e\5\u010a\u0086\2\u063e\u011d\3\2\2\2"+ + "\u063f\u0640\7\4\2\2\u0640\u0641\5\u01a0\u00d1\2\u0641\u0642\7A\2\2\u0642"+ + "\u064a\3\2\2\2\u0643\u0644\7\4\2\2\u0644\u0645\5\u01a0\u00d1\2\u0645\u0646"+ + "\7J\2\2\u0646\u0647\5\u01a0\u00d1\2\u0647\u0648\7A\2\2\u0648\u064a\3\2"+ + "\2\2\u0649\u063f\3\2\2\2\u0649\u0643\3\2\2\2\u064a\u011f\3\2\2\2\u064b"+ + "\u064c\7+\2\2\u064c\u064d\7;\2\2\u064d\u064e\5\u01a0\u00d1\2\u064e\u064f"+ + "\7<\2\2\u064f\u0650\5\u0122\u0092\2\u0650\u0121\3\2\2\2\u0651\u0655\7"+ + "=\2\2\u0652\u0654\5\u0124\u0093\2\u0653\u0652\3\2\2\2\u0654\u0657\3\2"+ + "\2\2\u0655\u0653\3\2\2\2\u0655\u0656\3\2\2\2\u0656\u065b\3\2\2\2\u0657"+ + "\u0655\3\2\2\2\u0658\u065a\5\u0128\u0095\2\u0659\u0658\3\2\2\2\u065a\u065d"+ + "\3\2\2\2\u065b\u0659\3\2\2\2\u065b\u065c\3\2\2\2\u065c\u065e\3\2\2\2\u065d"+ + "\u065b\3\2\2\2\u065e\u065f\7>\2\2\u065f\u0123\3\2\2\2\u0660\u0661\5\u0126"+ + "\u0094\2\u0661\u0662\5\u0100\u0081\2\u0662\u0125\3\2\2\2\u0663\u0667\5"+ + "\u0128\u0095\2\u0664\u0666\5\u0128\u0095\2\u0665\u0664\3\2\2\2\u0666\u0669"+ + "\3\2\2\2\u0667\u0665\3\2\2\2\u0667\u0668\3\2\2\2\u0668\u0127\3\2\2\2\u0669"+ + "\u0667\3\2\2\2\u066a\u066b\7\b\2\2\u066b\u066c\5\u019e\u00d0\2\u066c\u066d"+ + "\7J\2\2\u066d\u0675\3\2\2\2\u066e\u066f\7\b\2\2\u066f\u0670\5\u012a\u0096"+ + "\2\u0670\u0671\7J\2\2\u0671\u0675\3\2\2\2\u0672\u0673\7\16\2\2\u0673\u0675"+ + "\7J\2\2\u0674\u066a\3\2\2\2\u0674\u066e\3\2\2\2\u0674\u0672\3\2\2\2\u0675"+ + "\u0129\3\2\2\2\u0676\u0677\7h\2\2\u0677\u012b\3\2\2\2\u0678\u0679\7\64"+ + "\2\2\u0679\u067a\7;\2\2\u067a\u067b\5\u01a0\u00d1\2\u067b\u067c\7<\2\2"+ + "\u067c\u067d\5\u0108\u0085\2\u067d\u012d\3\2\2\2\u067e\u067f\7\64\2\2"+ + "\u067f\u0680\7;\2\2\u0680\u0681\5\u01a0\u00d1\2\u0681\u0682\7<\2\2\u0682"+ + "\u0683\5\u010a\u0086\2\u0683\u012f\3\2\2\2\u0684\u0685\7\17\2\2\u0685"+ + "\u0686\5\u0108\u0085\2\u0686\u0687\7\64\2\2\u0687\u0688\7;\2\2\u0688\u0689"+ + "\5\u01a0\u00d1\2\u0689\u068a\7<\2\2\u068a\u068b\7A\2\2\u068b\u0131\3\2"+ + "\2\2\u068c\u068f\5\u0136\u009c\2\u068d\u068f\5\u0140\u00a1\2\u068e\u068c"+ + "\3\2\2\2\u068e\u068d\3\2\2\2\u068f\u0133\3\2\2\2\u0690\u0693\5\u0138\u009d"+ + "\2\u0691\u0693\5\u0142\u00a2\2\u0692\u0690\3\2\2\2\u0692\u0691\3\2\2\2"+ + "\u0693\u0135\3\2\2\2\u0694\u0695\7\27\2\2\u0695\u0697\7;\2\2\u0696\u0698"+ + "\5\u013a\u009e\2\u0697\u0696\3\2\2\2\u0697\u0698\3\2\2\2\u0698\u0699\3"+ + "\2\2\2\u0699\u069b\7A\2\2\u069a\u069c\5\u01a0\u00d1\2\u069b\u069a\3\2"+ + "\2\2\u069b\u069c\3\2\2\2\u069c\u069d\3\2\2\2\u069d\u069f\7A\2\2\u069e"+ + "\u06a0\5\u013c\u009f\2\u069f\u069e\3\2\2\2\u069f\u06a0\3\2\2\2\u06a0\u06a1"+ + "\3\2\2\2\u06a1\u06a2\7<\2\2\u06a2\u06a3\5\u0108\u0085\2\u06a3\u0137\3"+ + "\2\2\2\u06a4\u06a5\7\27\2\2\u06a5\u06a7\7;\2\2\u06a6\u06a8\5\u013a\u009e"+ + "\2\u06a7\u06a6\3\2\2\2\u06a7\u06a8\3\2\2\2\u06a8\u06a9\3\2\2\2\u06a9\u06ab"+ + "\7A\2\2\u06aa\u06ac\5\u01a0\u00d1\2\u06ab\u06aa\3\2\2\2\u06ab\u06ac\3"+ + "\2\2\2\u06ac\u06ad\3\2\2\2\u06ad\u06af\7A\2\2\u06ae\u06b0\5\u013c\u009f"+ + "\2\u06af\u06ae\3\2\2\2\u06af\u06b0\3\2\2\2\u06b0\u06b1\3\2\2\2\u06b1\u06b2"+ + "\7<\2\2\u06b2\u06b3\5\u010a\u0086\2\u06b3\u0139\3\2\2\2\u06b4\u06b7\5"+ + "\u013e\u00a0\2\u06b5\u06b7\5\u0106\u0084\2\u06b6\u06b4\3\2\2\2\u06b6\u06b5"+ + "\3\2\2\2\u06b7\u013b\3\2\2\2\u06b8\u06b9\5\u013e\u00a0\2\u06b9\u013d\3"+ + "\2\2\2\u06ba\u06bf\5\u0116\u008c\2\u06bb\u06bc\7B\2\2\u06bc\u06be\5\u0116"+ + "\u008c\2\u06bd\u06bb\3\2\2\2\u06be\u06c1\3\2\2\2\u06bf\u06bd\3\2\2\2\u06bf"+ + "\u06c0\3\2\2\2\u06c0\u013f\3\2\2\2\u06c1\u06bf\3\2\2\2\u06c2\u06c3\7\27"+ + "\2\2\u06c3\u06c7\7;\2\2\u06c4\u06c6\5\u009eP\2\u06c5\u06c4\3\2\2\2\u06c6"+ + "\u06c9\3\2\2\2\u06c7\u06c5\3\2\2\2\u06c7\u06c8\3\2\2\2\u06c8\u06ca\3\2"+ + "\2\2\u06c9\u06c7\3\2\2\2\u06ca\u06cb\5v<\2\u06cb\u06cc\5r:\2\u06cc\u06cd"+ + "\7J\2\2\u06cd\u06ce\5\u01a0\u00d1\2\u06ce\u06cf\7<\2\2\u06cf\u06d0\5\u0108"+ + "\u0085\2\u06d0\u0141\3\2\2\2\u06d1\u06d2\7\27\2\2\u06d2\u06d6\7;\2\2\u06d3"+ + "\u06d5\5\u009eP\2\u06d4\u06d3\3\2\2\2\u06d5\u06d8\3\2\2\2\u06d6\u06d4"+ + "\3\2\2\2\u06d6\u06d7\3\2\2\2\u06d7\u06d9\3\2\2\2\u06d8\u06d6\3\2\2\2\u06d9"+ + "\u06da\5v<\2\u06da\u06db\5r:\2\u06db\u06dc\7J\2\2\u06dc\u06dd\5\u01a0"+ + "\u00d1\2\u06dd\u06de\7<\2\2\u06de\u06df\5\u010a\u0086\2\u06df\u0143\3"+ + "\2\2\2\u06e0\u06e2\7\6\2\2\u06e1\u06e3\7h\2\2\u06e2\u06e1\3\2\2\2\u06e2"+ + "\u06e3\3\2\2\2\u06e3\u06e4\3\2\2\2\u06e4\u06e5\7A\2\2\u06e5\u0145\3\2"+ + "\2\2\u06e6\u06e8\7\r\2\2\u06e7\u06e9\7h\2\2\u06e8\u06e7\3\2\2\2\u06e8"+ + "\u06e9\3\2\2\2\u06e9\u06ea\3\2\2\2\u06ea\u06eb\7A\2\2\u06eb\u0147\3\2"+ + "\2\2\u06ec\u06ee\7&\2\2\u06ed\u06ef\5\u01a0\u00d1\2\u06ee\u06ed\3\2\2"+ + "\2\u06ee\u06ef\3\2\2\2\u06ef\u06f0\3\2\2\2\u06f0\u06f1\7A\2\2\u06f1\u0149"+ + "\3\2\2\2\u06f2\u06f3\7.\2\2\u06f3\u06f4\5\u01a0\u00d1\2\u06f4\u06f5\7"+ + "A\2\2\u06f5\u014b\3\2\2\2\u06f6\u06f7\7,\2\2\u06f7\u06f8\7;\2\2\u06f8"+ + "\u06f9\5\u01a0\u00d1\2\u06f9\u06fa\7<\2\2\u06fa\u06fb\5\u00fe\u0080\2"+ + "\u06fb\u014d\3\2\2\2\u06fc\u06fd\7\61\2\2\u06fd\u06fe\5\u00fe\u0080\2"+ + "\u06fe\u06ff\5\u0150\u00a9\2\u06ff\u0709\3\2\2\2\u0700\u0701\7\61\2\2"+ + "\u0701\u0703\5\u00fe\u0080\2\u0702\u0704\5\u0150\u00a9\2\u0703\u0702\3"+ + "\2\2\2\u0703\u0704\3\2\2\2\u0704\u0705\3\2\2\2\u0705\u0706\5\u0158\u00ad"+ + "\2\u0706\u0709\3\2\2\2\u0707\u0709\5\u015a\u00ae\2\u0708\u06fc\3\2\2\2"+ + "\u0708\u0700\3\2\2\2\u0708\u0707\3\2\2\2\u0709\u014f\3\2\2\2\u070a\u070e"+ + "\5\u0152\u00aa\2\u070b\u070d\5\u0152\u00aa\2\u070c\u070b\3\2\2\2\u070d"+ + "\u0710\3\2\2\2\u070e\u070c\3\2\2\2\u070e\u070f\3\2\2\2\u070f\u0151\3\2"+ + "\2\2\u0710\u070e\3\2\2\2\u0711\u0712\7\t\2\2\u0712\u0713\7;\2\2\u0713"+ + "\u0714\5\u0154\u00ab\2\u0714\u0715\7<\2\2\u0715\u0716\5\u00fe\u0080\2"+ + "\u0716\u0153\3\2\2\2\u0717\u0719\5\u009eP\2\u0718\u0717\3\2\2\2\u0719"+ + "\u071c\3\2\2\2\u071a\u0718\3\2\2\2\u071a\u071b\3\2\2\2\u071b\u071d\3\2"+ + "\2\2\u071c\u071a\3\2\2\2\u071d\u071e\5\u0156\u00ac\2\u071e\u071f\5r:\2"+ + "\u071f\u0155\3\2\2\2\u0720\u0725\5~@\2\u0721\u0722\7X\2\2\u0722\u0724"+ + "\5\22\n\2\u0723\u0721\3\2\2\2\u0724\u0727\3\2\2\2\u0725\u0723\3\2\2\2"+ + "\u0725\u0726\3\2\2\2\u0726\u0157\3\2\2\2\u0727\u0725\3\2\2\2\u0728\u0729"+ + "\7\25\2\2\u0729\u072a\5\u00fe\u0080\2\u072a\u0159\3\2\2\2\u072b\u072c"+ + "\7\61\2\2\u072c\u072d\5\u015c\u00af\2\u072d\u072f\5\u00fe\u0080\2\u072e"+ + "\u0730\5\u0150\u00a9\2\u072f\u072e\3\2\2\2\u072f\u0730\3\2\2\2\u0730\u0732"+ + "\3\2\2\2\u0731\u0733\5\u0158\u00ad\2\u0732\u0731\3\2\2\2\u0732\u0733\3"+ + "\2\2\2\u0733\u015b\3\2\2\2\u0734\u0735\7;\2\2\u0735\u0737\5\u015e\u00b0"+ + "\2\u0736\u0738\7A\2\2\u0737\u0736\3\2\2\2\u0737\u0738\3\2\2\2\u0738\u0739"+ + "\3\2\2\2\u0739\u073a\7<\2\2\u073a\u015d\3\2\2\2\u073b\u0740\5\u0160\u00b1"+ + "\2\u073c\u073d\7A\2\2\u073d\u073f\5\u0160\u00b1\2\u073e\u073c\3\2\2\2"+ + "\u073f\u0742\3\2\2\2\u0740\u073e\3\2\2\2\u0740\u0741\3\2\2\2\u0741\u015f"+ + "\3\2\2\2\u0742\u0740\3\2\2\2\u0743\u0745\5\u009eP\2\u0744\u0743\3\2\2"+ + "\2\u0745\u0748\3\2\2\2\u0746\u0744\3\2\2\2\u0746\u0747\3\2\2\2\u0747\u0749"+ + "\3\2\2\2\u0748\u0746\3\2\2\2\u0749\u074a\5v<\2\u074a\u074b\5r:\2\u074b"+ + "\u074c\7D\2\2\u074c\u074d\5\u01a0\u00d1\2\u074d\u0161\3\2\2\2\u074e\u0751"+ + "\5\u0170\u00b9\2\u074f\u0751\5\u0198\u00cd\2\u0750\u074e\3\2\2\2\u0750"+ + "\u074f\3\2\2\2\u0751\u0755\3\2\2\2\u0752\u0754\5\u016a\u00b6\2\u0753\u0752"+ + "\3\2\2\2\u0754\u0757\3\2\2\2\u0755\u0753\3\2\2\2\u0755\u0756\3\2\2\2\u0756"+ + "\u0163\3\2\2\2\u0757\u0755\3\2\2\2\u0758\u0776\5\2\2\2\u0759\u075e\58"+ + "\35\2\u075a\u075b\7?\2\2\u075b\u075d\7@\2\2\u075c\u075a\3\2\2\2\u075d"+ + "\u0760\3\2\2\2\u075e\u075c\3\2\2\2\u075e\u075f\3\2\2\2\u075f\u0761\3\2"+ + "\2\2\u0760\u075e\3\2\2\2\u0761\u0762\7C\2\2\u0762\u0763\7\13\2\2\u0763"+ + "\u0776\3\2\2\2\u0764\u0765\7\62\2\2\u0765\u0766\7C\2\2\u0766\u0776\7\13"+ + "\2\2\u0767\u0776\7-\2\2\u0768\u0769\58\35\2\u0769\u076a\7C\2\2\u076a\u076b"+ + "\7-\2\2\u076b\u0776\3\2\2\2\u076c\u076d\7;\2\2\u076d\u076e\5\u01a0\u00d1"+ + "\2\u076e\u076f\7<\2\2\u076f\u0776\3\2\2\2\u0770\u0776\5\u0176\u00bc\2"+ + "\u0771\u0776\5\u017e\u00c0\2\u0772\u0776\5\u0184\u00c3\2\u0773\u0776\5"+ + "\u018a\u00c6\2\u0774\u0776\5\u0192\u00ca\2\u0775\u0758\3\2\2\2\u0775\u0759"+ + "\3\2\2\2\u0775\u0764\3\2\2\2\u0775\u0767\3\2\2\2\u0775\u0768\3\2\2\2\u0775"+ + "\u076c\3\2\2\2\u0775\u0770\3\2\2\2\u0775\u0771\3\2\2\2\u0775\u0772\3\2"+ + "\2\2\u0775\u0773\3\2\2\2\u0775\u0774\3\2\2\2\u0776\u0165\3\2\2\2\u0777"+ + "\u0778\3\2\2\2\u0778\u0167\3\2\2\2\u0779\u0796\5\2\2\2\u077a\u077f\58"+ + "\35\2\u077b\u077c\7?\2\2\u077c\u077e\7@\2\2\u077d\u077b\3\2\2\2\u077e"+ + "\u0781\3\2\2\2\u077f\u077d\3\2\2\2\u077f\u0780\3\2\2\2\u0780\u0782\3\2"+ + "\2\2\u0781\u077f\3\2\2\2\u0782\u0783\7C\2\2\u0783\u0784\7\13\2\2\u0784"+ + "\u0796\3\2\2\2\u0785\u0786\7\62\2\2\u0786\u0787\7C\2\2\u0787\u0796\7\13"+ + "\2\2\u0788\u0796\7-\2\2\u0789\u078a\58\35\2\u078a\u078b\7C\2\2\u078b\u078c"+ + "\7-\2\2\u078c\u0796\3\2\2\2\u078d\u078e\7;\2\2\u078e\u078f\5\u01a0\u00d1"+ + "\2\u078f\u0790\7<\2\2\u0790\u0796\3\2\2\2\u0791\u0796\5\u0176\u00bc\2"+ + "\u0792\u0796\5\u017e\u00c0\2\u0793\u0796\5\u018a\u00c6\2\u0794\u0796\5"+ + "\u0192\u00ca\2\u0795\u0779\3\2\2\2\u0795\u077a\3\2\2\2\u0795\u0785\3\2"+ + "\2\2\u0795\u0788\3\2\2\2\u0795\u0789\3\2\2\2\u0795\u078d\3\2\2\2\u0795"+ + "\u0791\3\2\2\2\u0795\u0792\3\2\2\2\u0795\u0793\3\2\2\2\u0795\u0794\3\2"+ + "\2\2\u0796\u0169\3\2\2\2\u0797\u079d\5\u0178\u00bd\2\u0798\u079d\5\u0180"+ + "\u00c1\2\u0799\u079d\5\u0186\u00c4\2\u079a\u079d\5\u018c\u00c7\2\u079b"+ + "\u079d\5\u0194\u00cb\2\u079c\u0797\3\2\2\2\u079c\u0798\3\2\2\2\u079c\u0799"+ + "\3\2\2\2\u079c\u079a\3\2\2\2\u079c\u079b\3\2\2\2\u079d\u016b\3\2\2\2\u079e"+ + "\u079f\3\2\2\2\u079f\u016d\3\2\2\2\u07a0\u07a5\5\u0178\u00bd\2\u07a1\u07a5"+ + "\5\u0180\u00c1\2\u07a2\u07a5\5\u018c\u00c7\2\u07a3\u07a5\5\u0194\u00cb"+ + "\2\u07a4\u07a0\3\2\2\2\u07a4\u07a1\3\2\2\2\u07a4\u07a2\3\2\2\2\u07a4\u07a3"+ + "\3\2\2\2\u07a5\u016f\3\2\2\2\u07a6\u07cf\5\2\2\2\u07a7\u07ac\58\35\2\u07a8"+ + "\u07a9\7?\2\2\u07a9\u07ab\7@\2\2\u07aa\u07a8\3\2\2\2\u07ab\u07ae\3\2\2"+ + "\2\u07ac\u07aa\3\2\2\2\u07ac\u07ad\3\2\2\2\u07ad\u07af\3\2\2\2\u07ae\u07ac"+ + "\3\2\2\2\u07af\u07b0\7C\2\2\u07b0\u07b1\7\13\2\2\u07b1\u07cf\3\2\2\2\u07b2"+ + "\u07b7\5x=\2\u07b3\u07b4\7?\2\2\u07b4\u07b6\7@\2\2\u07b5\u07b3\3\2\2\2"+ + "\u07b6\u07b9\3\2\2\2\u07b7\u07b5\3\2\2\2\u07b7\u07b8\3\2\2\2\u07b8\u07ba"+ + "\3\2\2\2\u07b9\u07b7\3\2\2\2\u07ba\u07bb\7C\2\2\u07bb\u07bc\7\13\2\2\u07bc"+ + "\u07cf\3\2\2\2\u07bd\u07be\7\62\2\2\u07be\u07bf\7C\2\2\u07bf\u07cf\7\13"+ + "\2\2\u07c0\u07cf\7-\2\2\u07c1\u07c2\58\35\2\u07c2\u07c3\7C\2\2\u07c3\u07c4"+ + "\7-\2\2\u07c4\u07cf\3\2\2\2\u07c5\u07c6\7;\2\2\u07c6\u07c7\5\u01a0\u00d1"+ + "\2\u07c7\u07c8\7<\2\2\u07c8\u07cf\3\2\2\2\u07c9\u07cf\5\u017a\u00be\2"+ + "\u07ca\u07cf\5\u0182\u00c2\2\u07cb\u07cf\5\u0188\u00c5\2\u07cc\u07cf\5"+ + "\u018e\u00c8\2\u07cd\u07cf\5\u0196\u00cc\2\u07ce\u07a6\3\2\2\2\u07ce\u07a7"+ + "\3\2\2\2\u07ce\u07b2\3\2\2\2\u07ce\u07bd\3\2\2\2\u07ce\u07c0\3\2\2\2\u07ce"+ + "\u07c1\3\2\2\2\u07ce\u07c5\3\2\2\2\u07ce\u07c9\3\2\2\2\u07ce\u07ca\3\2"+ + "\2\2\u07ce\u07cb\3\2\2\2\u07ce\u07cc\3\2\2\2\u07ce\u07cd\3\2\2\2\u07cf"+ + "\u0171\3\2\2\2\u07d0\u07d1\3\2\2\2\u07d1\u0173\3\2\2\2\u07d2\u07fa\5\2"+ + "\2\2\u07d3\u07d8\58\35\2\u07d4\u07d5\7?\2\2\u07d5\u07d7\7@\2\2\u07d6\u07d4"+ + "\3\2\2\2\u07d7\u07da\3\2\2\2\u07d8\u07d6\3\2\2\2\u07d8\u07d9\3\2\2\2\u07d9"+ + "\u07db\3\2\2\2\u07da\u07d8\3\2\2\2\u07db\u07dc\7C\2\2\u07dc\u07dd\7\13"+ + "\2\2\u07dd\u07fa\3\2\2\2\u07de\u07e3\5x=\2\u07df\u07e0\7?\2\2\u07e0\u07e2"+ + "\7@\2\2\u07e1\u07df\3\2\2\2\u07e2\u07e5\3\2\2\2\u07e3\u07e1\3\2\2\2\u07e3"+ + "\u07e4\3\2\2\2\u07e4\u07e6\3\2\2\2\u07e5\u07e3\3\2\2\2\u07e6\u07e7\7C"+ + "\2\2\u07e7\u07e8\7\13\2\2\u07e8\u07fa\3\2\2\2\u07e9\u07ea\7\62\2\2\u07ea"+ + "\u07eb\7C\2\2\u07eb\u07fa\7\13\2\2\u07ec\u07fa\7-\2\2\u07ed\u07ee\58\35"+ + "\2\u07ee\u07ef\7C\2\2\u07ef\u07f0\7-\2\2\u07f0\u07fa\3\2\2\2\u07f1\u07f2"+ + "\7;\2\2\u07f2\u07f3\5\u01a0\u00d1\2\u07f3\u07f4\7<\2\2\u07f4\u07fa\3\2"+ + "\2\2\u07f5\u07fa\5\u017a\u00be\2\u07f6\u07fa\5\u0182\u00c2\2\u07f7\u07fa"+ + "\5\u018e\u00c8\2\u07f8\u07fa\5\u0196\u00cc\2\u07f9\u07d2\3\2\2\2\u07f9"+ + "\u07d3\3\2\2\2\u07f9\u07de\3\2\2\2\u07f9\u07e9\3\2\2\2\u07f9\u07ec\3\2"+ + "\2\2\u07f9\u07ed\3\2\2\2\u07f9\u07f1\3\2\2\2\u07f9\u07f5\3\2\2\2\u07f9"+ + "\u07f6\3\2\2\2\u07f9\u07f7\3\2\2\2\u07f9\u07f8\3\2\2\2\u07fa\u0175\3\2"+ + "\2\2\u07fb\u07fd\7!\2\2\u07fc\u07fe\5,\27\2\u07fd\u07fc\3\2\2\2\u07fd"+ + "\u07fe\3\2\2\2\u07fe\u0802\3\2\2\2\u07ff\u0801\5\u00e8u\2\u0800\u07ff"+ + "\3\2\2\2\u0801\u0804\3\2\2\2\u0802\u0800\3\2\2\2\u0802\u0803\3\2\2\2\u0803"+ + "\u0805\3\2\2\2\u0804\u0802\3\2\2\2\u0805\u0810\7h\2\2\u0806\u080a\7C\2"+ + "\2\u0807\u0809\5\u00e8u\2\u0808\u0807\3\2\2\2\u0809\u080c\3\2\2\2\u080a"+ + "\u0808\3\2\2\2\u080a\u080b\3\2\2\2\u080b\u080d\3\2\2\2\u080c\u080a\3\2"+ + "\2\2\u080d\u080f\7h\2\2\u080e\u0806\3\2\2\2\u080f\u0812\3\2\2\2\u0810"+ + "\u080e\3\2\2\2\u0810\u0811\3\2\2\2\u0811\u0814\3\2\2\2\u0812\u0810\3\2"+ + "\2\2\u0813\u0815\5\u017c\u00bf\2\u0814\u0813\3\2\2\2\u0814\u0815\3\2\2"+ + "\2\u0815\u0816\3\2\2\2\u0816\u0818\7;\2\2\u0817\u0819\5\u0190\u00c9\2"+ + "\u0818\u0817\3\2\2\2\u0818\u0819\3\2\2\2\u0819\u081a\3\2\2\2\u081a\u081c"+ + "\7<\2\2\u081b\u081d\5d\63\2\u081c\u081b\3\2\2\2\u081c\u081d\3\2\2\2\u081d"+ + "\u084f\3\2\2\2\u081e\u081f\5<\37\2\u081f\u0820\7C\2\2\u0820\u0822\7!\2"+ + "\2\u0821\u0823\5,\27\2\u0822\u0821\3\2\2\2\u0822\u0823\3\2\2\2\u0823\u0827"+ + "\3\2\2\2\u0824\u0826\5\u00e8u\2\u0825\u0824\3\2\2\2\u0826\u0829\3\2\2"+ + "\2\u0827\u0825\3\2\2\2\u0827\u0828\3\2\2\2\u0828\u082a\3\2\2\2\u0829\u0827"+ + "\3\2\2\2\u082a\u082c\7h\2\2\u082b\u082d\5\u017c\u00bf\2\u082c\u082b\3"+ + "\2\2\2\u082c\u082d\3\2\2\2\u082d\u082e\3\2\2\2\u082e\u0830\7;\2\2\u082f"+ + "\u0831\5\u0190\u00c9\2\u0830\u082f\3\2\2\2\u0830\u0831\3\2\2\2\u0831\u0832"+ + "\3\2\2\2\u0832\u0834\7<\2\2\u0833\u0835\5d\63\2\u0834\u0833\3\2\2\2\u0834"+ + "\u0835\3\2\2\2\u0835\u084f\3\2\2\2\u0836\u0837\5\u0162\u00b2\2\u0837\u0838"+ + "\7C\2\2\u0838\u083a\7!\2\2\u0839\u083b\5,\27\2\u083a\u0839\3\2\2\2\u083a"+ + "\u083b\3\2\2\2\u083b\u083f\3\2\2\2\u083c\u083e\5\u00e8u\2\u083d\u083c"+ + "\3\2\2\2\u083e\u0841\3\2\2\2\u083f\u083d\3\2\2\2\u083f\u0840\3\2\2\2\u0840"+ + "\u0842\3\2\2\2\u0841\u083f\3\2\2\2\u0842\u0844\7h\2\2\u0843\u0845\5\u017c"+ + "\u00bf\2\u0844\u0843\3\2\2\2\u0844\u0845\3\2\2\2\u0845\u0846\3\2\2\2\u0846"+ + "\u0848\7;\2\2\u0847\u0849\5\u0190\u00c9\2\u0848\u0847\3\2\2\2\u0848\u0849"+ + "\3\2\2\2\u0849\u084a\3\2\2\2\u084a\u084c\7<\2\2\u084b\u084d\5d\63\2\u084c"+ + "\u084b\3\2\2\2\u084c\u084d\3\2\2\2\u084d\u084f\3\2\2\2\u084e\u07fb\3\2"+ + "\2\2\u084e\u081e\3\2\2\2\u084e\u0836\3\2\2\2\u084f\u0177\3\2\2\2\u0850"+ + "\u0851\7C\2\2\u0851\u0853\7!\2\2\u0852\u0854\5,\27\2\u0853\u0852\3\2\2"+ + "\2\u0853\u0854\3\2\2\2\u0854\u0858\3\2\2\2\u0855\u0857\5\u00e8u\2\u0856"+ + "\u0855\3\2\2\2\u0857\u085a\3\2\2\2\u0858\u0856\3\2\2\2\u0858\u0859\3\2"+ + "\2\2\u0859\u085b\3\2\2\2\u085a\u0858\3\2\2\2\u085b\u085d\7h\2\2\u085c"+ + "\u085e\5\u017c\u00bf\2\u085d\u085c\3\2\2\2\u085d\u085e\3\2\2\2\u085e\u085f"+ + "\3\2\2\2\u085f\u0861\7;\2\2\u0860\u0862\5\u0190\u00c9\2\u0861\u0860\3"+ + "\2\2\2\u0861\u0862\3\2\2\2\u0862\u0863\3\2\2\2\u0863\u0865\7<\2\2\u0864"+ + "\u0866\5d\63\2\u0865\u0864\3\2\2\2\u0865\u0866\3\2\2\2\u0866\u0179\3\2"+ + "\2\2\u0867\u0869\7!\2\2\u0868\u086a\5,\27\2\u0869\u0868\3\2\2\2\u0869"+ + "\u086a\3\2\2\2\u086a\u086e\3\2\2\2\u086b\u086d\5\u00e8u\2\u086c\u086b"+ + "\3\2\2\2\u086d\u0870\3\2\2\2\u086e\u086c\3\2\2\2\u086e\u086f\3\2\2\2\u086f"+ + "\u0871\3\2\2\2\u0870\u086e\3\2\2\2\u0871\u087c\7h\2\2\u0872\u0876\7C\2"+ + "\2\u0873\u0875\5\u00e8u\2\u0874\u0873\3\2\2\2\u0875\u0878\3\2\2\2\u0876"+ + "\u0874\3\2\2\2\u0876\u0877\3\2\2\2\u0877\u0879\3\2\2\2\u0878\u0876\3\2"+ + "\2\2\u0879\u087b\7h\2\2\u087a\u0872\3\2\2\2\u087b\u087e\3\2\2\2\u087c"+ + "\u087a\3\2\2\2\u087c\u087d\3\2\2\2\u087d\u0880\3\2\2\2\u087e\u087c\3\2"+ + "\2\2\u087f\u0881\5\u017c\u00bf\2\u0880\u087f\3\2\2\2\u0880\u0881\3\2\2"+ + "\2\u0881\u0882\3\2\2\2\u0882\u0884\7;\2\2\u0883\u0885\5\u0190\u00c9\2"+ + "\u0884\u0883\3\2\2\2\u0884\u0885\3\2\2\2\u0885\u0886\3\2\2\2\u0886\u0888"+ + "\7<\2\2\u0887\u0889\5d\63\2\u0888\u0887\3\2\2\2\u0888\u0889\3\2\2\2\u0889"+ + "\u08a3\3\2\2\2\u088a\u088b\5<\37\2\u088b\u088c\7C\2\2\u088c\u088e\7!\2"+ + "\2\u088d\u088f\5,\27\2\u088e\u088d\3\2\2\2\u088e\u088f\3\2\2\2\u088f\u0893"+ + "\3\2\2\2\u0890\u0892\5\u00e8u\2\u0891\u0890\3\2\2\2\u0892\u0895\3\2\2"+ + "\2\u0893\u0891\3\2\2\2\u0893\u0894\3\2\2\2\u0894\u0896\3\2\2\2\u0895\u0893"+ + "\3\2\2\2\u0896\u0898\7h\2\2\u0897\u0899\5\u017c\u00bf\2\u0898\u0897\3"+ + "\2\2\2\u0898\u0899\3\2\2\2\u0899\u089a\3\2\2\2\u089a\u089c\7;\2\2\u089b"+ + "\u089d\5\u0190\u00c9\2\u089c\u089b\3\2\2\2\u089c\u089d\3\2\2\2\u089d\u089e"+ + "\3\2\2\2\u089e\u08a0\7<\2\2\u089f\u08a1\5d\63\2\u08a0\u089f\3\2\2\2\u08a0"+ + "\u08a1\3\2\2\2\u08a1\u08a3\3\2\2\2\u08a2\u0867\3\2\2\2\u08a2\u088a\3\2"+ + "\2\2\u08a3\u017b\3\2\2\2\u08a4\u08a8\5,\27\2\u08a5\u08a6\7F\2\2\u08a6"+ + "\u08a8\7E\2\2\u08a7\u08a4\3\2\2\2\u08a7\u08a5\3\2\2\2\u08a8\u017d\3\2"+ + "\2\2\u08a9\u08aa\5\u0162\u00b2\2\u08aa\u08ab\7C\2\2\u08ab\u08ac\7h\2\2"+ + "\u08ac\u08b7\3\2\2\2\u08ad\u08ae\7*\2\2\u08ae\u08af\7C\2\2\u08af\u08b7"+ + "\7h\2\2\u08b0\u08b1\58\35\2\u08b1\u08b2\7C\2\2\u08b2\u08b3\7*\2\2\u08b3"+ + "\u08b4\7C\2\2\u08b4\u08b5\7h\2\2\u08b5\u08b7\3\2\2\2\u08b6\u08a9\3\2\2"+ + "\2\u08b6\u08ad\3\2\2\2\u08b6\u08b0\3\2\2\2\u08b7\u017f\3\2\2\2\u08b8\u08b9"+ + "\7C\2\2\u08b9\u08ba\7h\2\2\u08ba\u0181\3\2\2\2\u08bb\u08bc\7*\2\2\u08bc"+ + "\u08bd\7C\2\2\u08bd\u08c5\7h\2\2\u08be\u08bf\58\35\2\u08bf\u08c0\7C\2"+ + "\2\u08c0\u08c1\7*\2\2\u08c1\u08c2\7C\2\2\u08c2\u08c3\7h\2\2\u08c3\u08c5"+ + "\3\2\2\2\u08c4\u08bb\3\2\2\2\u08c4\u08be\3\2\2\2\u08c5\u0183\3\2\2\2\u08c6"+ + "\u08c7\5<\37\2\u08c7\u08c8\7?\2\2\u08c8\u08c9\5\u01a0\u00d1\2\u08c9\u08ca"+ + "\7@\2\2\u08ca\u08d1\3\2\2\2\u08cb\u08cc\5\u0168\u00b5\2\u08cc\u08cd\7"+ + "?\2\2\u08cd\u08ce\5\u01a0\u00d1\2\u08ce\u08cf\7@\2\2\u08cf\u08d1\3\2\2"+ + "\2\u08d0\u08c6\3\2\2\2\u08d0\u08cb\3\2\2\2\u08d1\u08d9\3\2\2\2\u08d2\u08d3"+ + "\5\u0166\u00b4\2\u08d3\u08d4\7?\2\2\u08d4\u08d5\5\u01a0\u00d1\2\u08d5"+ + "\u08d6\7@\2\2\u08d6\u08d8\3\2\2\2\u08d7\u08d2\3\2\2\2\u08d8\u08db\3\2"+ + "\2\2\u08d9\u08d7\3\2\2\2\u08d9\u08da\3\2\2\2\u08da\u0185\3\2\2\2\u08db"+ + "\u08d9\3\2\2\2\u08dc\u08dd\5\u016e\u00b8\2\u08dd\u08de\7?\2\2\u08de\u08df"+ + "\5\u01a0\u00d1\2\u08df\u08e0\7@\2\2\u08e0\u08e8\3\2\2\2\u08e1\u08e2\5"+ + "\u016c\u00b7\2\u08e2\u08e3\7?\2\2\u08e3\u08e4\5\u01a0\u00d1\2\u08e4\u08e5"+ + "\7@\2\2\u08e5\u08e7\3\2\2\2\u08e6\u08e1\3\2\2\2\u08e7\u08ea\3\2\2\2\u08e8"+ + "\u08e6\3\2\2\2\u08e8\u08e9\3\2\2\2\u08e9\u0187\3\2\2\2\u08ea\u08e8\3\2"+ + "\2\2\u08eb\u08ec\5<\37\2\u08ec\u08ed\7?\2\2\u08ed\u08ee\5\u01a0\u00d1"+ + "\2\u08ee\u08ef\7@\2\2\u08ef\u08f6\3\2\2\2\u08f0\u08f1\5\u0174\u00bb\2"+ + "\u08f1\u08f2\7?\2\2\u08f2\u08f3\5\u01a0\u00d1\2\u08f3\u08f4\7@\2\2\u08f4"+ + "\u08f6\3\2\2\2\u08f5\u08eb\3\2\2\2\u08f5\u08f0\3\2\2\2\u08f6\u08fe\3\2"+ + "\2\2\u08f7\u08f8\5\u0172\u00ba\2\u08f8\u08f9\7?\2\2\u08f9\u08fa\5\u01a0"+ + "\u00d1\2\u08fa\u08fb\7@\2\2\u08fb\u08fd\3\2\2\2\u08fc\u08f7\3\2\2\2\u08fd"+ + "\u0900\3\2\2\2\u08fe\u08fc\3\2\2\2\u08fe\u08ff\3\2\2\2\u08ff\u0189\3\2"+ + "\2\2\u0900\u08fe\3\2\2\2\u0901\u0902\5> \2\u0902\u0904\7;\2\2\u0903\u0905"+ + "\5\u0190\u00c9\2\u0904\u0903\3\2\2\2\u0904\u0905\3\2\2\2\u0905\u0906\3"+ + "\2\2\2\u0906\u0907\7<\2\2\u0907\u0946\3\2\2\2\u0908\u0909\58\35\2\u0909"+ + "\u090b\7C\2\2\u090a\u090c\5,\27\2\u090b\u090a\3\2\2\2\u090b\u090c\3\2"+ + "\2\2\u090c\u090d\3\2\2\2\u090d\u090e\7h\2\2\u090e\u0910\7;\2\2\u090f\u0911"+ + "\5\u0190\u00c9\2\u0910\u090f\3\2\2\2\u0910\u0911\3\2\2\2\u0911\u0912\3"+ + "\2\2\2\u0912\u0913\7<\2\2\u0913\u0946\3\2\2\2\u0914\u0915\5<\37\2\u0915"+ + "\u0917\7C\2\2\u0916\u0918\5,\27\2\u0917\u0916\3\2\2\2\u0917\u0918\3\2"+ + "\2\2\u0918\u0919\3\2\2\2\u0919\u091a\7h\2\2\u091a\u091c\7;\2\2\u091b\u091d"+ + "\5\u0190\u00c9\2\u091c\u091b\3\2\2\2\u091c\u091d\3\2\2\2\u091d\u091e\3"+ + "\2\2\2\u091e\u091f\7<\2\2\u091f\u0946\3\2\2\2\u0920\u0921\5\u0162\u00b2"+ + "\2\u0921\u0923\7C\2\2\u0922\u0924\5,\27\2\u0923\u0922\3\2\2\2\u0923\u0924"+ + "\3\2\2\2\u0924\u0925\3\2\2\2\u0925\u0926\7h\2\2\u0926\u0928\7;\2\2\u0927"+ + "\u0929\5\u0190\u00c9\2\u0928\u0927\3\2\2\2\u0928\u0929\3\2\2\2\u0929\u092a"+ + "\3\2\2\2\u092a\u092b\7<\2\2\u092b\u0946\3\2\2\2\u092c\u092d\7*\2\2\u092d"+ + "\u092f\7C\2\2\u092e\u0930\5,\27\2\u092f\u092e\3\2\2\2\u092f\u0930\3\2"+ + "\2\2\u0930\u0931\3\2\2\2\u0931\u0932\7h\2\2\u0932\u0934\7;\2\2\u0933\u0935"+ + "\5\u0190\u00c9\2\u0934\u0933\3\2\2\2\u0934\u0935\3\2\2\2\u0935\u0936\3"+ + "\2\2\2\u0936\u0946\7<\2\2\u0937\u0938\58\35\2\u0938\u0939\7C\2\2\u0939"+ + "\u093a\7*\2\2\u093a\u093c\7C\2\2\u093b\u093d\5,\27\2\u093c\u093b\3\2\2"+ + "\2\u093c\u093d\3\2\2\2\u093d\u093e\3\2\2\2\u093e\u093f\7h\2\2\u093f\u0941"+ + "\7;\2\2\u0940\u0942\5\u0190\u00c9\2\u0941\u0940\3\2\2\2\u0941\u0942\3"+ + "\2\2\2\u0942\u0943\3\2\2\2\u0943\u0944\7<\2\2\u0944\u0946\3\2\2\2\u0945"+ + "\u0901\3\2\2\2\u0945\u0908\3\2\2\2\u0945\u0914\3\2\2\2\u0945\u0920\3\2"+ + "\2\2\u0945\u092c\3\2\2\2\u0945\u0937\3\2\2\2\u0946\u018b\3\2\2\2\u0947"+ + "\u0949\7C\2\2\u0948\u094a\5,\27\2\u0949\u0948\3\2\2\2\u0949\u094a\3\2"+ + "\2\2\u094a\u094b\3\2\2\2\u094b\u094c\7h\2\2\u094c\u094e\7;\2\2\u094d\u094f"+ + "\5\u0190\u00c9\2\u094e\u094d\3\2\2\2\u094e\u094f\3\2\2\2\u094f\u0950\3"+ + "\2\2\2\u0950\u0951\7<\2\2\u0951\u018d\3\2\2\2\u0952\u0953\5> \2\u0953"+ + "\u0955\7;\2\2\u0954\u0956\5\u0190\u00c9\2\u0955\u0954\3\2\2\2\u0955\u0956"+ + "\3\2\2\2\u0956\u0957\3\2\2\2\u0957\u0958\7<\2\2\u0958\u098b\3\2\2\2\u0959"+ + "\u095a\58\35\2\u095a\u095c\7C\2\2\u095b\u095d\5,\27\2\u095c\u095b\3\2"+ + "\2\2\u095c\u095d\3\2\2\2\u095d\u095e\3\2\2\2\u095e\u095f\7h\2\2\u095f"+ + "\u0961\7;\2\2\u0960\u0962\5\u0190\u00c9\2\u0961\u0960\3\2\2\2\u0961\u0962"+ + "\3\2\2\2\u0962\u0963\3\2\2\2\u0963\u0964\7<\2\2\u0964\u098b\3\2\2\2\u0965"+ + "\u0966\5<\37\2\u0966\u0968\7C\2\2\u0967\u0969\5,\27\2\u0968"; private static final String _serializedATNSegment1 = - "\u0969\u096b\7;\2\2\u096a\u096c\5\u0190\u00c9\2\u096b\u096a\3\2\2\2\u096b"+ - "\u096c\3\2\2\2\u096c\u096d\3\2\2\2\u096d\u096e\7<\2\2\u096e\u0989\3\2"+ - "\2\2\u096f\u0970\7*\2\2\u0970\u0972\7C\2\2\u0971\u0973\5,\27\2\u0972\u0971"+ - "\3\2\2\2\u0972\u0973\3\2\2\2\u0973\u0974\3\2\2\2\u0974\u0975\7h\2\2\u0975"+ - "\u0977\7;\2\2\u0976\u0978\5\u0190\u00c9\2\u0977\u0976\3\2\2\2\u0977\u0978"+ - "\3\2\2\2\u0978\u0979\3\2\2\2\u0979\u0989\7<\2\2\u097a\u097b\58\35\2\u097b"+ - "\u097c\7C\2\2\u097c\u097d\7*\2\2\u097d\u097f\7C\2\2\u097e\u0980\5,\27"+ - "\2\u097f\u097e\3\2\2\2\u097f\u0980\3\2\2\2\u0980\u0981\3\2\2\2\u0981\u0982"+ - "\7h\2\2\u0982\u0984\7;\2\2\u0983\u0985\5\u0190\u00c9\2\u0984\u0983\3\2"+ - "\2\2\u0984\u0985\3\2\2\2\u0985\u0986\3\2\2\2\u0986\u0987\7<\2\2\u0987"+ - "\u0989\3\2\2\2\u0988\u0950\3\2\2\2\u0988\u0957\3\2\2\2\u0988\u0963\3\2"+ - "\2\2\u0988\u096f\3\2\2\2\u0988\u097a\3\2\2\2\u0989\u018f\3\2\2\2\u098a"+ - "\u098f\5\u01a0\u00d1\2\u098b\u098c\7B\2\2\u098c\u098e\5\u01a0\u00d1\2"+ - "\u098d\u098b\3\2\2\2\u098e\u0991\3\2\2\2\u098f\u098d\3\2\2\2\u098f\u0990"+ - "\3\2\2\2\u0990\u0191\3\2\2\2\u0991\u098f\3\2\2\2\u0992\u0993\5<\37\2\u0993"+ - "\u0995\7\\\2\2\u0994\u0996\5,\27\2\u0995\u0994\3\2\2\2\u0995\u0996\3\2"+ - "\2\2\u0996\u0997\3\2\2\2\u0997\u0998\7h\2\2\u0998\u09c2\3\2\2\2\u0999"+ - "\u099a\5\16\b\2\u099a\u099c\7\\\2\2\u099b\u099d\5,\27\2\u099c\u099b\3"+ - "\2\2\2\u099c\u099d\3\2\2\2\u099d\u099e\3\2\2\2\u099e\u099f\7h\2\2\u099f"+ - "\u09c2\3\2\2\2\u09a0\u09a1\5\u0162\u00b2\2\u09a1\u09a3\7\\\2\2\u09a2\u09a4"+ - "\5,\27\2\u09a3\u09a2\3\2\2\2\u09a3\u09a4\3\2\2\2\u09a4\u09a5\3\2\2\2\u09a5"+ - "\u09a6\7h\2\2\u09a6\u09c2\3\2\2\2\u09a7\u09a8\7*\2\2\u09a8\u09aa\7\\\2"+ - "\2\u09a9\u09ab\5,\27\2\u09aa\u09a9\3\2\2\2\u09aa\u09ab\3\2\2\2\u09ab\u09ac"+ - "\3\2\2\2\u09ac\u09c2\7h\2\2\u09ad\u09ae\58\35\2\u09ae\u09af\7C\2\2\u09af"+ - "\u09b0\7*\2\2\u09b0\u09b2\7\\\2\2\u09b1\u09b3\5,\27\2\u09b2\u09b1\3\2"+ - "\2\2\u09b2\u09b3\3\2\2\2\u09b3\u09b4\3\2\2\2\u09b4\u09b5\7h\2\2\u09b5"+ - "\u09c2\3\2\2\2\u09b6\u09b7\5\22\n\2\u09b7\u09b9\7\\\2\2\u09b8\u09ba\5"+ - ",\27\2\u09b9\u09b8\3\2\2\2\u09b9\u09ba\3\2\2\2\u09ba\u09bb\3\2\2\2\u09bb"+ - "\u09bc\7!\2\2\u09bc\u09c2\3\2\2\2\u09bd\u09be\5 \21\2\u09be\u09bf\7\\"+ - "\2\2\u09bf\u09c0\7!\2\2\u09c0\u09c2\3\2\2\2\u09c1\u0992\3\2\2\2\u09c1"+ - "\u0999\3\2\2\2\u09c1\u09a0\3\2\2\2\u09c1\u09a7\3\2\2\2\u09c1\u09ad\3\2"+ - "\2\2\u09c1\u09b6\3\2\2\2\u09c1\u09bd\3\2\2\2\u09c2\u0193\3\2\2\2\u09c3"+ - "\u09c5\7\\\2\2\u09c4\u09c6\5,\27\2\u09c5\u09c4\3\2\2\2\u09c5\u09c6\3\2"+ - "\2\2\u09c6\u09c7\3\2\2\2\u09c7\u09c8\7h\2\2\u09c8\u0195\3\2\2\2\u09c9"+ - "\u09ca\5<\37\2\u09ca\u09cc\7\\\2\2\u09cb\u09cd\5,\27\2\u09cc\u09cb\3\2"+ - "\2\2\u09cc\u09cd\3\2\2\2\u09cd\u09ce\3\2\2\2\u09ce\u09cf\7h\2\2\u09cf"+ - "\u09f2\3\2\2\2\u09d0\u09d1\5\16\b\2\u09d1\u09d3\7\\\2\2\u09d2\u09d4\5"+ - ",\27\2\u09d3\u09d2\3\2\2\2\u09d3\u09d4\3\2\2\2\u09d4\u09d5\3\2\2\2\u09d5"+ - "\u09d6\7h\2\2\u09d6\u09f2\3\2\2\2\u09d7\u09d8\7*\2\2\u09d8\u09da\7\\\2"+ - "\2\u09d9\u09db\5,\27\2\u09da\u09d9\3\2\2\2\u09da\u09db\3\2\2\2\u09db\u09dc"+ - "\3\2\2\2\u09dc\u09f2\7h\2\2\u09dd\u09de\58\35\2\u09de\u09df\7C\2\2\u09df"+ - "\u09e0\7*\2\2\u09e0\u09e2\7\\\2\2\u09e1\u09e3\5,\27\2\u09e2\u09e1\3\2"+ - "\2\2\u09e2\u09e3\3\2\2\2\u09e3\u09e4\3\2\2\2\u09e4\u09e5\7h\2\2\u09e5"+ - "\u09f2\3\2\2\2\u09e6\u09e7\5\22\n\2\u09e7\u09e9\7\\\2\2\u09e8\u09ea\5"+ - ",\27\2\u09e9\u09e8\3\2\2\2\u09e9\u09ea\3\2\2\2\u09ea\u09eb\3\2\2\2\u09eb"+ - "\u09ec\7!\2\2\u09ec\u09f2\3\2\2\2\u09ed\u09ee\5 \21\2\u09ee\u09ef\7\\"+ - "\2\2\u09ef\u09f0\7!\2\2\u09f0\u09f2\3\2\2\2\u09f1\u09c9\3\2\2\2\u09f1"+ - "\u09d0\3\2\2\2\u09f1\u09d7\3\2\2\2\u09f1\u09dd\3\2\2\2\u09f1\u09e6\3\2"+ - "\2\2\u09f1\u09ed\3\2\2\2\u09f2\u0197\3\2\2\2\u09f3\u09f4\7!\2\2\u09f4"+ - "\u09f5\5\6\4\2\u09f5\u09f7\5\u019a\u00ce\2\u09f6\u09f8\5\"\22\2\u09f7"+ - "\u09f6\3\2\2\2\u09f7\u09f8\3\2\2\2\u09f8\u0a0a\3\2\2\2\u09f9\u09fa\7!"+ - "\2\2\u09fa\u09fb\5\20\t\2\u09fb\u09fd\5\u019a\u00ce\2\u09fc\u09fe\5\""+ - "\22\2\u09fd\u09fc\3\2\2\2\u09fd\u09fe\3\2\2\2\u09fe\u0a0a\3\2\2\2\u09ff"+ - "\u0a00\7!\2\2\u0a00\u0a01\5\6\4\2\u0a01\u0a02\5\"\22\2\u0a02\u0a03\5\u00fa"+ - "~\2\u0a03\u0a0a\3\2\2\2\u0a04\u0a05\7!\2\2\u0a05\u0a06\5\20\t\2\u0a06"+ - "\u0a07\5\"\22\2\u0a07\u0a08\5\u00fa~\2\u0a08\u0a0a\3\2\2\2\u0a09\u09f3"+ - "\3\2\2\2\u0a09\u09f9\3\2\2\2\u0a09\u09ff\3\2\2\2\u0a09\u0a04\3\2\2\2\u0a0a"+ - "\u0199\3\2\2\2\u0a0b\u0a0f\5\u019c\u00cf\2\u0a0c\u0a0e\5\u019c\u00cf\2"+ - "\u0a0d\u0a0c\3\2\2\2\u0a0e\u0a11\3\2\2\2\u0a0f\u0a0d\3\2\2\2\u0a0f\u0a10"+ - "\3\2\2\2\u0a10\u019b\3\2\2\2\u0a11\u0a0f\3\2\2\2\u0a12\u0a14\5\u00e8u"+ - "\2\u0a13\u0a12\3\2\2\2\u0a14\u0a17\3\2\2\2\u0a15\u0a13\3\2\2\2\u0a15\u0a16"+ - "\3\2\2\2\u0a16\u0a18\3\2\2\2\u0a17\u0a15\3\2\2\2\u0a18\u0a19\7?\2\2\u0a19"+ - "\u0a1a\5\u01a0\u00d1\2\u0a1a\u0a1b\7@\2\2\u0a1b\u019d\3\2\2\2\u0a1c\u0a1d"+ - "\5\u01a0\u00d1\2\u0a1d\u019f\3\2\2\2\u0a1e\u0a21\5\u01a2\u00d2\2\u0a1f"+ - "\u0a21\5\u01aa\u00d6\2\u0a20\u0a1e\3\2\2\2\u0a20\u0a1f\3\2\2\2\u0a21\u01a1"+ - "\3\2\2\2\u0a22\u0a23\5\u01a4\u00d3\2\u0a23\u0a24\7[\2\2\u0a24\u0a25\5"+ - "\u01a8\u00d5\2\u0a25\u01a3\3\2\2\2\u0a26\u0a31\7h\2\2\u0a27\u0a29\7;\2"+ - "\2\u0a28\u0a2a\5\u0098M\2\u0a29\u0a28\3\2\2\2\u0a29\u0a2a\3\2\2\2\u0a2a"+ - "\u0a2b\3\2\2\2\u0a2b\u0a31\7<\2\2\u0a2c\u0a2d\7;\2\2\u0a2d\u0a2e\5\u01a6"+ - "\u00d4\2\u0a2e\u0a2f\7<\2\2\u0a2f\u0a31\3\2\2\2\u0a30\u0a26\3\2\2\2\u0a30"+ - "\u0a27\3\2\2\2\u0a30\u0a2c\3\2\2\2\u0a31\u01a5\3\2\2\2\u0a32\u0a37\7h"+ - "\2\2\u0a33\u0a34\7B\2\2\u0a34\u0a36\7h\2\2\u0a35\u0a33\3\2\2\2\u0a36\u0a39"+ - "\3\2\2\2\u0a37\u0a35\3\2\2\2\u0a37\u0a38\3\2\2\2\u0a38\u01a7\3\2\2\2\u0a39"+ - "\u0a37\3\2\2\2\u0a3a\u0a3d\5\u01a0\u00d1\2\u0a3b\u0a3d\5\u00fe\u0080\2"+ - "\u0a3c\u0a3a\3\2\2\2\u0a3c\u0a3b\3\2\2\2\u0a3d\u01a9\3\2\2\2\u0a3e\u0a41"+ - "\5\u01b2\u00da\2\u0a3f\u0a41\5\u01ac\u00d7\2\u0a40\u0a3e\3\2\2\2\u0a40"+ - "\u0a3f\3\2\2\2\u0a41\u01ab\3\2\2\2\u0a42\u0a43\5\u01ae\u00d8\2\u0a43\u0a44"+ - "\5\u01b0\u00d9\2\u0a44\u0a45\5\u01a0\u00d1\2\u0a45\u01ad\3\2\2\2\u0a46"+ - "\u0a4a\5<\37\2\u0a47\u0a4a\5\u017e\u00c0\2\u0a48\u0a4a\5\u0184\u00c3\2"+ - "\u0a49\u0a46\3\2\2\2\u0a49\u0a47\3\2\2\2\u0a49\u0a48\3\2\2\2\u0a4a\u01af"+ - "\3\2\2\2\u0a4b\u0a4c\t\5\2\2\u0a4c\u01b1\3\2\2\2\u0a4d\u0a55\5\u01b4\u00db"+ - "\2\u0a4e\u0a4f\5\u01b4\u00db\2\u0a4f\u0a50\7I\2\2\u0a50\u0a51\5\u01a0"+ - "\u00d1\2\u0a51\u0a52\7J\2\2\u0a52\u0a53\5\u01b2\u00da\2\u0a53\u0a55\3"+ - "\2\2\2\u0a54\u0a4d\3\2\2\2\u0a54\u0a4e\3\2\2\2\u0a55\u01b3\3\2\2\2\u0a56"+ - "\u0a57\b\u00db\1\2\u0a57\u0a58\5\u01b6\u00dc\2\u0a58\u0a5e\3\2\2\2\u0a59"+ - "\u0a5a\f\3\2\2\u0a5a\u0a5b\7P\2\2\u0a5b\u0a5d\5\u01b6\u00dc\2\u0a5c\u0a59"+ - "\3\2\2\2\u0a5d\u0a60\3\2\2\2\u0a5e\u0a5c\3\2\2\2\u0a5e\u0a5f\3\2\2\2\u0a5f"+ - "\u01b5\3\2\2\2\u0a60\u0a5e\3\2\2\2\u0a61\u0a62\b\u00dc\1\2\u0a62\u0a63"+ - "\5\u01b8\u00dd\2\u0a63\u0a69\3\2\2\2\u0a64\u0a65\f\3\2\2\u0a65\u0a66\7"+ - "O\2\2\u0a66\u0a68\5\u01b8\u00dd\2\u0a67\u0a64\3\2\2\2\u0a68\u0a6b\3\2"+ - "\2\2\u0a69\u0a67\3\2\2\2\u0a69\u0a6a\3\2\2\2\u0a6a\u01b7\3\2\2\2\u0a6b"+ - "\u0a69\3\2\2\2\u0a6c\u0a6d\b\u00dd\1\2\u0a6d\u0a6e\5\u01ba\u00de\2\u0a6e"+ - "\u0a74\3\2\2\2\u0a6f\u0a70\f\3\2\2\u0a70\u0a71\7X\2\2\u0a71\u0a73\5\u01ba"+ - "\u00de\2\u0a72\u0a6f\3\2\2\2\u0a73\u0a76\3\2\2\2\u0a74\u0a72\3\2\2\2\u0a74"+ - "\u0a75\3\2\2\2\u0a75\u01b9\3\2\2\2\u0a76\u0a74\3\2\2\2\u0a77\u0a78\b\u00de"+ - "\1\2\u0a78\u0a79\5\u01bc\u00df\2\u0a79\u0a7f\3\2\2\2\u0a7a\u0a7b\f\3\2"+ - "\2\u0a7b\u0a7c\7Y\2\2\u0a7c\u0a7e\5\u01bc\u00df\2\u0a7d\u0a7a\3\2\2\2"+ - "\u0a7e\u0a81\3\2\2\2\u0a7f\u0a7d\3\2\2\2\u0a7f\u0a80\3\2\2\2\u0a80\u01bb"+ - "\3\2\2\2\u0a81\u0a7f\3\2\2\2\u0a82\u0a83\b\u00df\1\2\u0a83\u0a84\5\u01be"+ - "\u00e0\2\u0a84\u0a8a\3\2\2\2\u0a85\u0a86\f\3\2\2\u0a86\u0a87\7W\2\2\u0a87"+ - "\u0a89\5\u01be\u00e0\2\u0a88\u0a85\3\2\2\2\u0a89\u0a8c\3\2\2\2\u0a8a\u0a88"+ - "\3\2\2\2\u0a8a\u0a8b\3\2\2\2\u0a8b\u01bd\3\2\2\2\u0a8c\u0a8a\3\2\2\2\u0a8d"+ - "\u0a8e\b\u00e0\1\2\u0a8e\u0a8f\5\u01c0\u00e1\2\u0a8f\u0a98\3\2\2\2\u0a90"+ - "\u0a91\f\4\2\2\u0a91\u0a92\7K\2\2\u0a92\u0a97\5\u01c0\u00e1\2\u0a93\u0a94"+ - "\f\3\2\2\u0a94\u0a95\7N\2\2\u0a95\u0a97\5\u01c0\u00e1\2\u0a96\u0a90\3"+ - "\2\2\2\u0a96\u0a93\3\2\2\2\u0a97\u0a9a\3\2\2\2\u0a98\u0a96\3\2\2\2\u0a98"+ - "\u0a99\3\2\2\2\u0a99\u01bf\3\2\2\2\u0a9a\u0a98\3\2\2\2\u0a9b\u0a9c\b\u00e1"+ - "\1\2\u0a9c\u0a9d\5\u01c2\u00e2\2\u0a9d\u0aaf\3\2\2\2\u0a9e\u0a9f\f\7\2"+ - "\2\u0a9f\u0aa0\7F\2\2\u0aa0\u0aae\5\u01c2\u00e2\2\u0aa1\u0aa2\f\6\2\2"+ - "\u0aa2\u0aa3\7E\2\2\u0aa3\u0aae\5\u01c2\u00e2\2\u0aa4\u0aa5\f\5\2\2\u0aa5"+ - "\u0aa6\7L\2\2\u0aa6\u0aae\5\u01c2\u00e2\2\u0aa7\u0aa8\f\4\2\2\u0aa8\u0aa9"+ - "\7M\2\2\u0aa9\u0aae\5\u01c2\u00e2\2\u0aaa\u0aab\f\3\2\2\u0aab\u0aac\7"+ - "\34\2\2\u0aac\u0aae\5\16\b\2\u0aad\u0a9e\3\2\2\2\u0aad\u0aa1\3\2\2\2\u0aad"+ - "\u0aa4\3\2\2\2\u0aad\u0aa7\3\2\2\2\u0aad\u0aaa\3\2\2\2\u0aae\u0ab1\3\2"+ - "\2\2\u0aaf\u0aad\3\2\2\2\u0aaf\u0ab0\3\2\2\2\u0ab0\u01c1\3\2\2\2\u0ab1"+ - "\u0aaf\3\2\2\2\u0ab2\u0ab3\b\u00e2\1\2\u0ab3\u0ab4\5\u01c4\u00e3\2\u0ab4"+ - "\u0ac4\3\2\2\2\u0ab5\u0ab6\f\5\2\2\u0ab6\u0ab7\7F\2\2\u0ab7\u0ab8\7F\2"+ - "\2\u0ab8\u0ac3\5\u01c4\u00e3\2\u0ab9\u0aba\f\4\2\2\u0aba\u0abb\7E\2\2"+ - "\u0abb\u0abc\7E\2\2\u0abc\u0ac3\5\u01c4\u00e3\2\u0abd\u0abe\f\3\2\2\u0abe"+ - "\u0abf\7E\2\2\u0abf\u0ac0\7E\2\2\u0ac0\u0ac1\7E\2\2\u0ac1\u0ac3\5\u01c4"+ - "\u00e3\2\u0ac2\u0ab5\3\2\2\2\u0ac2\u0ab9\3\2\2\2\u0ac2\u0abd\3\2\2\2\u0ac3"+ - "\u0ac6\3\2\2\2\u0ac4\u0ac2\3\2\2\2\u0ac4\u0ac5\3\2\2\2\u0ac5\u01c3\3\2"+ - "\2\2\u0ac6\u0ac4\3\2\2\2\u0ac7\u0ac8\b\u00e3\1\2\u0ac8\u0ac9\5\u01c6\u00e4"+ - "\2\u0ac9\u0ad2\3\2\2\2\u0aca\u0acb\f\4\2\2\u0acb\u0acc\7S\2\2\u0acc\u0ad1"+ - "\5\u01c6\u00e4\2\u0acd\u0ace\f\3\2\2\u0ace\u0acf\7T\2\2\u0acf\u0ad1\5"+ - "\u01c6\u00e4\2\u0ad0\u0aca\3\2\2\2\u0ad0\u0acd\3\2\2\2\u0ad1\u0ad4\3\2"+ - "\2\2\u0ad2\u0ad0\3\2\2\2\u0ad2\u0ad3\3\2\2\2\u0ad3\u01c5\3\2\2\2\u0ad4"+ - "\u0ad2\3\2\2\2\u0ad5\u0ad6\b\u00e4\1\2\u0ad6\u0ad7\5\u01c8\u00e5\2\u0ad7"+ - "\u0ae3\3\2\2\2\u0ad8\u0ad9\f\5\2\2\u0ad9\u0ada\7U\2\2\u0ada\u0ae2\5\u01c8"+ - "\u00e5\2\u0adb\u0adc\f\4\2\2\u0adc\u0add\7V\2\2\u0add\u0ae2\5\u01c8\u00e5"+ - "\2\u0ade\u0adf\f\3\2\2\u0adf\u0ae0\7Z\2\2\u0ae0\u0ae2\5\u01c8\u00e5\2"+ - "\u0ae1\u0ad8\3\2\2\2\u0ae1\u0adb\3\2\2\2\u0ae1\u0ade\3\2\2\2\u0ae2\u0ae5"+ - "\3\2\2\2\u0ae3\u0ae1\3\2\2\2\u0ae3\u0ae4\3\2\2\2\u0ae4\u01c7\3\2\2\2\u0ae5"+ - "\u0ae3\3\2\2\2\u0ae6\u0aee\5\u01ca\u00e6\2\u0ae7\u0aee\5\u01cc\u00e7\2"+ - "\u0ae8\u0ae9\7S\2\2\u0ae9\u0aee\5\u01c8\u00e5\2\u0aea\u0aeb\7T\2\2\u0aeb"+ - "\u0aee\5\u01c8\u00e5\2\u0aec\u0aee\5\u01ce\u00e8\2\u0aed\u0ae6\3\2\2\2"+ - "\u0aed\u0ae7\3\2\2\2\u0aed\u0ae8\3\2\2\2\u0aed\u0aea\3\2\2\2\u0aed\u0aec"+ - "\3\2\2\2\u0aee\u01c9\3\2\2\2\u0aef\u0af0\7Q\2\2\u0af0\u0af1\5\u01c8\u00e5"+ - "\2\u0af1\u01cb\3\2\2\2\u0af2\u0af3\7R\2\2\u0af3\u0af4\5\u01c8\u00e5\2"+ - "\u0af4\u01cd\3\2\2\2\u0af5\u0afc\5\u01d0\u00e9\2\u0af6\u0af7\7H\2\2\u0af7"+ - "\u0afc\5\u01c8\u00e5\2\u0af8\u0af9\7G\2\2\u0af9\u0afc\5\u01c8\u00e5\2"+ - "\u0afa\u0afc\5\u01da\u00ee\2\u0afb\u0af5\3\2\2\2\u0afb\u0af6\3\2\2\2\u0afb"+ - "\u0af8\3\2\2\2\u0afb\u0afa\3\2\2\2\u0afc\u01cf\3\2\2\2\u0afd\u0b00\5\u0162"+ - "\u00b2\2\u0afe\u0b00\5<\37\2\u0aff\u0afd\3\2\2\2\u0aff\u0afe\3\2\2\2\u0b00"+ - "\u0b05\3\2\2\2\u0b01\u0b04\5\u01d4\u00eb\2\u0b02\u0b04\5\u01d8\u00ed\2"+ - "\u0b03\u0b01\3\2\2\2\u0b03\u0b02\3\2\2\2\u0b04\u0b07\3\2\2\2\u0b05\u0b03"+ - "\3\2\2\2\u0b05\u0b06\3\2\2\2\u0b06\u01d1\3\2\2\2\u0b07\u0b05\3\2\2\2\u0b08"+ - "\u0b09\5\u01d0\u00e9\2\u0b09\u0b0a\7Q\2\2\u0b0a\u01d3\3\2\2\2\u0b0b\u0b0c"+ - "\7Q\2\2\u0b0c\u01d5\3\2\2\2\u0b0d\u0b0e\5\u01d0\u00e9\2\u0b0e\u0b0f\7"+ - "R\2\2\u0b0f\u01d7\3\2\2\2\u0b10\u0b11\7R\2\2\u0b11\u01d9\3\2\2\2\u0b12"+ - "\u0b13\7;\2\2\u0b13\u0b14\5\6\4\2\u0b14\u0b15\7<\2\2\u0b15\u0b16\5\u01c8"+ - "\u00e5\2\u0b16\u0b2e\3\2\2\2\u0b17\u0b18\7;\2\2\u0b18\u0b1c\5\16\b\2\u0b19"+ - "\u0b1b\5*\26\2\u0b1a\u0b19\3\2\2\2\u0b1b\u0b1e\3\2\2\2\u0b1c\u0b1a\3\2"+ - "\2\2\u0b1c\u0b1d\3\2\2\2\u0b1d\u0b1f\3\2\2\2\u0b1e\u0b1c\3\2\2\2\u0b1f"+ - "\u0b20\7<\2\2\u0b20\u0b21\5\u01ce\u00e8\2\u0b21\u0b2e\3\2\2\2\u0b22\u0b23"+ - "\7;\2\2\u0b23\u0b27\5\16\b\2\u0b24\u0b26\5*\26\2\u0b25\u0b24\3\2\2\2\u0b26"+ - "\u0b29\3\2\2\2\u0b27\u0b25\3\2\2\2\u0b27\u0b28\3\2\2\2\u0b28\u0b2a\3\2"+ - "\2\2\u0b29\u0b27\3\2\2\2\u0b2a\u0b2b\7<\2\2\u0b2b\u0b2c\5\u01a2\u00d2"+ - "\2\u0b2c\u0b2e\3\2\2\2\u0b2d\u0b12\3\2\2\2\u0b2d\u0b17\3\2\2\2\u0b2d\u0b22"+ - "\3\2\2\2\u0b2e\u01db\3\2\2\2\u0148\u01e0\u01e5\u01ec\u01f0\u01f4\u01fd"+ + "\u0967\3\2\2\2\u0968\u0969\3\2\2\2\u0969\u096a\3\2\2\2\u096a\u096b\7h"+ + "\2\2\u096b\u096d\7;\2\2\u096c\u096e\5\u0190\u00c9\2\u096d\u096c\3\2\2"+ + "\2\u096d\u096e\3\2\2\2\u096e\u096f\3\2\2\2\u096f\u0970\7<\2\2\u0970\u098b"+ + "\3\2\2\2\u0971\u0972\7*\2\2\u0972\u0974\7C\2\2\u0973\u0975\5,\27\2\u0974"+ + "\u0973\3\2\2\2\u0974\u0975\3\2\2\2\u0975\u0976\3\2\2\2\u0976\u0977\7h"+ + "\2\2\u0977\u0979\7;\2\2\u0978\u097a\5\u0190\u00c9\2\u0979\u0978\3\2\2"+ + "\2\u0979\u097a\3\2\2\2\u097a\u097b\3\2\2\2\u097b\u098b\7<\2\2\u097c\u097d"+ + "\58\35\2\u097d\u097e\7C\2\2\u097e\u097f\7*\2\2\u097f\u0981\7C\2\2\u0980"+ + "\u0982\5,\27\2\u0981\u0980\3\2\2\2\u0981\u0982\3\2\2\2\u0982\u0983\3\2"+ + "\2\2\u0983\u0984\7h\2\2\u0984\u0986\7;\2\2\u0985\u0987\5\u0190\u00c9\2"+ + "\u0986\u0985\3\2\2\2\u0986\u0987\3\2\2\2\u0987\u0988\3\2\2\2\u0988\u0989"+ + "\7<\2\2\u0989\u098b\3\2\2\2\u098a\u0952\3\2\2\2\u098a\u0959\3\2\2\2\u098a"+ + "\u0965\3\2\2\2\u098a\u0971\3\2\2\2\u098a\u097c\3\2\2\2\u098b\u018f\3\2"+ + "\2\2\u098c\u0991\5\u01a0\u00d1\2\u098d\u098e\7B\2\2\u098e\u0990\5\u01a0"+ + "\u00d1\2\u098f\u098d\3\2\2\2\u0990\u0993\3\2\2\2\u0991\u098f\3\2\2\2\u0991"+ + "\u0992\3\2\2\2\u0992\u0191\3\2\2\2\u0993\u0991\3\2\2\2\u0994\u0995\5<"+ + "\37\2\u0995\u0997\7\\\2\2\u0996\u0998\5,\27\2\u0997\u0996\3\2\2\2\u0997"+ + "\u0998\3\2\2\2\u0998\u0999\3\2\2\2\u0999\u099a\7h\2\2\u099a\u09c4\3\2"+ + "\2\2\u099b\u099c\5\16\b\2\u099c\u099e\7\\\2\2\u099d\u099f\5,\27\2\u099e"+ + "\u099d\3\2\2\2\u099e\u099f\3\2\2\2\u099f\u09a0\3\2\2\2\u09a0\u09a1\7h"+ + "\2\2\u09a1\u09c4\3\2\2\2\u09a2\u09a3\5\u0162\u00b2\2\u09a3\u09a5\7\\\2"+ + "\2\u09a4\u09a6\5,\27\2\u09a5\u09a4\3\2\2\2\u09a5\u09a6\3\2\2\2\u09a6\u09a7"+ + "\3\2\2\2\u09a7\u09a8\7h\2\2\u09a8\u09c4\3\2\2\2\u09a9\u09aa\7*\2\2\u09aa"+ + "\u09ac\7\\\2\2\u09ab\u09ad\5,\27\2\u09ac\u09ab\3\2\2\2\u09ac\u09ad\3\2"+ + "\2\2\u09ad\u09ae\3\2\2\2\u09ae\u09c4\7h\2\2\u09af\u09b0\58\35\2\u09b0"+ + "\u09b1\7C\2\2\u09b1\u09b2\7*\2\2\u09b2\u09b4\7\\\2\2\u09b3\u09b5\5,\27"+ + "\2\u09b4\u09b3\3\2\2\2\u09b4\u09b5\3\2\2\2\u09b5\u09b6\3\2\2\2\u09b6\u09b7"+ + "\7h\2\2\u09b7\u09c4\3\2\2\2\u09b8\u09b9\5\22\n\2\u09b9\u09bb\7\\\2\2\u09ba"+ + "\u09bc\5,\27\2\u09bb\u09ba\3\2\2\2\u09bb\u09bc\3\2\2\2\u09bc\u09bd\3\2"+ + "\2\2\u09bd\u09be\7!\2\2\u09be\u09c4\3\2\2\2\u09bf\u09c0\5 \21\2\u09c0"+ + "\u09c1\7\\\2\2\u09c1\u09c2\7!\2\2\u09c2\u09c4\3\2\2\2\u09c3\u0994\3\2"+ + "\2\2\u09c3\u099b\3\2\2\2\u09c3\u09a2\3\2\2\2\u09c3\u09a9\3\2\2\2\u09c3"+ + "\u09af\3\2\2\2\u09c3\u09b8\3\2\2\2\u09c3\u09bf\3\2\2\2\u09c4\u0193\3\2"+ + "\2\2\u09c5\u09c7\7\\\2\2\u09c6\u09c8\5,\27\2\u09c7\u09c6\3\2\2\2\u09c7"+ + "\u09c8\3\2\2\2\u09c8\u09c9\3\2\2\2\u09c9\u09ca\7h\2\2\u09ca\u0195\3\2"+ + "\2\2\u09cb\u09cc\5<\37\2\u09cc\u09ce\7\\\2\2\u09cd\u09cf\5,\27\2\u09ce"+ + "\u09cd\3\2\2\2\u09ce\u09cf\3\2\2\2\u09cf\u09d0\3\2\2\2\u09d0\u09d1\7h"+ + "\2\2\u09d1\u09f4\3\2\2\2\u09d2\u09d3\5\16\b\2\u09d3\u09d5\7\\\2\2\u09d4"+ + "\u09d6\5,\27\2\u09d5\u09d4\3\2\2\2\u09d5\u09d6\3\2\2\2\u09d6\u09d7\3\2"+ + "\2\2\u09d7\u09d8\7h\2\2\u09d8\u09f4\3\2\2\2\u09d9\u09da\7*\2\2\u09da\u09dc"+ + "\7\\\2\2\u09db\u09dd\5,\27\2\u09dc\u09db\3\2\2\2\u09dc\u09dd\3\2\2\2\u09dd"+ + "\u09de\3\2\2\2\u09de\u09f4\7h\2\2\u09df\u09e0\58\35\2\u09e0\u09e1\7C\2"+ + "\2\u09e1\u09e2\7*\2\2\u09e2\u09e4\7\\\2\2\u09e3\u09e5\5,\27\2\u09e4\u09e3"+ + "\3\2\2\2\u09e4\u09e5\3\2\2\2\u09e5\u09e6\3\2\2\2\u09e6\u09e7\7h\2\2\u09e7"+ + "\u09f4\3\2\2\2\u09e8\u09e9\5\22\n\2\u09e9\u09eb\7\\\2\2\u09ea\u09ec\5"+ + ",\27\2\u09eb\u09ea\3\2\2\2\u09eb\u09ec\3\2\2\2\u09ec\u09ed\3\2\2\2\u09ed"+ + "\u09ee\7!\2\2\u09ee\u09f4\3\2\2\2\u09ef\u09f0\5 \21\2\u09f0\u09f1\7\\"+ + "\2\2\u09f1\u09f2\7!\2\2\u09f2\u09f4\3\2\2\2\u09f3\u09cb\3\2\2\2\u09f3"+ + "\u09d2\3\2\2\2\u09f3\u09d9\3\2\2\2\u09f3\u09df\3\2\2\2\u09f3\u09e8\3\2"+ + "\2\2\u09f3\u09ef\3\2\2\2\u09f4\u0197\3\2\2\2\u09f5\u09f6\7!\2\2\u09f6"+ + "\u09f7\5\6\4\2\u09f7\u09f9\5\u019a\u00ce\2\u09f8\u09fa\5\"\22\2\u09f9"+ + "\u09f8\3\2\2\2\u09f9\u09fa\3\2\2\2\u09fa\u0a0c\3\2\2\2\u09fb\u09fc\7!"+ + "\2\2\u09fc\u09fd\5\20\t\2\u09fd\u09ff\5\u019a\u00ce\2\u09fe\u0a00\5\""+ + "\22\2\u09ff\u09fe\3\2\2\2\u09ff\u0a00\3\2\2\2\u0a00\u0a0c\3\2\2\2\u0a01"+ + "\u0a02\7!\2\2\u0a02\u0a03\5\6\4\2\u0a03\u0a04\5\"\22\2\u0a04\u0a05\5\u00fa"+ + "~\2\u0a05\u0a0c\3\2\2\2\u0a06\u0a07\7!\2\2\u0a07\u0a08\5\20\t\2\u0a08"+ + "\u0a09\5\"\22\2\u0a09\u0a0a\5\u00fa~\2\u0a0a\u0a0c\3\2\2\2\u0a0b\u09f5"+ + "\3\2\2\2\u0a0b\u09fb\3\2\2\2\u0a0b\u0a01\3\2\2\2\u0a0b\u0a06\3\2\2\2\u0a0c"+ + "\u0199\3\2\2\2\u0a0d\u0a11\5\u019c\u00cf\2\u0a0e\u0a10\5\u019c\u00cf\2"+ + "\u0a0f\u0a0e\3\2\2\2\u0a10\u0a13\3\2\2\2\u0a11\u0a0f\3\2\2\2\u0a11\u0a12"+ + "\3\2\2\2\u0a12\u019b\3\2\2\2\u0a13\u0a11\3\2\2\2\u0a14\u0a16\5\u00e8u"+ + "\2\u0a15\u0a14\3\2\2\2\u0a16\u0a19\3\2\2\2\u0a17\u0a15\3\2\2\2\u0a17\u0a18"+ + "\3\2\2\2\u0a18\u0a1a\3\2\2\2\u0a19\u0a17\3\2\2\2\u0a1a\u0a1b\7?\2\2\u0a1b"+ + "\u0a1c\5\u01a0\u00d1\2\u0a1c\u0a1d\7@\2\2\u0a1d\u019d\3\2\2\2\u0a1e\u0a1f"+ + "\5\u01a0\u00d1\2\u0a1f\u019f\3\2\2\2\u0a20\u0a23\5\u01a2\u00d2\2\u0a21"+ + "\u0a23\5\u01aa\u00d6\2\u0a22\u0a20\3\2\2\2\u0a22\u0a21\3\2\2\2\u0a23\u01a1"+ + "\3\2\2\2\u0a24\u0a25\5\u01a4\u00d3\2\u0a25\u0a26\7[\2\2\u0a26\u0a27\5"+ + "\u01a8\u00d5\2\u0a27\u01a3\3\2\2\2\u0a28\u0a33\7h\2\2\u0a29\u0a2b\7;\2"+ + "\2\u0a2a\u0a2c\5\u0098M\2\u0a2b\u0a2a\3\2\2\2\u0a2b\u0a2c\3\2\2\2\u0a2c"+ + "\u0a2d\3\2\2\2\u0a2d\u0a33\7<\2\2\u0a2e\u0a2f\7;\2\2\u0a2f\u0a30\5\u01a6"+ + "\u00d4\2\u0a30\u0a31\7<\2\2\u0a31\u0a33\3\2\2\2\u0a32\u0a28\3\2\2\2\u0a32"+ + "\u0a29\3\2\2\2\u0a32\u0a2e\3\2\2\2\u0a33\u01a5\3\2\2\2\u0a34\u0a39\7h"+ + "\2\2\u0a35\u0a36\7B\2\2\u0a36\u0a38\7h\2\2\u0a37\u0a35\3\2\2\2\u0a38\u0a3b"+ + "\3\2\2\2\u0a39\u0a37\3\2\2\2\u0a39\u0a3a\3\2\2\2\u0a3a\u01a7\3\2\2\2\u0a3b"+ + "\u0a39\3\2\2\2\u0a3c\u0a3f\5\u01a0\u00d1\2\u0a3d\u0a3f\5\u00fe\u0080\2"+ + "\u0a3e\u0a3c\3\2\2\2\u0a3e\u0a3d\3\2\2\2\u0a3f\u01a9\3\2\2\2\u0a40\u0a43"+ + "\5\u01b2\u00da\2\u0a41\u0a43\5\u01ac\u00d7\2\u0a42\u0a40\3\2\2\2\u0a42"+ + "\u0a41\3\2\2\2\u0a43\u01ab\3\2\2\2\u0a44\u0a45\5\u01ae\u00d8\2\u0a45\u0a46"+ + "\5\u01b0\u00d9\2\u0a46\u0a47\5\u01a0\u00d1\2\u0a47\u01ad\3\2\2\2\u0a48"+ + "\u0a4c\5<\37\2\u0a49\u0a4c\5\u017e\u00c0\2\u0a4a\u0a4c\5\u0184\u00c3\2"+ + "\u0a4b\u0a48\3\2\2\2\u0a4b\u0a49\3\2\2\2\u0a4b\u0a4a\3\2\2\2\u0a4c\u01af"+ + "\3\2\2\2\u0a4d\u0a4e\t\5\2\2\u0a4e\u01b1\3\2\2\2\u0a4f\u0a57\5\u01b4\u00db"+ + "\2\u0a50\u0a51\5\u01b4\u00db\2\u0a51\u0a52\7I\2\2\u0a52\u0a53\5\u01a0"+ + "\u00d1\2\u0a53\u0a54\7J\2\2\u0a54\u0a55\5\u01b2\u00da\2\u0a55\u0a57\3"+ + "\2\2\2\u0a56\u0a4f\3\2\2\2\u0a56\u0a50\3\2\2\2\u0a57\u01b3\3\2\2\2\u0a58"+ + "\u0a59\b\u00db\1\2\u0a59\u0a5a\5\u01b6\u00dc\2\u0a5a\u0a60\3\2\2\2\u0a5b"+ + "\u0a5c\f\3\2\2\u0a5c\u0a5d\7P\2\2\u0a5d\u0a5f\5\u01b6\u00dc\2\u0a5e\u0a5b"+ + "\3\2\2\2\u0a5f\u0a62\3\2\2\2\u0a60\u0a5e\3\2\2\2\u0a60\u0a61\3\2\2\2\u0a61"+ + "\u01b5\3\2\2\2\u0a62\u0a60\3\2\2\2\u0a63\u0a64\b\u00dc\1\2\u0a64\u0a65"+ + "\5\u01b8\u00dd\2\u0a65\u0a6b\3\2\2\2\u0a66\u0a67\f\3\2\2\u0a67\u0a68\7"+ + "O\2\2\u0a68\u0a6a\5\u01b8\u00dd\2\u0a69\u0a66\3\2\2\2\u0a6a\u0a6d\3\2"+ + "\2\2\u0a6b\u0a69\3\2\2\2\u0a6b\u0a6c\3\2\2\2\u0a6c\u01b7\3\2\2\2\u0a6d"+ + "\u0a6b\3\2\2\2\u0a6e\u0a6f\b\u00dd\1\2\u0a6f\u0a70\5\u01ba\u00de\2\u0a70"+ + "\u0a76\3\2\2\2\u0a71\u0a72\f\3\2\2\u0a72\u0a73\7X\2\2\u0a73\u0a75\5\u01ba"+ + "\u00de\2\u0a74\u0a71\3\2\2\2\u0a75\u0a78\3\2\2\2\u0a76\u0a74\3\2\2\2\u0a76"+ + "\u0a77\3\2\2\2\u0a77\u01b9\3\2\2\2\u0a78\u0a76\3\2\2\2\u0a79\u0a7a\b\u00de"+ + "\1\2\u0a7a\u0a7b\5\u01bc\u00df\2\u0a7b\u0a81\3\2\2\2\u0a7c\u0a7d\f\3\2"+ + "\2\u0a7d\u0a7e\7Y\2\2\u0a7e\u0a80\5\u01bc\u00df\2\u0a7f\u0a7c\3\2\2\2"+ + "\u0a80\u0a83\3\2\2\2\u0a81\u0a7f\3\2\2\2\u0a81\u0a82\3\2\2\2\u0a82\u01bb"+ + "\3\2\2\2\u0a83\u0a81\3\2\2\2\u0a84\u0a85\b\u00df\1\2\u0a85\u0a86\5\u01be"+ + "\u00e0\2\u0a86\u0a8c\3\2\2\2\u0a87\u0a88\f\3\2\2\u0a88\u0a89\7W\2\2\u0a89"+ + "\u0a8b\5\u01be\u00e0\2\u0a8a\u0a87\3\2\2\2\u0a8b\u0a8e\3\2\2\2\u0a8c\u0a8a"+ + "\3\2\2\2\u0a8c\u0a8d\3\2\2\2\u0a8d\u01bd\3\2\2\2\u0a8e\u0a8c\3\2\2\2\u0a8f"+ + "\u0a90\b\u00e0\1\2\u0a90\u0a91\5\u01c0\u00e1\2\u0a91\u0a9a\3\2\2\2\u0a92"+ + "\u0a93\f\4\2\2\u0a93\u0a94\7K\2\2\u0a94\u0a99\5\u01c0\u00e1\2\u0a95\u0a96"+ + "\f\3\2\2\u0a96\u0a97\7N\2\2\u0a97\u0a99\5\u01c0\u00e1\2\u0a98\u0a92\3"+ + "\2\2\2\u0a98\u0a95\3\2\2\2\u0a99\u0a9c\3\2\2\2\u0a9a\u0a98\3\2\2\2\u0a9a"+ + "\u0a9b\3\2\2\2\u0a9b\u01bf\3\2\2\2\u0a9c\u0a9a\3\2\2\2\u0a9d\u0a9e\b\u00e1"+ + "\1\2\u0a9e\u0a9f\5\u01c2\u00e2\2\u0a9f\u0ab1\3\2\2\2\u0aa0\u0aa1\f\7\2"+ + "\2\u0aa1\u0aa2\7F\2\2\u0aa2\u0ab0\5\u01c2\u00e2\2\u0aa3\u0aa4\f\6\2\2"+ + "\u0aa4\u0aa5\7E\2\2\u0aa5\u0ab0\5\u01c2\u00e2\2\u0aa6\u0aa7\f\5\2\2\u0aa7"+ + "\u0aa8\7L\2\2\u0aa8\u0ab0\5\u01c2\u00e2\2\u0aa9\u0aaa\f\4\2\2\u0aaa\u0aab"+ + "\7M\2\2\u0aab\u0ab0\5\u01c2\u00e2\2\u0aac\u0aad\f\3\2\2\u0aad\u0aae\7"+ + "\34\2\2\u0aae\u0ab0\5\16\b\2\u0aaf\u0aa0\3\2\2\2\u0aaf\u0aa3\3\2\2\2\u0aaf"+ + "\u0aa6\3\2\2\2\u0aaf\u0aa9\3\2\2\2\u0aaf\u0aac\3\2\2\2\u0ab0\u0ab3\3\2"+ + "\2\2\u0ab1\u0aaf\3\2\2\2\u0ab1\u0ab2\3\2\2\2\u0ab2\u01c1\3\2\2\2\u0ab3"+ + "\u0ab1\3\2\2\2\u0ab4\u0ab5\b\u00e2\1\2\u0ab5\u0ab6\5\u01c4\u00e3\2\u0ab6"+ + "\u0ac6\3\2\2\2\u0ab7\u0ab8\f\5\2\2\u0ab8\u0ab9\7F\2\2\u0ab9\u0aba\7F\2"+ + "\2\u0aba\u0ac5\5\u01c4\u00e3\2\u0abb\u0abc\f\4\2\2\u0abc\u0abd\7E\2\2"+ + "\u0abd\u0abe\7E\2\2\u0abe\u0ac5\5\u01c4\u00e3\2\u0abf\u0ac0\f\3\2\2\u0ac0"+ + "\u0ac1\7E\2\2\u0ac1\u0ac2\7E\2\2\u0ac2\u0ac3\7E\2\2\u0ac3\u0ac5\5\u01c4"+ + "\u00e3\2\u0ac4\u0ab7\3\2\2\2\u0ac4\u0abb\3\2\2\2\u0ac4\u0abf\3\2\2\2\u0ac5"+ + "\u0ac8\3\2\2\2\u0ac6\u0ac4\3\2\2\2\u0ac6\u0ac7\3\2\2\2\u0ac7\u01c3\3\2"+ + "\2\2\u0ac8\u0ac6\3\2\2\2\u0ac9\u0aca\b\u00e3\1\2\u0aca\u0acb\5\u01c6\u00e4"+ + "\2\u0acb\u0ad4\3\2\2\2\u0acc\u0acd\f\4\2\2\u0acd\u0ace\7S\2\2\u0ace\u0ad3"+ + "\5\u01c6\u00e4\2\u0acf\u0ad0\f\3\2\2\u0ad0\u0ad1\7T\2\2\u0ad1\u0ad3\5"+ + "\u01c6\u00e4\2\u0ad2\u0acc\3\2\2\2\u0ad2\u0acf\3\2\2\2\u0ad3\u0ad6\3\2"+ + "\2\2\u0ad4\u0ad2\3\2\2\2\u0ad4\u0ad5\3\2\2\2\u0ad5\u01c5\3\2\2\2\u0ad6"+ + "\u0ad4\3\2\2\2\u0ad7\u0ad8\b\u00e4\1\2\u0ad8\u0ad9\5\u01c8\u00e5\2\u0ad9"+ + "\u0ae5\3\2\2\2\u0ada\u0adb\f\5\2\2\u0adb\u0adc\7U\2\2\u0adc\u0ae4\5\u01c8"+ + "\u00e5\2\u0add\u0ade\f\4\2\2\u0ade\u0adf\7V\2\2\u0adf\u0ae4\5\u01c8\u00e5"+ + "\2\u0ae0\u0ae1\f\3\2\2\u0ae1\u0ae2\7Z\2\2\u0ae2\u0ae4\5\u01c8\u00e5\2"+ + "\u0ae3\u0ada\3\2\2\2\u0ae3\u0add\3\2\2\2\u0ae3\u0ae0\3\2\2\2\u0ae4\u0ae7"+ + "\3\2\2\2\u0ae5\u0ae3\3\2\2\2\u0ae5\u0ae6\3\2\2\2\u0ae6\u01c7\3\2\2\2\u0ae7"+ + "\u0ae5\3\2\2\2\u0ae8\u0af0\5\u01ca\u00e6\2\u0ae9\u0af0\5\u01cc\u00e7\2"+ + "\u0aea\u0aeb\7S\2\2\u0aeb\u0af0\5\u01c8\u00e5\2\u0aec\u0aed\7T\2\2\u0aed"+ + "\u0af0\5\u01c8\u00e5\2\u0aee\u0af0\5\u01ce\u00e8\2\u0aef\u0ae8\3\2\2\2"+ + "\u0aef\u0ae9\3\2\2\2\u0aef\u0aea\3\2\2\2\u0aef\u0aec\3\2\2\2\u0aef\u0aee"+ + "\3\2\2\2\u0af0\u01c9\3\2\2\2\u0af1\u0af2\7Q\2\2\u0af2\u0af3\5\u01c8\u00e5"+ + "\2\u0af3\u01cb\3\2\2\2\u0af4\u0af5\7R\2\2\u0af5\u0af6\5\u01c8\u00e5\2"+ + "\u0af6\u01cd\3\2\2\2\u0af7\u0afe\5\u01d0\u00e9\2\u0af8\u0af9\7H\2\2\u0af9"+ + "\u0afe\5\u01c8\u00e5\2\u0afa\u0afb\7G\2\2\u0afb\u0afe\5\u01c8\u00e5\2"+ + "\u0afc\u0afe\5\u01da\u00ee\2\u0afd\u0af7\3\2\2\2\u0afd\u0af8\3\2\2\2\u0afd"+ + "\u0afa\3\2\2\2\u0afd\u0afc\3\2\2\2\u0afe\u01cf\3\2\2\2\u0aff\u0b02\5\u0162"+ + "\u00b2\2\u0b00\u0b02\5<\37\2\u0b01\u0aff\3\2\2\2\u0b01\u0b00\3\2\2\2\u0b02"+ + "\u0b07\3\2\2\2\u0b03\u0b06\5\u01d4\u00eb\2\u0b04\u0b06\5\u01d8\u00ed\2"+ + "\u0b05\u0b03\3\2\2\2\u0b05\u0b04\3\2\2\2\u0b06\u0b09\3\2\2\2\u0b07\u0b05"+ + "\3\2\2\2\u0b07\u0b08\3\2\2\2\u0b08\u01d1\3\2\2\2\u0b09\u0b07\3\2\2\2\u0b0a"+ + "\u0b0b\5\u01d0\u00e9\2\u0b0b\u0b0c\7Q\2\2\u0b0c\u01d3\3\2\2\2\u0b0d\u0b0e"+ + "\7Q\2\2\u0b0e\u01d5\3\2\2\2\u0b0f\u0b10\5\u01d0\u00e9\2\u0b10\u0b11\7"+ + "R\2\2\u0b11\u01d7\3\2\2\2\u0b12\u0b13\7R\2\2\u0b13\u01d9\3\2\2\2\u0b14"+ + "\u0b15\7;\2\2\u0b15\u0b16\5\6\4\2\u0b16\u0b17\7<\2\2\u0b17\u0b18\5\u01c8"+ + "\u00e5\2\u0b18\u0b30\3\2\2\2\u0b19\u0b1a\7;\2\2\u0b1a\u0b1e\5\16\b\2\u0b1b"+ + "\u0b1d\5*\26\2\u0b1c\u0b1b\3\2\2\2\u0b1d\u0b20\3\2\2\2\u0b1e\u0b1c\3\2"+ + "\2\2\u0b1e\u0b1f\3\2\2\2\u0b1f\u0b21\3\2\2\2\u0b20\u0b1e\3\2\2\2\u0b21"+ + "\u0b22\7<\2\2\u0b22\u0b23\5\u01ce\u00e8\2\u0b23\u0b30\3\2\2\2\u0b24\u0b25"+ + "\7;\2\2\u0b25\u0b29\5\16\b\2\u0b26\u0b28\5*\26\2\u0b27\u0b26\3\2\2\2\u0b28"+ + "\u0b2b\3\2\2\2\u0b29\u0b27\3\2\2\2\u0b29\u0b2a\3\2\2\2\u0b2a\u0b2c\3\2"+ + "\2\2\u0b2b\u0b29\3\2\2\2\u0b2c\u0b2d\7<\2\2\u0b2d\u0b2e\5\u01a2\u00d2"+ + "\2\u0b2e\u0b30\3\2\2\2\u0b2f\u0b14\3\2\2\2\u0b2f\u0b19\3\2\2\2\u0b2f\u0b24"+ + "\3\2\2\2\u0b30\u01db\3\2\2\2\u0149\u01e0\u01e5\u01ec\u01f0\u01f4\u01fd"+ "\u0201\u0205\u0207\u020d\u0212\u0219\u021e\u0220\u0226\u022b\u0230\u0235"+ "\u0240\u024e\u0253\u025b\u0262\u0268\u026d\u0278\u027b\u0289\u028e\u0293"+ "\u0298\u029e\u02a8\u02b0\u02ba\u02c2\u02ce\u02d2\u02d7\u02dd\u02e5\u02ee"+ "\u02f9\u0316\u031a\u031f\u0325\u0328\u032b\u0337\u0342\u0350\u0357\u0360"+ "\u0367\u036c\u0370\u037d\u0384\u038a\u038e\u0392\u0396\u039a\u039f\u03a3"+ "\u03a7\u03a9\u03ae\u03b5\u03ba\u03bc\u03c2\u03c7\u03cb\u03de\u03e3\u03f3"+ - "\u03f8\u03fe\u0404\u0406\u040a\u040f\u0413\u041a\u0421\u0429\u042c\u0431"+ - "\u0435\u043b\u0440\u0447\u044e\u0453\u0459\u0465\u046a\u046e\u0478\u047d"+ - "\u0485\u0488\u048d\u0495\u0498\u049d\u04a2\u04a7\u04ac\u04b3\u04b8\u04c0"+ - "\u04c5\u04ca\u04cf\u04d5\u04db\u04de\u04e1\u04ea\u04f0\u04f6\u04f9\u04fc"+ - "\u0504\u0509\u050e\u0514\u0517\u0522\u052b\u0535\u053a\u0545\u054a\u0556"+ - "\u055b\u0567\u0571\u0576\u057e\u0581\u0588\u0590\u0596\u059f\u05a9\u05ad"+ - "\u05b0\u05b9\u05c7\u05ca\u05d3\u05d8\u05e0\u05e6\u05ee\u05fa\u0601\u060f"+ - "\u0625\u0647\u0653\u0659\u0665\u0672\u068c\u0690\u0695\u0699\u069d\u06a5"+ - "\u06a9\u06ad\u06b4\u06bd\u06c5\u06d4\u06e0\u06e6\u06ec\u0701\u0706\u070c"+ - "\u0718\u0723\u072d\u0730\u0735\u073e\u0744\u074e\u0753\u075c\u0773\u077d"+ - "\u0793\u079a\u07a2\u07aa\u07b5\u07cc\u07d6\u07e1\u07f7\u07fb\u0800\u0808"+ - "\u080e\u0812\u0816\u081a\u0820\u0825\u082a\u082e\u0832\u0838\u083d\u0842"+ - "\u0846\u084a\u084c\u0851\u0856\u085b\u085f\u0863\u0867\u086c\u0874\u087a"+ - "\u087e\u0882\u0886\u088c\u0891\u0896\u089a\u089e\u08a0\u08a5\u08b4\u08c2"+ - "\u08ce\u08d7\u08e6\u08f3\u08fc\u0902\u0909\u090e\u0915\u091a\u0921\u0926"+ - "\u092d\u0932\u093a\u093f\u0943\u0947\u094c\u0953\u095a\u095f\u0966\u096b"+ - "\u0972\u0977\u097f\u0984\u0988\u098f\u0995\u099c\u09a3\u09aa\u09b2\u09b9"+ - "\u09c1\u09c5\u09cc\u09d3\u09da\u09e2\u09e9\u09f1\u09f7\u09fd\u0a09\u0a0f"+ - "\u0a15\u0a20\u0a29\u0a30\u0a37\u0a3c\u0a40\u0a49\u0a54\u0a5e\u0a69\u0a74"+ - "\u0a7f\u0a8a\u0a96\u0a98\u0aad\u0aaf\u0ac2\u0ac4\u0ad0\u0ad2\u0ae1\u0ae3"+ - "\u0aed\u0afb\u0aff\u0b03\u0b05\u0b1c\u0b27\u0b2d"; + "\u03f6\u03fa\u0400\u0406\u0408\u040c\u0411\u0415\u041c\u0423\u042b\u042e"+ + "\u0433\u0437\u043d\u0442\u0449\u0450\u0455\u045b\u0467\u046c\u0470\u047a"+ + "\u047f\u0487\u048a\u048f\u0497\u049a\u049f\u04a4\u04a9\u04ae\u04b5\u04ba"+ + "\u04c2\u04c7\u04cc\u04d1\u04d7\u04dd\u04e0\u04e3\u04ec\u04f2\u04f8\u04fb"+ + "\u04fe\u0506\u050b\u0510\u0516\u0519\u0524\u052d\u0537\u053c\u0547\u054c"+ + "\u0558\u055d\u0569\u0573\u0578\u0580\u0583\u058a\u0592\u0598\u05a1\u05ab"+ + "\u05af\u05b2\u05bb\u05c9\u05cc\u05d5\u05da\u05e2\u05e8\u05f0\u05fc\u0603"+ + "\u0611\u0627\u0649\u0655\u065b\u0667\u0674\u068e\u0692\u0697\u069b\u069f"+ + "\u06a7\u06ab\u06af\u06b6\u06bf\u06c7\u06d6\u06e2\u06e8\u06ee\u0703\u0708"+ + "\u070e\u071a\u0725\u072f\u0732\u0737\u0740\u0746\u0750\u0755\u075e\u0775"+ + "\u077f\u0795\u079c\u07a4\u07ac\u07b7\u07ce\u07d8\u07e3\u07f9\u07fd\u0802"+ + "\u080a\u0810\u0814\u0818\u081c\u0822\u0827\u082c\u0830\u0834\u083a\u083f"+ + "\u0844\u0848\u084c\u084e\u0853\u0858\u085d\u0861\u0865\u0869\u086e\u0876"+ + "\u087c\u0880\u0884\u0888\u088e\u0893\u0898\u089c\u08a0\u08a2\u08a7\u08b6"+ + "\u08c4\u08d0\u08d9\u08e8\u08f5\u08fe\u0904\u090b\u0910\u0917\u091c\u0923"+ + "\u0928\u092f\u0934\u093c\u0941\u0945\u0949\u094e\u0955\u095c\u0961\u0968"+ + "\u096d\u0974\u0979\u0981\u0986\u098a\u0991\u0997\u099e\u09a5\u09ac\u09b4"+ + "\u09bb\u09c3\u09c7\u09ce\u09d5\u09dc\u09e4\u09eb\u09f3\u09f9\u09ff\u0a0b"+ + "\u0a11\u0a17\u0a22\u0a2b\u0a32\u0a39\u0a3e\u0a42\u0a4b\u0a56\u0a60\u0a6b"+ + "\u0a76\u0a81\u0a8c\u0a98\u0a9a\u0aaf\u0ab1\u0ac4\u0ac6\u0ad2\u0ad4\u0ae3"+ + "\u0ae5\u0aef\u0afd\u0b01\u0b05\u0b07\u0b1e\u0b29\u0b2f"; public static final String _serializedATN = Utils.join( new String[] { _serializedATNSegment0,