getParaMenge()
- // ino.end
- // ino.method.getParaMenge.24368.body
- {
- if (plist == null) return null;
-
- return plist.get_ParaList();
- }
- // ino.end
-
- // ino.method.getName.24371.definition
- public String getName()
- // ino.end
- // ino.method.getName.24371.body
- {
- return name;
- }
- // ino.end
- // ino.method.setName.24374.definition
- public void setName(String name)
- // ino.end
- // ino.method.setName.24374.body
- {
- this.name = name;
- }
- // ino.end
- // ino.method.getParalist.24377.definition
- public ParaList getParalist()
- // ino.end
- // ino.method.getParalist.24377.body
- {
- return plist;
- }
- // ino.end
- // ino.method.setParalist.24380.definition
- public void setParalist(ParaList plist)
- // ino.end
- // ino.method.setParalist.24380.body
- {
- this.plist = plist;
- }
- // ino.end
-
-}
-// ino.end
diff --git a/src/de/dhbwstuttgart/parser/Java8.g4 b/src/de/dhbwstuttgart/parser/Java8.g4
new file mode 100644
index 00000000..f63f01a5
--- /dev/null
+++ b/src/de/dhbwstuttgart/parser/Java8.g4
@@ -0,0 +1,1779 @@
+/*
+ * [The "BSD license"]
+ * Copyright (c) 2014 Terence Parr
+ * Copyright (c) 2014 Sam Harwell
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * A Java 8 grammar for ANTLR 4 derived from the Java Language Specification
+ * chapter 19.
+ *
+ * NOTE: This grammar results in a generated parser that is much slower
+ * than the Java 7 grammar in the grammars-v4/java directory. This
+ * one is, however, extremely close to the spec.
+ *
+ * You can test with
+ *
+ * $ antlr4 Java8.g4
+ * $ javac *.java
+ * $ grun Java8 compilationUnit *.java
+ *
+ * Or,
+~/antlr/code/grammars-v4/java8 $ java Test .
+/Users/parrt/antlr/code/grammars-v4/java8/./Java8BaseListener.java
+/Users/parrt/antlr/code/grammars-v4/java8/./Java8Lexer.java
+/Users/parrt/antlr/code/grammars-v4/java8/./Java8Listener.java
+/Users/parrt/antlr/code/grammars-v4/java8/./Java8Parser.java
+/Users/parrt/antlr/code/grammars-v4/java8/./Test.java
+Total lexer+parser time 30844ms.
+ */
+grammar Java8;
+
+/*
+ * Productions from §3 (Lexical Structure)
+ */
+
+literal
+ : IntegerLiteral
+ | FloatingPointLiteral
+ | BooleanLiteral
+ | CharacterLiteral
+ | StringLiteral
+ | NullLiteral
+ ;
+
+/*
+ * Productions from §4 (Types, Values, and Variables)
+ */
+
+type
+ : primitiveType
+ | referenceType
+ ;
+
+primitiveType
+ : annotation* numericType
+ | annotation* 'boolean'
+ ;
+
+numericType
+ : integralType
+ | floatingPointType
+ ;
+
+integralType
+ : 'byte'
+ | 'short'
+ | 'int'
+ | 'long'
+ | 'char'
+ ;
+
+floatingPointType
+ : 'float'
+ | 'double'
+ ;
+
+referenceType
+ : classOrInterfaceType
+ | typeVariable
+ | arrayType
+ ;
+
+classOrInterfaceType
+ : ( classType_lfno_classOrInterfaceType
+ | interfaceType_lfno_classOrInterfaceType
+ )
+ ( classType_lf_classOrInterfaceType
+ | interfaceType_lf_classOrInterfaceType
+ )*
+ ;
+
+classType
+ : annotation* Identifier typeArguments?
+ | classOrInterfaceType '.' annotation* Identifier typeArguments?
+ ;
+
+classType_lf_classOrInterfaceType
+ : '.' annotation* Identifier typeArguments?
+ ;
+
+classType_lfno_classOrInterfaceType
+ : annotation* Identifier typeArguments?
+ ;
+
+interfaceType
+ : classType
+ ;
+
+interfaceType_lf_classOrInterfaceType
+ : classType_lf_classOrInterfaceType
+ ;
+
+interfaceType_lfno_classOrInterfaceType
+ : classType_lfno_classOrInterfaceType
+ ;
+
+typeVariable
+ : annotation* Identifier
+ ;
+
+arrayType
+ : primitiveType dims
+ | classOrInterfaceType dims
+ | typeVariable dims
+ ;
+
+dims
+ : annotation* '[' ']' (annotation* '[' ']')*
+ ;
+
+typeParameter
+ : typeParameterModifier* Identifier typeBound?
+ ;
+
+typeParameterModifier
+ : annotation
+ ;
+
+typeBound
+ : 'extends' typeVariable
+ | 'extends' classOrInterfaceType additionalBound*
+ ;
+
+additionalBound
+ : '&' interfaceType
+ ;
+
+typeArguments
+ : '<' typeArgumentList '>'
+ ;
+
+typeArgumentList
+ : typeArgument (',' typeArgument)*
+ ;
+
+typeArgument
+ : referenceType
+ | wildcard
+ ;
+
+wildcard
+ : annotation* '?' wildcardBounds?
+ ;
+
+wildcardBounds
+ : 'extends' referenceType
+ | 'super' referenceType
+ ;
+
+/*
+ * Productions from §6 (Names)
+ */
+
+packageName
+ : Identifier
+ | packageName '.' Identifier
+ ;
+
+typeName
+ : Identifier
+ | packageOrTypeName '.' Identifier
+ ;
+
+packageOrTypeName
+ : Identifier
+ | packageOrTypeName '.' Identifier
+ ;
+
+expressionName
+ : Identifier
+ | ambiguousName '.' Identifier
+ ;
+
+methodName
+ : Identifier
+ ;
+
+ambiguousName
+ : Identifier
+ | ambiguousName '.' Identifier
+ ;
+
+/*
+ * Productions from §7 (Packages)
+ */
+
+compilationUnit
+ : packageDeclaration? importDeclaration* typeDeclaration* EOF
+ ;
+
+packageDeclaration
+ : packageModifier* 'package' Identifier ('.' Identifier)* ';'
+ ;
+
+packageModifier
+ : annotation
+ ;
+
+importDeclaration
+ : singleTypeImportDeclaration
+ | typeImportOnDemandDeclaration
+ | singleStaticImportDeclaration
+ | staticImportOnDemandDeclaration
+ ;
+
+singleTypeImportDeclaration
+ : 'import' typeName ';'
+ ;
+
+typeImportOnDemandDeclaration
+ : 'import' packageOrTypeName '.' '*' ';'
+ ;
+
+singleStaticImportDeclaration
+ : 'import' 'static' typeName '.' Identifier ';'
+ ;
+
+staticImportOnDemandDeclaration
+ : 'import' 'static' typeName '.' '*' ';'
+ ;
+
+typeDeclaration
+ : classDeclaration
+ | interfaceDeclaration
+ | ';'
+ ;
+
+/*
+ * Productions from §8 (Classes)
+ */
+
+classDeclaration
+ : normalClassDeclaration
+ | enumDeclaration
+ ;
+
+normalClassDeclaration
+ : classModifier* 'class' Identifier typeParameters? superclass? superinterfaces? classBody
+ ;
+
+classModifier
+ : annotation
+ | 'public'
+ | 'protected'
+ | 'private'
+ | 'abstract'
+ | 'static'
+ | 'final'
+ | 'strictfp'
+ ;
+
+typeParameters
+ : '<' typeParameterList '>'
+ ;
+
+typeParameterList
+ : typeParameter (',' typeParameter)*
+ ;
+
+superclass
+ : 'extends' classType
+ ;
+
+superinterfaces
+ : 'implements' interfaceTypeList
+ ;
+
+interfaceTypeList
+ : interfaceType (',' interfaceType)*
+ ;
+
+classBody
+ : '{' classBodyDeclaration* '}'
+ ;
+
+classBodyDeclaration
+ : classMemberDeclaration
+ | instanceInitializer
+ | staticInitializer
+ | constructorDeclaration
+ ;
+
+classMemberDeclaration
+ : fieldDeclaration
+ | methodDeclaration
+ | classDeclaration
+ | interfaceDeclaration
+ | ';'
+ ;
+
+fieldDeclaration
+ : fieldModifier* unannType variableDeclaratorList ';'
+ ;
+
+fieldModifier
+ : annotation
+ | 'public'
+ | 'protected'
+ | 'private'
+ | 'static'
+ | 'final'
+ | 'transient'
+ | 'volatile'
+ ;
+
+variableDeclaratorList
+ : variableDeclarator (',' variableDeclarator)*
+ ;
+
+variableDeclarator
+ : variableDeclaratorId ('=' variableInitializer)?
+ ;
+
+variableDeclaratorId
+ : Identifier dims?
+ ;
+
+variableInitializer
+ : expression
+ | arrayInitializer
+ ;
+
+unannType
+ : unannPrimitiveType
+ | unannReferenceType
+ ;
+
+unannPrimitiveType
+ : numericType
+ | 'boolean'
+ ;
+
+unannReferenceType
+ : unannClassOrInterfaceType
+ | unannTypeVariable
+ | unannArrayType
+ ;
+
+unannClassOrInterfaceType
+ : ( unannClassType_lfno_unannClassOrInterfaceType
+ | unannInterfaceType_lfno_unannClassOrInterfaceType
+ )
+ ( unannClassType_lf_unannClassOrInterfaceType
+ | unannInterfaceType_lf_unannClassOrInterfaceType
+ )*
+ ;
+
+unannClassType
+ : Identifier typeArguments?
+ | unannClassOrInterfaceType '.' annotation* Identifier typeArguments?
+ ;
+
+unannClassType_lf_unannClassOrInterfaceType
+ : '.' annotation* Identifier typeArguments?
+ ;
+
+unannClassType_lfno_unannClassOrInterfaceType
+ : Identifier typeArguments?
+ ;
+
+unannInterfaceType
+ : unannClassType
+ ;
+
+unannInterfaceType_lf_unannClassOrInterfaceType
+ : unannClassType_lf_unannClassOrInterfaceType
+ ;
+
+unannInterfaceType_lfno_unannClassOrInterfaceType
+ : unannClassType_lfno_unannClassOrInterfaceType
+ ;
+
+unannTypeVariable
+ : Identifier
+ ;
+
+unannArrayType
+ : unannPrimitiveType dims
+ | unannClassOrInterfaceType dims
+ | unannTypeVariable dims
+ ;
+
+methodDeclaration
+ : methodModifier* methodHeader methodBody
+ ;
+
+methodModifier
+ : annotation
+ | 'public'
+ | 'protected'
+ | 'private'
+ | 'abstract'
+ | 'static'
+ | 'final'
+ | 'synchronized'
+ | 'native'
+ | 'strictfp'
+ ;
+
+methodHeader
+ : result methodDeclarator throws_?
+ | typeParameters annotation* result methodDeclarator throws_?
+ ;
+
+result
+ : unannType
+ | 'void'
+ ;
+
+methodDeclarator
+ : Identifier '(' formalParameterList? ')' dims?
+ ;
+
+formalParameterList
+ : formalParameters ',' lastFormalParameter
+ | lastFormalParameter
+ ;
+
+formalParameters
+ : formalParameter (',' formalParameter)*
+ | receiverParameter (',' formalParameter)*
+ ;
+
+formalParameter
+ : variableModifier* unannType variableDeclaratorId
+ ;
+
+variableModifier
+ : annotation
+ | 'final'
+ ;
+
+lastFormalParameter
+ : variableModifier* unannType annotation* '...' variableDeclaratorId
+ | formalParameter
+ ;
+
+receiverParameter
+ : annotation* unannType (Identifier '.')? 'this'
+ ;
+
+throws_
+ : 'throws' exceptionTypeList
+ ;
+
+exceptionTypeList
+ : exceptionType (',' exceptionType)*
+ ;
+
+exceptionType
+ : classType
+ | typeVariable
+ ;
+
+methodBody
+ : block
+ | ';'
+ ;
+
+instanceInitializer
+ : block
+ ;
+
+staticInitializer
+ : 'static' block
+ ;
+
+constructorDeclaration
+ : constructorModifier* constructorDeclarator throws_? constructorBody
+ ;
+
+constructorModifier
+ : annotation
+ | 'public'
+ | 'protected'
+ | 'private'
+ ;
+
+constructorDeclarator
+ : typeParameters? simpleTypeName '(' formalParameterList? ')'
+ ;
+
+simpleTypeName
+ : Identifier
+ ;
+
+constructorBody
+ : '{' explicitConstructorInvocation? blockStatements? '}'
+ ;
+
+explicitConstructorInvocation
+ : typeArguments? 'this' '(' argumentList? ')' ';'
+ | typeArguments? 'super' '(' argumentList? ')' ';'
+ | expressionName '.' typeArguments? 'super' '(' argumentList? ')' ';'
+ | primary '.' typeArguments? 'super' '(' argumentList? ')' ';'
+ ;
+
+enumDeclaration
+ : classModifier* 'enum' Identifier superinterfaces? enumBody
+ ;
+
+enumBody
+ : '{' enumConstantList? ','? enumBodyDeclarations? '}'
+ ;
+
+enumConstantList
+ : enumConstant (',' enumConstant)*
+ ;
+
+enumConstant
+ : enumConstantModifier* Identifier ('(' argumentList? ')')? classBody?
+ ;
+
+enumConstantModifier
+ : annotation
+ ;
+
+enumBodyDeclarations
+ : ';' classBodyDeclaration*
+ ;
+
+/*
+ * Productions from §9 (Interfaces)
+ */
+
+interfaceDeclaration
+ : normalInterfaceDeclaration
+ | annotationTypeDeclaration
+ ;
+
+normalInterfaceDeclaration
+ : interfaceModifier* 'interface' Identifier typeParameters? extendsInterfaces? interfaceBody
+ ;
+
+interfaceModifier
+ : annotation
+ | 'public'
+ | 'protected'
+ | 'private'
+ | 'abstract'
+ | 'static'
+ | 'strictfp'
+ ;
+
+extendsInterfaces
+ : 'extends' interfaceTypeList
+ ;
+
+interfaceBody
+ : '{' interfaceMemberDeclaration* '}'
+ ;
+
+interfaceMemberDeclaration
+ : constantDeclaration
+ | interfaceMethodDeclaration
+ | classDeclaration
+ | interfaceDeclaration
+ | ';'
+ ;
+
+constantDeclaration
+ : constantModifier* unannType variableDeclaratorList ';'
+ ;
+
+constantModifier
+ : annotation
+ | 'public'
+ | 'static'
+ | 'final'
+ ;
+
+interfaceMethodDeclaration
+ : interfaceMethodModifier* methodHeader methodBody
+ ;
+
+interfaceMethodModifier
+ : annotation
+ | 'public'
+ | 'abstract'
+ | 'default'
+ | 'static'
+ | 'strictfp'
+ ;
+
+annotationTypeDeclaration
+ : interfaceModifier* '@' 'interface' Identifier annotationTypeBody
+ ;
+
+annotationTypeBody
+ : '{' annotationTypeMemberDeclaration* '}'
+ ;
+
+annotationTypeMemberDeclaration
+ : annotationTypeElementDeclaration
+ | constantDeclaration
+ | classDeclaration
+ | interfaceDeclaration
+ | ';'
+ ;
+
+annotationTypeElementDeclaration
+ : annotationTypeElementModifier* unannType Identifier '(' ')' dims? defaultValue? ';'
+ ;
+
+annotationTypeElementModifier
+ : annotation
+ | 'public'
+ | 'abstract'
+ ;
+
+defaultValue
+ : 'default' elementValue
+ ;
+
+annotation
+ : normalAnnotation
+ | markerAnnotation
+ | singleElementAnnotation
+ ;
+
+normalAnnotation
+ : '@' typeName '(' elementValuePairList? ')'
+ ;
+
+elementValuePairList
+ : elementValuePair (',' elementValuePair)*
+ ;
+
+elementValuePair
+ : Identifier '=' elementValue
+ ;
+
+elementValue
+ : conditionalExpression
+ | elementValueArrayInitializer
+ | annotation
+ ;
+
+elementValueArrayInitializer
+ : '{' elementValueList? ','? '}'
+ ;
+
+elementValueList
+ : elementValue (',' elementValue)*
+ ;
+
+markerAnnotation
+ : '@' typeName
+ ;
+
+singleElementAnnotation
+ : '@' typeName '(' elementValue ')'
+ ;
+
+/*
+ * Productions from §10 (Arrays)
+ */
+
+arrayInitializer
+ : '{' variableInitializerList? ','? '}'
+ ;
+
+variableInitializerList
+ : variableInitializer (',' variableInitializer)*
+ ;
+
+/*
+ * Productions from §14 (Blocks and Statements)
+ */
+
+block
+ : '{' blockStatements? '}'
+ ;
+
+blockStatements
+ : blockStatement blockStatement*
+ ;
+
+blockStatement
+ : localVariableDeclarationStatement
+ | classDeclaration
+ | statement
+ ;
+
+localVariableDeclarationStatement
+ : localVariableDeclaration ';'
+ ;
+
+localVariableDeclaration
+ : variableModifier* unannType variableDeclaratorList
+ ;
+
+statement
+ : statementWithoutTrailingSubstatement
+ | labeledStatement
+ | ifThenStatement
+ | ifThenElseStatement
+ | whileStatement
+ | forStatement
+ ;
+
+statementNoShortIf
+ : statementWithoutTrailingSubstatement
+ | labeledStatementNoShortIf
+ | ifThenElseStatementNoShortIf
+ | whileStatementNoShortIf
+ | forStatementNoShortIf
+ ;
+
+statementWithoutTrailingSubstatement
+ : block
+ | emptyStatement
+ | expressionStatement
+ | assertStatement
+ | switchStatement
+ | doStatement
+ | breakStatement
+ | continueStatement
+ | returnStatement
+ | synchronizedStatement
+ | throwStatement
+ | tryStatement
+ ;
+
+emptyStatement
+ : ';'
+ ;
+
+labeledStatement
+ : Identifier ':' statement
+ ;
+
+labeledStatementNoShortIf
+ : Identifier ':' statementNoShortIf
+ ;
+
+expressionStatement
+ : statementExpression ';'
+ ;
+
+statementExpression
+ : assignment
+ | preIncrementExpression
+ | preDecrementExpression
+ | postIncrementExpression
+ | postDecrementExpression
+ | methodInvocation
+ | classInstanceCreationExpression
+ ;
+
+ifThenStatement
+ : 'if' '(' expression ')' statement
+ ;
+
+ifThenElseStatement
+ : 'if' '(' expression ')' statementNoShortIf 'else' statement
+ ;
+
+ifThenElseStatementNoShortIf
+ : 'if' '(' expression ')' statementNoShortIf 'else' statementNoShortIf
+ ;
+
+assertStatement
+ : 'assert' expression ';'
+ | 'assert' expression ':' expression ';'
+ ;
+
+switchStatement
+ : 'switch' '(' expression ')' switchBlock
+ ;
+
+switchBlock
+ : '{' switchBlockStatementGroup* switchLabel* '}'
+ ;
+
+switchBlockStatementGroup
+ : switchLabels blockStatements
+ ;
+
+switchLabels
+ : switchLabel switchLabel*
+ ;
+
+switchLabel
+ : 'case' constantExpression ':'
+ | 'case' enumConstantName ':'
+ | 'default' ':'
+ ;
+
+enumConstantName
+ : Identifier
+ ;
+
+whileStatement
+ : 'while' '(' expression ')' statement
+ ;
+
+whileStatementNoShortIf
+ : 'while' '(' expression ')' statementNoShortIf
+ ;
+
+doStatement
+ : 'do' statement 'while' '(' expression ')' ';'
+ ;
+
+forStatement
+ : basicForStatement
+ | enhancedForStatement
+ ;
+
+forStatementNoShortIf
+ : basicForStatementNoShortIf
+ | enhancedForStatementNoShortIf
+ ;
+
+basicForStatement
+ : 'for' '(' forInit? ';' expression? ';' forUpdate? ')' statement
+ ;
+
+basicForStatementNoShortIf
+ : 'for' '(' forInit? ';' expression? ';' forUpdate? ')' statementNoShortIf
+ ;
+
+forInit
+ : statementExpressionList
+ | localVariableDeclaration
+ ;
+
+forUpdate
+ : statementExpressionList
+ ;
+
+statementExpressionList
+ : statementExpression (',' statementExpression)*
+ ;
+
+enhancedForStatement
+ : 'for' '(' variableModifier* unannType variableDeclaratorId ':' expression ')' statement
+ ;
+
+enhancedForStatementNoShortIf
+ : 'for' '(' variableModifier* unannType variableDeclaratorId ':' expression ')' statementNoShortIf
+ ;
+
+breakStatement
+ : 'break' Identifier? ';'
+ ;
+
+continueStatement
+ : 'continue' Identifier? ';'
+ ;
+
+returnStatement
+ : 'return' expression? ';'
+ ;
+
+throwStatement
+ : 'throw' expression ';'
+ ;
+
+synchronizedStatement
+ : 'synchronized' '(' expression ')' block
+ ;
+
+tryStatement
+ : 'try' block catches
+ | 'try' block catches? finally_
+ | tryWithResourcesStatement
+ ;
+
+catches
+ : catchClause catchClause*
+ ;
+
+catchClause
+ : 'catch' '(' catchFormalParameter ')' block
+ ;
+
+catchFormalParameter
+ : variableModifier* catchType variableDeclaratorId
+ ;
+
+catchType
+ : unannClassType ('|' classType)*
+ ;
+
+finally_
+ : 'finally' block
+ ;
+
+tryWithResourcesStatement
+ : 'try' resourceSpecification block catches? finally_?
+ ;
+
+resourceSpecification
+ : '(' resourceList ';'? ')'
+ ;
+
+resourceList
+ : resource (';' resource)*
+ ;
+
+resource
+ : variableModifier* unannType variableDeclaratorId '=' expression
+ ;
+
+/*
+ * Productions from §15 (Expressions)
+ */
+
+primary
+ : ( primaryNoNewArray_lfno_primary
+ | arrayCreationExpression
+ )
+ ( primaryNoNewArray_lf_primary
+ )*
+ ;
+
+primaryNoNewArray
+ : literal
+ | typeName ('[' ']')* '.' 'class'
+ | 'void' '.' 'class'
+ | 'this'
+ | typeName '.' 'this'
+ | '(' expression ')'
+ | classInstanceCreationExpression
+ | fieldAccess
+ | arrayAccess
+ | methodInvocation
+ | methodReference
+ ;
+
+primaryNoNewArray_lf_arrayAccess
+ :
+ ;
+
+primaryNoNewArray_lfno_arrayAccess
+ : literal
+ | typeName ('[' ']')* '.' 'class'
+ | 'void' '.' 'class'
+ | 'this'
+ | typeName '.' 'this'
+ | '(' expression ')'
+ | classInstanceCreationExpression
+ | fieldAccess
+ | methodInvocation
+ | methodReference
+ ;
+
+primaryNoNewArray_lf_primary
+ : classInstanceCreationExpression_lf_primary
+ | fieldAccess_lf_primary
+ | arrayAccess_lf_primary
+ | methodInvocation_lf_primary
+ | methodReference_lf_primary
+ ;
+
+primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary
+ :
+ ;
+
+primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary
+ : classInstanceCreationExpression_lf_primary
+ | fieldAccess_lf_primary
+ | methodInvocation_lf_primary
+ | methodReference_lf_primary
+ ;
+
+primaryNoNewArray_lfno_primary
+ : literal
+ | typeName ('[' ']')* '.' 'class'
+ | unannPrimitiveType ('[' ']')* '.' 'class'
+ | 'void' '.' 'class'
+ | 'this'
+ | typeName '.' 'this'
+ | '(' expression ')'
+ | classInstanceCreationExpression_lfno_primary
+ | fieldAccess_lfno_primary
+ | arrayAccess_lfno_primary
+ | methodInvocation_lfno_primary
+ | methodReference_lfno_primary
+ ;
+
+primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary
+ :
+ ;
+
+primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary
+ : literal
+ | typeName ('[' ']')* '.' 'class'
+ | unannPrimitiveType ('[' ']')* '.' 'class'
+ | 'void' '.' 'class'
+ | 'this'
+ | typeName '.' 'this'
+ | '(' expression ')'
+ | classInstanceCreationExpression_lfno_primary
+ | fieldAccess_lfno_primary
+ | methodInvocation_lfno_primary
+ | methodReference_lfno_primary
+ ;
+
+classInstanceCreationExpression
+ : 'new' typeArguments? annotation* Identifier ('.' annotation* Identifier)* typeArgumentsOrDiamond? '(' argumentList? ')' classBody?
+ | expressionName '.' 'new' typeArguments? annotation* Identifier typeArgumentsOrDiamond? '(' argumentList? ')' classBody?
+ | primary '.' 'new' typeArguments? annotation* Identifier typeArgumentsOrDiamond? '(' argumentList? ')' classBody?
+ ;
+
+classInstanceCreationExpression_lf_primary
+ : '.' 'new' typeArguments? annotation* Identifier typeArgumentsOrDiamond? '(' argumentList? ')' classBody?
+ ;
+
+classInstanceCreationExpression_lfno_primary
+ : 'new' typeArguments? annotation* Identifier ('.' annotation* Identifier)* typeArgumentsOrDiamond? '(' argumentList? ')' classBody?
+ | expressionName '.' 'new' typeArguments? annotation* Identifier typeArgumentsOrDiamond? '(' argumentList? ')' classBody?
+ ;
+
+typeArgumentsOrDiamond
+ : typeArguments
+ | '<' '>'
+ ;
+
+fieldAccess
+ : primary '.' Identifier
+ | 'super' '.' Identifier
+ | typeName '.' 'super' '.' Identifier
+ ;
+
+fieldAccess_lf_primary
+ : '.' Identifier
+ ;
+
+fieldAccess_lfno_primary
+ : 'super' '.' Identifier
+ | typeName '.' 'super' '.' Identifier
+ ;
+
+arrayAccess
+ : ( expressionName '[' expression ']'
+ | primaryNoNewArray_lfno_arrayAccess '[' expression ']'
+ )
+ ( primaryNoNewArray_lf_arrayAccess '[' expression ']'
+ )*
+ ;
+
+arrayAccess_lf_primary
+ : ( primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary '[' expression ']'
+ )
+ ( primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary '[' expression ']'
+ )*
+ ;
+
+arrayAccess_lfno_primary
+ : ( expressionName '[' expression ']'
+ | primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary '[' expression ']'
+ )
+ ( primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary '[' expression ']'
+ )*
+ ;
+
+methodInvocation
+ : methodName '(' argumentList? ')'
+ | typeName '.' typeArguments? Identifier '(' argumentList? ')'
+ | expressionName '.' typeArguments? Identifier '(' argumentList? ')'
+ | primary '.' typeArguments? Identifier '(' argumentList? ')'
+ | 'super' '.' typeArguments? Identifier '(' argumentList? ')'
+ | typeName '.' 'super' '.' typeArguments? Identifier '(' argumentList? ')'
+ ;
+
+methodInvocation_lf_primary
+ : '.' typeArguments? Identifier '(' argumentList? ')'
+ ;
+
+methodInvocation_lfno_primary
+ : methodName '(' argumentList? ')'
+ | typeName '.' typeArguments? Identifier '(' argumentList? ')'
+ | expressionName '.' typeArguments? Identifier '(' argumentList? ')'
+ | 'super' '.' typeArguments? Identifier '(' argumentList? ')'
+ | typeName '.' 'super' '.' typeArguments? Identifier '(' argumentList? ')'
+ ;
+
+argumentList
+ : expression (',' expression)*
+ ;
+
+methodReference
+ : expressionName '::' typeArguments? Identifier
+ | referenceType '::' typeArguments? Identifier
+ | primary '::' typeArguments? Identifier
+ | 'super' '::' typeArguments? Identifier
+ | typeName '.' 'super' '::' typeArguments? Identifier
+ | classType '::' typeArguments? 'new'
+ | arrayType '::' 'new'
+ ;
+
+methodReference_lf_primary
+ : '::' typeArguments? Identifier
+ ;
+
+methodReference_lfno_primary
+ : expressionName '::' typeArguments? Identifier
+ | referenceType '::' typeArguments? Identifier
+ | 'super' '::' typeArguments? Identifier
+ | typeName '.' 'super' '::' typeArguments? Identifier
+ | classType '::' typeArguments? 'new'
+ | arrayType '::' 'new'
+ ;
+
+arrayCreationExpression
+ : 'new' primitiveType dimExprs dims?
+ | 'new' classOrInterfaceType dimExprs dims?
+ | 'new' primitiveType dims arrayInitializer
+ | 'new' classOrInterfaceType dims arrayInitializer
+ ;
+
+dimExprs
+ : dimExpr dimExpr*
+ ;
+
+dimExpr
+ : annotation* '[' expression ']'
+ ;
+
+constantExpression
+ : expression
+ ;
+
+expression
+ : lambdaExpression
+ | assignmentExpression
+ ;
+
+lambdaExpression
+ : lambdaParameters '->' lambdaBody
+ ;
+
+lambdaParameters
+ : Identifier
+ | '(' formalParameterList? ')'
+ | '(' inferredFormalParameterList ')'
+ ;
+
+inferredFormalParameterList
+ : Identifier (',' Identifier)*
+ ;
+
+lambdaBody
+ : expression
+ | block
+ ;
+
+assignmentExpression
+ : conditionalExpression
+ | assignment
+ ;
+
+assignment
+ : leftHandSide assignmentOperator expression
+ ;
+
+leftHandSide
+ : expressionName
+ | fieldAccess
+ | arrayAccess
+ ;
+
+assignmentOperator
+ : '='
+ | '*='
+ | '/='
+ | '%='
+ | '+='
+ | '-='
+ | '<<='
+ | '>>='
+ | '>>>='
+ | '&='
+ | '^='
+ | '|='
+ ;
+
+conditionalExpression
+ : conditionalOrExpression
+ | conditionalOrExpression '?' expression ':' conditionalExpression
+ ;
+
+conditionalOrExpression
+ : conditionalAndExpression
+ | conditionalOrExpression '||' conditionalAndExpression
+ ;
+
+conditionalAndExpression
+ : inclusiveOrExpression
+ | conditionalAndExpression '&&' inclusiveOrExpression
+ ;
+
+inclusiveOrExpression
+ : exclusiveOrExpression
+ | inclusiveOrExpression '|' exclusiveOrExpression
+ ;
+
+exclusiveOrExpression
+ : andExpression
+ | exclusiveOrExpression '^' andExpression
+ ;
+
+andExpression
+ : equalityExpression
+ | andExpression '&' equalityExpression
+ ;
+
+equalityExpression
+ : relationalExpression
+ | equalityExpression '==' relationalExpression
+ | equalityExpression '!=' relationalExpression
+ ;
+
+relationalExpression
+ : shiftExpression
+ | relationalExpression '<' shiftExpression
+ | relationalExpression '>' shiftExpression
+ | relationalExpression '<=' shiftExpression
+ | relationalExpression '>=' shiftExpression
+ | relationalExpression 'instanceof' referenceType
+ ;
+
+shiftExpression
+ : additiveExpression
+ | shiftExpression '<' '<' additiveExpression
+ | shiftExpression '>' '>' additiveExpression
+ | shiftExpression '>' '>' '>' additiveExpression
+ ;
+
+additiveExpression
+ : multiplicativeExpression
+ | additiveExpression '+' multiplicativeExpression
+ | additiveExpression '-' multiplicativeExpression
+ ;
+
+multiplicativeExpression
+ : unaryExpression
+ | multiplicativeExpression '*' unaryExpression
+ | multiplicativeExpression '/' unaryExpression
+ | multiplicativeExpression '%' unaryExpression
+ ;
+
+unaryExpression
+ : preIncrementExpression
+ | preDecrementExpression
+ | '+' unaryExpression
+ | '-' unaryExpression
+ | unaryExpressionNotPlusMinus
+ ;
+
+preIncrementExpression
+ : '++' unaryExpression
+ ;
+
+preDecrementExpression
+ : '--' unaryExpression
+ ;
+
+unaryExpressionNotPlusMinus
+ : postfixExpression
+ | '~' unaryExpression
+ | '!' unaryExpression
+ | castExpression
+ ;
+
+postfixExpression
+ : ( primary
+ | expressionName
+ )
+ ( postIncrementExpression_lf_postfixExpression
+ | postDecrementExpression_lf_postfixExpression
+ )*
+ ;
+
+postIncrementExpression
+ : postfixExpression '++'
+ ;
+
+postIncrementExpression_lf_postfixExpression
+ : '++'
+ ;
+
+postDecrementExpression
+ : postfixExpression '--'
+ ;
+
+postDecrementExpression_lf_postfixExpression
+ : '--'
+ ;
+
+castExpression
+ : '(' primitiveType ')' unaryExpression
+ | '(' referenceType additionalBound* ')' unaryExpressionNotPlusMinus
+ | '(' referenceType additionalBound* ')' lambdaExpression
+ ;
+
+// LEXER
+
+// §3.9 Keywords
+
+ABSTRACT : 'abstract';
+ASSERT : 'assert';
+BOOLEAN : 'boolean';
+BREAK : 'break';
+BYTE : 'byte';
+CASE : 'case';
+CATCH : 'catch';
+CHAR : 'char';
+CLASS : 'class';
+CONST : 'const';
+CONTINUE : 'continue';
+DEFAULT : 'default';
+DO : 'do';
+DOUBLE : 'double';
+ELSE : 'else';
+ENUM : 'enum';
+EXTENDS : 'extends';
+FINAL : 'final';
+FINALLY : 'finally';
+FLOAT : 'float';
+FOR : 'for';
+IF : 'if';
+GOTO : 'goto';
+IMPLEMENTS : 'implements';
+IMPORT : 'import';
+INSTANCEOF : 'instanceof';
+INT : 'int';
+INTERFACE : 'interface';
+LONG : 'long';
+NATIVE : 'native';
+NEW : 'new';
+PACKAGE : 'package';
+PRIVATE : 'private';
+PROTECTED : 'protected';
+PUBLIC : 'public';
+RETURN : 'return';
+SHORT : 'short';
+STATIC : 'static';
+STRICTFP : 'strictfp';
+SUPER : 'super';
+SWITCH : 'switch';
+SYNCHRONIZED : 'synchronized';
+THIS : 'this';
+THROW : 'throw';
+THROWS : 'throws';
+TRANSIENT : 'transient';
+TRY : 'try';
+VOID : 'void';
+VOLATILE : 'volatile';
+WHILE : 'while';
+
+// §3.10.1 Integer Literals
+
+IntegerLiteral
+ : DecimalIntegerLiteral
+ | HexIntegerLiteral
+ | OctalIntegerLiteral
+ | BinaryIntegerLiteral
+ ;
+
+fragment
+DecimalIntegerLiteral
+ : DecimalNumeral IntegerTypeSuffix?
+ ;
+
+fragment
+HexIntegerLiteral
+ : HexNumeral IntegerTypeSuffix?
+ ;
+
+fragment
+OctalIntegerLiteral
+ : OctalNumeral IntegerTypeSuffix?
+ ;
+
+fragment
+BinaryIntegerLiteral
+ : BinaryNumeral IntegerTypeSuffix?
+ ;
+
+fragment
+IntegerTypeSuffix
+ : [lL]
+ ;
+
+fragment
+DecimalNumeral
+ : '0'
+ | NonZeroDigit (Digits? | Underscores Digits)
+ ;
+
+fragment
+Digits
+ : Digit (DigitsAndUnderscores? Digit)?
+ ;
+
+fragment
+Digit
+ : '0'
+ | NonZeroDigit
+ ;
+
+fragment
+NonZeroDigit
+ : [1-9]
+ ;
+
+fragment
+DigitsAndUnderscores
+ : DigitOrUnderscore+
+ ;
+
+fragment
+DigitOrUnderscore
+ : Digit
+ | '_'
+ ;
+
+fragment
+Underscores
+ : '_'+
+ ;
+
+fragment
+HexNumeral
+ : '0' [xX] HexDigits
+ ;
+
+fragment
+HexDigits
+ : HexDigit (HexDigitsAndUnderscores? HexDigit)?
+ ;
+
+fragment
+HexDigit
+ : [0-9a-fA-F]
+ ;
+
+fragment
+HexDigitsAndUnderscores
+ : HexDigitOrUnderscore+
+ ;
+
+fragment
+HexDigitOrUnderscore
+ : HexDigit
+ | '_'
+ ;
+
+fragment
+OctalNumeral
+ : '0' Underscores? OctalDigits
+ ;
+
+fragment
+OctalDigits
+ : OctalDigit (OctalDigitsAndUnderscores? OctalDigit)?
+ ;
+
+fragment
+OctalDigit
+ : [0-7]
+ ;
+
+fragment
+OctalDigitsAndUnderscores
+ : OctalDigitOrUnderscore+
+ ;
+
+fragment
+OctalDigitOrUnderscore
+ : OctalDigit
+ | '_'
+ ;
+
+fragment
+BinaryNumeral
+ : '0' [bB] BinaryDigits
+ ;
+
+fragment
+BinaryDigits
+ : BinaryDigit (BinaryDigitsAndUnderscores? BinaryDigit)?
+ ;
+
+fragment
+BinaryDigit
+ : [01]
+ ;
+
+fragment
+BinaryDigitsAndUnderscores
+ : BinaryDigitOrUnderscore+
+ ;
+
+fragment
+BinaryDigitOrUnderscore
+ : BinaryDigit
+ | '_'
+ ;
+
+// §3.10.2 Floating-Point Literals
+
+FloatingPointLiteral
+ : DecimalFloatingPointLiteral
+ | HexadecimalFloatingPointLiteral
+ ;
+
+fragment
+DecimalFloatingPointLiteral
+ : Digits '.' Digits? ExponentPart? FloatTypeSuffix?
+ | '.' Digits ExponentPart? FloatTypeSuffix?
+ | Digits ExponentPart FloatTypeSuffix?
+ | Digits FloatTypeSuffix
+ ;
+
+fragment
+ExponentPart
+ : ExponentIndicator SignedInteger
+ ;
+
+fragment
+ExponentIndicator
+ : [eE]
+ ;
+
+fragment
+SignedInteger
+ : Sign? Digits
+ ;
+
+fragment
+Sign
+ : [+-]
+ ;
+
+fragment
+FloatTypeSuffix
+ : [fFdD]
+ ;
+
+fragment
+HexadecimalFloatingPointLiteral
+ : HexSignificand BinaryExponent FloatTypeSuffix?
+ ;
+
+fragment
+HexSignificand
+ : HexNumeral '.'?
+ | '0' [xX] HexDigits? '.' HexDigits
+ ;
+
+fragment
+BinaryExponent
+ : BinaryExponentIndicator SignedInteger
+ ;
+
+fragment
+BinaryExponentIndicator
+ : [pP]
+ ;
+
+// §3.10.3 Boolean Literals
+
+BooleanLiteral
+ : 'true'
+ | 'false'
+ ;
+
+// §3.10.4 Character Literals
+
+CharacterLiteral
+ : '\'' SingleCharacter '\''
+ | '\'' EscapeSequence '\''
+ ;
+
+fragment
+SingleCharacter
+ : ~['\\]
+ ;
+
+// §3.10.5 String Literals
+
+StringLiteral
+ : '"' StringCharacters? '"'
+ ;
+
+fragment
+StringCharacters
+ : StringCharacter+
+ ;
+
+fragment
+StringCharacter
+ : ~["\\]
+ | EscapeSequence
+ ;
+
+// §3.10.6 Escape Sequences for Character and String Literals
+
+fragment
+EscapeSequence
+ : '\\' [btnfr"'\\]
+ | OctalEscape
+ | UnicodeEscape // This is not in the spec but prevents having to preprocess the input
+ ;
+
+fragment
+OctalEscape
+ : '\\' OctalDigit
+ | '\\' OctalDigit OctalDigit
+ | '\\' ZeroToThree OctalDigit OctalDigit
+ ;
+
+fragment
+ZeroToThree
+ : [0-3]
+ ;
+
+// This is not in the spec but prevents having to preprocess the input
+fragment
+UnicodeEscape
+ : '\\' 'u' HexDigit HexDigit HexDigit HexDigit
+ ;
+
+// §3.10.7 The Null Literal
+
+NullLiteral
+ : 'null'
+ ;
+
+// §3.11 Separators
+
+LPAREN : '(';
+RPAREN : ')';
+LBRACE : '{';
+RBRACE : '}';
+LBRACK : '[';
+RBRACK : ']';
+SEMI : ';';
+COMMA : ',';
+DOT : '.';
+
+// §3.12 Operators
+
+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 : '>>>=';
+
+// §3.8 Identifiers (must appear after all keywords in the grammar)
+
+Identifier
+ : JavaLetter JavaLetterOrDigit*
+ ;
+
+fragment
+JavaLetter
+ : [a-zA-Z$_] // these are the "java letters" below 0x7F
+ | // covers all characters above 0x7F which are not a surrogate
+ ~[\u0000-\u007F\uD800-\uDBFF]
+ {Character.isJavaIdentifierStart(_input.LA(-1))}?
+ | // covers UTF-16 surrogate pairs encodings for U+10000 to U+10FFFF
+ [\uD800-\uDBFF] [\uDC00-\uDFFF]
+ {Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)))}?
+ ;
+
+fragment
+JavaLetterOrDigit
+ : [a-zA-Z0-9$_] // these are the "java letters or digits" below 0x7F
+ | // covers all characters above 0x7F which are not a surrogate
+ ~[\u0000-\u007F\uD800-\uDBFF]
+ {Character.isJavaIdentifierPart(_input.LA(-1))}?
+ | // covers UTF-16 surrogate pairs encodings for U+10000 to U+10FFFF
+ [\uD800-\uDBFF] [\uDC00-\uDFFF]
+ {Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)))}?
+ ;
+
+//
+// Additional symbols not defined in the lexical specification
+//
+
+AT : '@';
+ELLIPSIS : '...';
+
+//
+// Whitespace and comments
+//
+
+WS : [ \t\r\n\u000C]+ -> skip
+ ;
+
+COMMENT
+ : '/*' .*? '*/' -> skip
+ ;
+
+LINE_COMMENT
+ : '//' ~[\r\n]* -> skip
+ ;
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..aec90bd9
--- /dev/null
+++ b/src/de/dhbwstuttgart/parser/Java8BaseListener.java
@@ -0,0 +1,2882 @@
+// Generated from Java8.g4 by ANTLR 4.5.3
+
+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..7b640465
--- /dev/null
+++ b/src/de/dhbwstuttgart/parser/Java8Lexer.java
@@ -0,0 +1,583 @@
+// Generated from Java8.g4 by ANTLR 4.5.3
+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..1735666c
--- /dev/null
+++ b/src/de/dhbwstuttgart/parser/Java8Listener.java
@@ -0,0 +1,2379 @@
+// Generated from Java8.g4 by ANTLR 4.5.3
+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..6419b96b
--- /dev/null
+++ b/src/de/dhbwstuttgart/parser/Java8Parser.java
@@ -0,0 +1,18555 @@
+// Generated from Java8.g4 by ANTLR 4.5.3
+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
diff --git a/src/de/dhbwstuttgart/parser/JavaClassName.java b/src/de/dhbwstuttgart/parser/JavaClassName.java
deleted file mode 100644
index 666f5304..00000000
--- a/src/de/dhbwstuttgart/parser/JavaClassName.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package de.dhbwstuttgart.parser;
-
-import de.dhbwstuttgart.typeinference.Menge;
-
-import de.dhbwstuttgart.syntaxtree.type.RefType;
-
-/**
- * Stellt den Namen einer Java Klasse dar.
- * Dieser kann auch den Packagenamen mit beinhalten: de.dhbwstuttgart.typeinference.Menge
- *
- * @author janulrich
- *
- */
-public class JavaClassName {
-
- private String name;
- private PackageName packageName;
-
- public JavaClassName(String name){
- if(name == null)throw new NullPointerException();
-
- String[] names = name.split("[.]");
- boolean match = true;
- if(names.length == 1){
- //packageName = new PackageName();
- this.name = name;
- }else {
- name = names[names.length-1];
- Menge packageNames = new Menge();
- for(int i = 0; i names = new Menge();
-
- public PackageName(Menge packageNames) {
- names = packageNames;
- }
-
- public PackageName() {
- //Do nothing
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((names == null) ? 0 : names.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- PackageName other = (PackageName) obj;
- if (names == null) {
- if (other.names != null)
- return false;
- } else if (!names.equals(other.names))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- String ret = "";
- if(names == null)return "";
- for(String n : names)ret+=n+".";
- return ret;
- }
-}
diff --git a/src/de/dhbwstuttgart/parser/JavaLexer.java b/src/de/dhbwstuttgart/parser/JavaLexer.java
deleted file mode 100644
index 24224606..00000000
--- a/src/de/dhbwstuttgart/parser/JavaLexer.java
+++ /dev/null
@@ -1,3675 +0,0 @@
-/********************************************
- * file: JavaLexer.lex *
- * *
- * enth�lt die JLex-Spezifikation f�r die *
- * Generierung des lexical analyzers *
- * *
- ********************************************/
-// user code:
-package de.dhbwstuttgart.parser;
-import de.dhbwstuttgart.logger.Section;
-
-
-public class JavaLexer {
- private final int YY_BUFFER_SIZE = 512;
- private final int YY_F = -1;
- private final int YY_NO_STATE = -1;
- private final int YY_NOT_ACCEPT = 0;
- private final int YY_START = 1;
- private final int YY_END = 2;
- private final int YY_NO_ANCHOR = 4;
- private final int YY_BOL = 128;
- private final int YY_EOF = 129;
-
- Token token;
- private java.io.BufferedReader yy_reader;
- private int yy_buffer_index;
- private int yy_buffer_read;
- private int yy_buffer_start;
- private int yy_buffer_end;
- private char yy_buffer[];
- private int yychar;
- private int yyline;
- private boolean yy_at_bol;
- private int yy_lexical_state;
-
- public JavaLexer (java.io.Reader reader) {
- this ();
- if (null == reader) {
- throw (new Error("Error: Bad input stream initializer."));
- }
- yy_reader = new java.io.BufferedReader(reader);
- }
-
- public JavaLexer (java.io.InputStream instream) {
- this ();
- if (null == instream) {
- throw (new Error("Error: Bad input stream initializer."));
- }
- yy_reader = new java.io.BufferedReader(new java.io.InputStreamReader(instream));
- }
-
- private JavaLexer () {
- yy_buffer = new char[YY_BUFFER_SIZE];
- yy_buffer_read = 0;
- yy_buffer_index = 0;
- yy_buffer_start = 0;
- yy_buffer_end = 0;
- yychar = 0;
- yyline = 0;
- yy_at_bol = true;
- yy_lexical_state = YYINITIAL;
- }
-
- private boolean yy_eof_done = false;
- private final int commentblock = 1;
- private final int YYINITIAL = 0;
- private final int commentsingleline = 2;
- private final int yy_state_dtrans[] = {
- 0,
- 78,
- 187
- };
- private void yybegin (int state) {
- yy_lexical_state = state;
- }
- private int yy_advance ()
- throws java.io.IOException {
- int next_read;
- int i;
- int j;
-
- if (yy_buffer_index < yy_buffer_read) {
- return yy_buffer[yy_buffer_index++];
- }
-
- if (0 != yy_buffer_start) {
- i = yy_buffer_start;
- j = 0;
- while (i < yy_buffer_read) {
- yy_buffer[j] = yy_buffer[i];
- ++i;
- ++j;
- }
- yy_buffer_end = yy_buffer_end - yy_buffer_start;
- yy_buffer_start = 0;
- yy_buffer_read = j;
- yy_buffer_index = j;
- next_read = yy_reader.read(yy_buffer,
- yy_buffer_read,
- yy_buffer.length - yy_buffer_read);
- if (-1 == next_read) {
- return YY_EOF;
- }
- yy_buffer_read = yy_buffer_read + next_read;
- }
-
- while (yy_buffer_index >= yy_buffer_read) {
- if (yy_buffer_index >= yy_buffer.length) {
- yy_buffer = yy_double(yy_buffer);
- }
- next_read = yy_reader.read(yy_buffer,
- yy_buffer_read,
- yy_buffer.length - yy_buffer_read);
- if (-1 == next_read) {
- return YY_EOF;
- }
- yy_buffer_read = yy_buffer_read + next_read;
- }
- return yy_buffer[yy_buffer_index++];
- }
- private void yy_move_end () {
- if (yy_buffer_end > yy_buffer_start &&
- '\n' == yy_buffer[yy_buffer_end-1])
- yy_buffer_end--;
- if (yy_buffer_end > yy_buffer_start &&
- '\r' == yy_buffer[yy_buffer_end-1])
- yy_buffer_end--;
- }
- private boolean yy_last_was_cr=false;
- private void yy_mark_start () {
- int i;
- for (i = yy_buffer_start; i < yy_buffer_index; ++i) {
- if ('\n' == yy_buffer[i] && !yy_last_was_cr) {
- ++yyline;
- }
- if ('\r' == yy_buffer[i]) {
- ++yyline;
- yy_last_was_cr=true;
- } else yy_last_was_cr=false;
- }
- yychar = yychar
- + yy_buffer_index - yy_buffer_start;
- yy_buffer_start = yy_buffer_index;
- }
- private void yy_mark_end () {
- yy_buffer_end = yy_buffer_index;
- }
- private void yy_to_mark () {
- yy_buffer_index = yy_buffer_end;
- yy_at_bol = (yy_buffer_end > yy_buffer_start) &&
- ('\r' == yy_buffer[yy_buffer_end-1] ||
- '\n' == yy_buffer[yy_buffer_end-1] ||
- 2028/*LS*/ == yy_buffer[yy_buffer_end-1] ||
- 2029/*PS*/ == yy_buffer[yy_buffer_end-1]);
- }
- private java.lang.String yytext () {
- return (new java.lang.String(yy_buffer,
- yy_buffer_start,
- yy_buffer_end - yy_buffer_start));
- }
- private int yylength () {
- return yy_buffer_end - yy_buffer_start;
- }
- private char[] yy_double (char buf[]) {
- int i;
- char newbuf[];
- newbuf = new char[2*buf.length];
- for (i = 0; i < buf.length; ++i) {
- newbuf[i] = buf[i];
- }
- return newbuf;
- }
- private final int YY_E_INTERNAL = 0;
- private final int YY_E_MATCH = 1;
- private java.lang.String yy_error_string[] = {
- "Error: Internal error.\n",
- "Error: Unmatched input.\n"
- };
- private void yy_error (int code,boolean fatal) {
- java.lang.System.out.print(yy_error_string[code]);
- java.lang.System.out.flush();
- if (fatal) {
- throw new Error("Fatal Error.\n");
- }
- }
- private int[][] unpackFromString(int size1, int size2, String st) {
- int colonIndex = -1;
- String lengthString;
- int sequenceLength = 0;
- int sequenceInteger = 0;
-
- int commaIndex;
- String workString;
-
- int res[][] = new int[size1][size2];
- for (int i= 0; i < size1; i++) {
- for (int j= 0; j < size2; j++) {
- if (sequenceLength != 0) {
- res[i][j] = sequenceInteger;
- sequenceLength--;
- continue;
- }
- commaIndex = st.indexOf(',');
- workString = (commaIndex==-1) ? st :
- st.substring(0, commaIndex);
- st = st.substring(commaIndex+1);
- colonIndex = workString.indexOf(':');
- if (colonIndex == -1) {
- res[i][j]=Integer.parseInt(workString);
- continue;
- }
- lengthString =
- workString.substring(colonIndex+1);
- sequenceLength=Integer.parseInt(lengthString);
- workString=workString.substring(0,colonIndex);
- sequenceInteger=Integer.parseInt(workString);
- res[i][j] = sequenceInteger;
- sequenceLength--;
- }
- }
- return res;
- }
- private int yy_acpt[] = {
- /* 0 */ YY_NOT_ACCEPT,
- /* 1 */ YY_NO_ANCHOR,
- /* 2 */ YY_NO_ANCHOR,
- /* 3 */ YY_NO_ANCHOR,
- /* 4 */ YY_NO_ANCHOR,
- /* 5 */ YY_NO_ANCHOR,
- /* 6 */ YY_NO_ANCHOR,
- /* 7 */ YY_NO_ANCHOR,
- /* 8 */ YY_NO_ANCHOR,
- /* 9 */ YY_NO_ANCHOR,
- /* 10 */ YY_NO_ANCHOR,
- /* 11 */ YY_NO_ANCHOR,
- /* 12 */ YY_NO_ANCHOR,
- /* 13 */ YY_NO_ANCHOR,
- /* 14 */ YY_NO_ANCHOR,
- /* 15 */ YY_NO_ANCHOR,
- /* 16 */ YY_NO_ANCHOR,
- /* 17 */ YY_NO_ANCHOR,
- /* 18 */ YY_NO_ANCHOR,
- /* 19 */ YY_NO_ANCHOR,
- /* 20 */ YY_NO_ANCHOR,
- /* 21 */ YY_NO_ANCHOR,
- /* 22 */ YY_NO_ANCHOR,
- /* 23 */ YY_NO_ANCHOR,
- /* 24 */ YY_NO_ANCHOR,
- /* 25 */ YY_NO_ANCHOR,
- /* 26 */ YY_NO_ANCHOR,
- /* 27 */ YY_NO_ANCHOR,
- /* 28 */ YY_NO_ANCHOR,
- /* 29 */ YY_NO_ANCHOR,
- /* 30 */ YY_NO_ANCHOR,
- /* 31 */ YY_NO_ANCHOR,
- /* 32 */ YY_NO_ANCHOR,
- /* 33 */ YY_NO_ANCHOR,
- /* 34 */ YY_NO_ANCHOR,
- /* 35 */ YY_NO_ANCHOR,
- /* 36 */ YY_NO_ANCHOR,
- /* 37 */ YY_NO_ANCHOR,
- /* 38 */ YY_NO_ANCHOR,
- /* 39 */ YY_NO_ANCHOR,
- /* 40 */ YY_NO_ANCHOR,
- /* 41 */ YY_NO_ANCHOR,
- /* 42 */ YY_NO_ANCHOR,
- /* 43 */ YY_NO_ANCHOR,
- /* 44 */ YY_NO_ANCHOR,
- /* 45 */ YY_NO_ANCHOR,
- /* 46 */ YY_NO_ANCHOR,
- /* 47 */ YY_NO_ANCHOR,
- /* 48 */ YY_NO_ANCHOR,
- /* 49 */ YY_NO_ANCHOR,
- /* 50 */ YY_NO_ANCHOR,
- /* 51 */ YY_NO_ANCHOR,
- /* 52 */ YY_NO_ANCHOR,
- /* 53 */ YY_NO_ANCHOR,
- /* 54 */ YY_NO_ANCHOR,
- /* 55 */ YY_NO_ANCHOR,
- /* 56 */ YY_NO_ANCHOR,
- /* 57 */ YY_NO_ANCHOR,
- /* 58 */ YY_NO_ANCHOR,
- /* 59 */ YY_NO_ANCHOR,
- /* 60 */ YY_NO_ANCHOR,
- /* 61 */ YY_NO_ANCHOR,
- /* 62 */ YY_NO_ANCHOR,
- /* 63 */ YY_NO_ANCHOR,
- /* 64 */ YY_NO_ANCHOR,
- /* 65 */ YY_NO_ANCHOR,
- /* 66 */ YY_NO_ANCHOR,
- /* 67 */ YY_NO_ANCHOR,
- /* 68 */ YY_NO_ANCHOR,
- /* 69 */ YY_NO_ANCHOR,
- /* 70 */ YY_NO_ANCHOR,
- /* 71 */ YY_NO_ANCHOR,
- /* 72 */ YY_NO_ANCHOR,
- /* 73 */ YY_NO_ANCHOR,
- /* 74 */ YY_NO_ANCHOR,
- /* 75 */ YY_NO_ANCHOR,
- /* 76 */ YY_NO_ANCHOR,
- /* 77 */ YY_NO_ANCHOR,
- /* 78 */ YY_NO_ANCHOR,
- /* 79 */ YY_NO_ANCHOR,
- /* 80 */ YY_NO_ANCHOR,
- /* 81 */ YY_NO_ANCHOR,
- /* 82 */ YY_NO_ANCHOR,
- /* 83 */ YY_NOT_ACCEPT,
- /* 84 */ YY_NO_ANCHOR,
- /* 85 */ YY_NO_ANCHOR,
- /* 86 */ YY_NO_ANCHOR,
- /* 87 */ YY_NO_ANCHOR,
- /* 88 */ YY_NO_ANCHOR,
- /* 89 */ YY_NO_ANCHOR,
- /* 90 */ YY_NO_ANCHOR,
- /* 91 */ YY_NO_ANCHOR,
- /* 92 */ YY_NO_ANCHOR,
- /* 93 */ YY_NO_ANCHOR,
- /* 94 */ YY_NO_ANCHOR,
- /* 95 */ YY_NO_ANCHOR,
- /* 96 */ YY_NO_ANCHOR,
- /* 97 */ YY_NO_ANCHOR,
- /* 98 */ YY_NO_ANCHOR,
- /* 99 */ YY_NO_ANCHOR,
- /* 100 */ YY_NO_ANCHOR,
- /* 101 */ YY_NO_ANCHOR,
- /* 102 */ YY_NO_ANCHOR,
- /* 103 */ YY_NO_ANCHOR,
- /* 104 */ YY_NO_ANCHOR,
- /* 105 */ YY_NO_ANCHOR,
- /* 106 */ YY_NO_ANCHOR,
- /* 107 */ YY_NO_ANCHOR,
- /* 108 */ YY_NO_ANCHOR,
- /* 109 */ YY_NO_ANCHOR,
- /* 110 */ YY_NO_ANCHOR,
- /* 111 */ YY_NO_ANCHOR,
- /* 112 */ YY_NO_ANCHOR,
- /* 113 */ YY_NO_ANCHOR,
- /* 114 */ YY_NO_ANCHOR,
- /* 115 */ YY_NO_ANCHOR,
- /* 116 */ YY_NO_ANCHOR,
- /* 117 */ YY_NO_ANCHOR,
- /* 118 */ YY_NO_ANCHOR,
- /* 119 */ YY_NO_ANCHOR,
- /* 120 */ YY_NO_ANCHOR,
- /* 121 */ YY_NO_ANCHOR,
- /* 122 */ YY_NO_ANCHOR,
- /* 123 */ YY_NO_ANCHOR,
- /* 124 */ YY_NO_ANCHOR,
- /* 125 */ YY_NO_ANCHOR,
- /* 126 */ YY_NO_ANCHOR,
- /* 127 */ YY_NO_ANCHOR,
- /* 128 */ YY_NO_ANCHOR,
- /* 129 */ YY_NO_ANCHOR,
- /* 130 */ YY_NO_ANCHOR,
- /* 131 */ YY_NOT_ACCEPT,
- /* 132 */ YY_NO_ANCHOR,
- /* 133 */ YY_NO_ANCHOR,
- /* 134 */ YY_NO_ANCHOR,
- /* 135 */ YY_NO_ANCHOR,
- /* 136 */ YY_NO_ANCHOR,
- /* 137 */ YY_NO_ANCHOR,
- /* 138 */ YY_NO_ANCHOR,
- /* 139 */ YY_NO_ANCHOR,
- /* 140 */ YY_NO_ANCHOR,
- /* 141 */ YY_NO_ANCHOR,
- /* 142 */ YY_NO_ANCHOR,
- /* 143 */ YY_NO_ANCHOR,
- /* 144 */ YY_NO_ANCHOR,
- /* 145 */ YY_NO_ANCHOR,
- /* 146 */ YY_NO_ANCHOR,
- /* 147 */ YY_NO_ANCHOR,
- /* 148 */ YY_NO_ANCHOR,
- /* 149 */ YY_NO_ANCHOR,
- /* 150 */ YY_NO_ANCHOR,
- /* 151 */ YY_NO_ANCHOR,
- /* 152 */ YY_NO_ANCHOR,
- /* 153 */ YY_NO_ANCHOR,
- /* 154 */ YY_NO_ANCHOR,
- /* 155 */ YY_NO_ANCHOR,
- /* 156 */ YY_NOT_ACCEPT,
- /* 157 */ YY_NO_ANCHOR,
- /* 158 */ YY_NO_ANCHOR,
- /* 159 */ YY_NO_ANCHOR,
- /* 160 */ YY_NO_ANCHOR,
- /* 161 */ YY_NO_ANCHOR,
- /* 162 */ YY_NOT_ACCEPT,
- /* 163 */ YY_NO_ANCHOR,
- /* 164 */ YY_NO_ANCHOR,
- /* 165 */ YY_NO_ANCHOR,
- /* 166 */ YY_NO_ANCHOR,
- /* 167 */ YY_NO_ANCHOR,
- /* 168 */ YY_NOT_ACCEPT,
- /* 169 */ YY_NO_ANCHOR,
- /* 170 */ YY_NO_ANCHOR,
- /* 171 */ YY_NO_ANCHOR,
- /* 172 */ YY_NO_ANCHOR,
- /* 173 */ YY_NOT_ACCEPT,
- /* 174 */ YY_NO_ANCHOR,
- /* 175 */ YY_NO_ANCHOR,
- /* 176 */ YY_NO_ANCHOR,
- /* 177 */ YY_NO_ANCHOR,
- /* 178 */ YY_NOT_ACCEPT,
- /* 179 */ YY_NO_ANCHOR,
- /* 180 */ YY_NO_ANCHOR,
- /* 181 */ YY_NO_ANCHOR,
- /* 182 */ YY_NO_ANCHOR,
- /* 183 */ YY_NOT_ACCEPT,
- /* 184 */ YY_NO_ANCHOR,
- /* 185 */ YY_NO_ANCHOR,
- /* 186 */ YY_NO_ANCHOR,
- /* 187 */ YY_NOT_ACCEPT,
- /* 188 */ YY_NO_ANCHOR,
- /* 189 */ YY_NO_ANCHOR,
- /* 190 */ YY_NO_ANCHOR,
- /* 191 */ YY_NO_ANCHOR,
- /* 192 */ YY_NO_ANCHOR,
- /* 193 */ YY_NO_ANCHOR,
- /* 194 */ YY_NO_ANCHOR,
- /* 195 */ YY_NO_ANCHOR,
- /* 196 */ YY_NO_ANCHOR,
- /* 197 */ YY_NO_ANCHOR,
- /* 198 */ YY_NO_ANCHOR,
- /* 199 */ YY_NO_ANCHOR,
- /* 200 */ YY_NO_ANCHOR,
- /* 201 */ YY_NO_ANCHOR,
- /* 202 */ YY_NO_ANCHOR,
- /* 203 */ YY_NO_ANCHOR,
- /* 204 */ YY_NO_ANCHOR,
- /* 205 */ YY_NO_ANCHOR,
- /* 206 */ YY_NO_ANCHOR,
- /* 207 */ YY_NO_ANCHOR,
- /* 208 */ YY_NO_ANCHOR,
- /* 209 */ YY_NO_ANCHOR,
- /* 210 */ YY_NO_ANCHOR,
- /* 211 */ YY_NO_ANCHOR,
- /* 212 */ YY_NO_ANCHOR,
- /* 213 */ YY_NO_ANCHOR,
- /* 214 */ YY_NO_ANCHOR,
- /* 215 */ YY_NO_ANCHOR,
- /* 216 */ YY_NO_ANCHOR,
- /* 217 */ YY_NO_ANCHOR,
- /* 218 */ YY_NO_ANCHOR,
- /* 219 */ YY_NO_ANCHOR,
- /* 220 */ YY_NO_ANCHOR,
- /* 221 */ YY_NO_ANCHOR,
- /* 222 */ YY_NO_ANCHOR,
- /* 223 */ YY_NO_ANCHOR,
- /* 224 */ YY_NO_ANCHOR,
- /* 225 */ YY_NO_ANCHOR,
- /* 226 */ YY_NO_ANCHOR,
- /* 227 */ YY_NO_ANCHOR,
- /* 228 */ YY_NO_ANCHOR,
- /* 229 */ YY_NO_ANCHOR,
- /* 230 */ YY_NO_ANCHOR,
- /* 231 */ YY_NO_ANCHOR,
- /* 232 */ YY_NO_ANCHOR,
- /* 233 */ YY_NO_ANCHOR,
- /* 234 */ YY_NO_ANCHOR,
- /* 235 */ YY_NO_ANCHOR,
- /* 236 */ YY_NO_ANCHOR,
- /* 237 */ YY_NO_ANCHOR,
- /* 238 */ YY_NO_ANCHOR,
- /* 239 */ YY_NO_ANCHOR,
- /* 240 */ YY_NO_ANCHOR,
- /* 241 */ YY_NO_ANCHOR,
- /* 242 */ YY_NO_ANCHOR,
- /* 243 */ YY_NO_ANCHOR,
- /* 244 */ YY_NO_ANCHOR,
- /* 245 */ YY_NO_ANCHOR,
- /* 246 */ YY_NO_ANCHOR,
- /* 247 */ YY_NO_ANCHOR,
- /* 248 */ YY_NO_ANCHOR,
- /* 249 */ YY_NO_ANCHOR,
- /* 250 */ YY_NO_ANCHOR,
- /* 251 */ YY_NO_ANCHOR,
- /* 252 */ YY_NO_ANCHOR,
- /* 253 */ YY_NO_ANCHOR,
- /* 254 */ YY_NO_ANCHOR,
- /* 255 */ YY_NO_ANCHOR,
- /* 256 */ YY_NO_ANCHOR,
- /* 257 */ YY_NO_ANCHOR,
- /* 258 */ YY_NO_ANCHOR,
- /* 259 */ YY_NO_ANCHOR,
- /* 260 */ YY_NO_ANCHOR,
- /* 261 */ YY_NO_ANCHOR,
- /* 262 */ YY_NO_ANCHOR,
- /* 263 */ YY_NO_ANCHOR,
- /* 264 */ YY_NO_ANCHOR,
- /* 265 */ YY_NO_ANCHOR,
- /* 266 */ YY_NO_ANCHOR,
- /* 267 */ YY_NO_ANCHOR,
- /* 268 */ YY_NO_ANCHOR,
- /* 269 */ YY_NO_ANCHOR,
- /* 270 */ YY_NO_ANCHOR,
- /* 271 */ YY_NO_ANCHOR,
- /* 272 */ YY_NO_ANCHOR,
- /* 273 */ YY_NO_ANCHOR,
- /* 274 */ YY_NO_ANCHOR,
- /* 275 */ YY_NO_ANCHOR,
- /* 276 */ YY_NO_ANCHOR,
- /* 277 */ YY_NO_ANCHOR,
- /* 278 */ YY_NO_ANCHOR,
- /* 279 */ YY_NO_ANCHOR,
- /* 280 */ YY_NO_ANCHOR,
- /* 281 */ YY_NO_ANCHOR,
- /* 282 */ YY_NO_ANCHOR,
- /* 283 */ YY_NO_ANCHOR,
- /* 284 */ YY_NO_ANCHOR,
- /* 285 */ YY_NO_ANCHOR,
- /* 286 */ YY_NO_ANCHOR,
- /* 287 */ YY_NO_ANCHOR,
- /* 288 */ YY_NO_ANCHOR,
- /* 289 */ YY_NO_ANCHOR,
- /* 290 */ YY_NO_ANCHOR,
- /* 291 */ YY_NO_ANCHOR,
- /* 292 */ YY_NO_ANCHOR,
- /* 293 */ YY_NO_ANCHOR,
- /* 294 */ YY_NO_ANCHOR,
- /* 295 */ YY_NO_ANCHOR,
- /* 296 */ YY_NO_ANCHOR,
- /* 297 */ YY_NO_ANCHOR,
- /* 298 */ YY_NO_ANCHOR,
- /* 299 */ YY_NO_ANCHOR,
- /* 300 */ YY_NO_ANCHOR,
- /* 301 */ YY_NO_ANCHOR,
- /* 302 */ YY_NO_ANCHOR,
- /* 303 */ YY_NO_ANCHOR,
- /* 304 */ YY_NO_ANCHOR,
- /* 305 */ YY_NO_ANCHOR,
- /* 306 */ YY_NO_ANCHOR,
- /* 307 */ YY_NO_ANCHOR,
- /* 308 */ YY_NO_ANCHOR,
- /* 309 */ YY_NO_ANCHOR,
- /* 310 */ YY_NO_ANCHOR,
- /* 311 */ YY_NO_ANCHOR,
- /* 312 */ YY_NO_ANCHOR,
- /* 313 */ YY_NO_ANCHOR,
- /* 314 */ YY_NO_ANCHOR,
- /* 315 */ YY_NO_ANCHOR,
- /* 316 */ YY_NO_ANCHOR,
- /* 317 */ YY_NO_ANCHOR,
- /* 318 */ YY_NO_ANCHOR,
- /* 319 */ YY_NO_ANCHOR,
- /* 320 */ YY_NO_ANCHOR,
- /* 321 */ YY_NO_ANCHOR,
- /* 322 */ YY_NO_ANCHOR,
- /* 323 */ YY_NO_ANCHOR,
- /* 324 */ YY_NO_ANCHOR,
- /* 325 */ YY_NO_ANCHOR,
- /* 326 */ YY_NO_ANCHOR,
- /* 327 */ YY_NO_ANCHOR,
- /* 328 */ YY_NO_ANCHOR,
- /* 329 */ YY_NO_ANCHOR,
- /* 330 */ YY_NO_ANCHOR,
- /* 331 */ YY_NO_ANCHOR,
- /* 332 */ YY_NO_ANCHOR,
- /* 333 */ YY_NO_ANCHOR,
- /* 334 */ YY_NO_ANCHOR,
- /* 335 */ YY_NO_ANCHOR,
- /* 336 */ YY_NO_ANCHOR,
- /* 337 */ YY_NO_ANCHOR,
- /* 338 */ YY_NO_ANCHOR,
- /* 339 */ YY_NO_ANCHOR,
- /* 340 */ YY_NO_ANCHOR,
- /* 341 */ YY_NO_ANCHOR,
- /* 342 */ YY_NO_ANCHOR,
- /* 343 */ YY_NO_ANCHOR,
- /* 344 */ YY_NO_ANCHOR,
- /* 345 */ YY_NO_ANCHOR,
- /* 346 */ YY_NO_ANCHOR,
- /* 347 */ YY_NO_ANCHOR,
- /* 348 */ YY_NO_ANCHOR,
- /* 349 */ YY_NO_ANCHOR,
- /* 350 */ YY_NO_ANCHOR,
- /* 351 */ YY_NO_ANCHOR,
- /* 352 */ YY_NO_ANCHOR,
- /* 353 */ YY_NO_ANCHOR,
- /* 354 */ YY_NO_ANCHOR,
- /* 355 */ YY_NO_ANCHOR,
- /* 356 */ YY_NO_ANCHOR,
- /* 357 */ YY_NO_ANCHOR,
- /* 358 */ YY_NO_ANCHOR,
- /* 359 */ YY_NO_ANCHOR,
- /* 360 */ YY_NO_ANCHOR,
- /* 361 */ YY_NO_ANCHOR,
- /* 362 */ YY_NO_ANCHOR,
- /* 363 */ YY_NO_ANCHOR,
- /* 364 */ YY_NO_ANCHOR,
- /* 365 */ YY_NO_ANCHOR,
- /* 366 */ YY_NO_ANCHOR,
- /* 367 */ YY_NO_ANCHOR,
- /* 368 */ YY_NO_ANCHOR,
- /* 369 */ YY_NO_ANCHOR,
- /* 370 */ YY_NO_ANCHOR,
- /* 371 */ YY_NO_ANCHOR,
- /* 372 */ YY_NO_ANCHOR,
- /* 373 */ YY_NO_ANCHOR,
- /* 374 */ YY_NO_ANCHOR,
- /* 375 */ YY_NO_ANCHOR,
- /* 376 */ YY_NO_ANCHOR,
- /* 377 */ YY_NO_ANCHOR,
- /* 378 */ YY_NO_ANCHOR,
- /* 379 */ YY_NO_ANCHOR,
- /* 380 */ YY_NO_ANCHOR,
- /* 381 */ YY_NO_ANCHOR,
- /* 382 */ YY_NO_ANCHOR,
- /* 383 */ YY_NO_ANCHOR,
- /* 384 */ YY_NO_ANCHOR,
- /* 385 */ YY_NO_ANCHOR,
- /* 386 */ YY_NO_ANCHOR,
- /* 387 */ YY_NO_ANCHOR,
- /* 388 */ YY_NO_ANCHOR,
- /* 389 */ YY_NO_ANCHOR,
- /* 390 */ YY_NO_ANCHOR,
- /* 391 */ YY_NO_ANCHOR,
- /* 392 */ YY_NO_ANCHOR,
- /* 393 */ YY_NO_ANCHOR,
- /* 394 */ YY_NO_ANCHOR,
- /* 395 */ YY_NO_ANCHOR,
- /* 396 */ YY_NO_ANCHOR,
- /* 397 */ YY_NO_ANCHOR,
- /* 398 */ YY_NO_ANCHOR,
- /* 399 */ YY_NO_ANCHOR,
- /* 400 */ YY_NO_ANCHOR,
- /* 401 */ YY_NO_ANCHOR,
- /* 402 */ YY_NO_ANCHOR,
- /* 403 */ YY_NO_ANCHOR,
- /* 404 */ YY_NO_ANCHOR,
- /* 405 */ YY_NO_ANCHOR,
- /* 406 */ YY_NO_ANCHOR,
- /* 407 */ YY_NO_ANCHOR,
- /* 408 */ YY_NO_ANCHOR,
- /* 409 */ YY_NO_ANCHOR,
- /* 410 */ YY_NO_ANCHOR,
- /* 411 */ YY_NO_ANCHOR,
- /* 412 */ YY_NO_ANCHOR,
- /* 413 */ YY_NO_ANCHOR,
- /* 414 */ YY_NO_ANCHOR,
- /* 415 */ YY_NO_ANCHOR,
- /* 416 */ YY_NO_ANCHOR,
- /* 417 */ YY_NO_ANCHOR,
- /* 418 */ YY_NO_ANCHOR,
- /* 419 */ YY_NO_ANCHOR,
- /* 420 */ YY_NO_ANCHOR,
- /* 421 */ YY_NO_ANCHOR,
- /* 422 */ YY_NO_ANCHOR,
- /* 423 */ YY_NO_ANCHOR,
- /* 424 */ YY_NO_ANCHOR,
- /* 425 */ YY_NO_ANCHOR,
- /* 426 */ YY_NO_ANCHOR,
- /* 427 */ YY_NO_ANCHOR,
- /* 428 */ YY_NO_ANCHOR,
- /* 429 */ YY_NO_ANCHOR,
- /* 430 */ YY_NO_ANCHOR,
- /* 431 */ YY_NO_ANCHOR,
- /* 432 */ YY_NO_ANCHOR,
- /* 433 */ YY_NO_ANCHOR,
- /* 434 */ YY_NO_ANCHOR,
- /* 435 */ YY_NO_ANCHOR,
- /* 436 */ YY_NO_ANCHOR,
- /* 437 */ YY_NO_ANCHOR,
- /* 438 */ YY_NO_ANCHOR,
- /* 439 */ YY_NO_ANCHOR,
- /* 440 */ YY_NO_ANCHOR,
- /* 441 */ YY_NO_ANCHOR,
- /* 442 */ YY_NO_ANCHOR,
- /* 443 */ YY_NO_ANCHOR,
- /* 444 */ YY_NO_ANCHOR,
- /* 445 */ YY_NO_ANCHOR,
- /* 446 */ YY_NO_ANCHOR,
- /* 447 */ YY_NO_ANCHOR,
- /* 448 */ YY_NO_ANCHOR,
- /* 449 */ YY_NO_ANCHOR,
- /* 450 */ YY_NO_ANCHOR,
- /* 451 */ YY_NO_ANCHOR,
- /* 452 */ YY_NO_ANCHOR,
- /* 453 */ YY_NO_ANCHOR,
- /* 454 */ YY_NO_ANCHOR,
- /* 455 */ YY_NO_ANCHOR,
- /* 456 */ YY_NO_ANCHOR,
- /* 457 */ YY_NO_ANCHOR,
- /* 458 */ YY_NO_ANCHOR,
- /* 459 */ YY_NO_ANCHOR,
- /* 460 */ YY_NO_ANCHOR,
- /* 461 */ YY_NO_ANCHOR,
- /* 462 */ YY_NO_ANCHOR,
- /* 463 */ YY_NO_ANCHOR,
- /* 464 */ YY_NO_ANCHOR,
- /* 465 */ YY_NO_ANCHOR,
- /* 466 */ YY_NO_ANCHOR,
- /* 467 */ YY_NO_ANCHOR,
- /* 468 */ YY_NO_ANCHOR,
- /* 469 */ YY_NO_ANCHOR,
- /* 470 */ YY_NO_ANCHOR,
- /* 471 */ YY_NO_ANCHOR,
- /* 472 */ YY_NO_ANCHOR,
- /* 473 */ YY_NO_ANCHOR,
- /* 474 */ YY_NO_ANCHOR,
- /* 475 */ YY_NO_ANCHOR,
- /* 476 */ YY_NO_ANCHOR,
- /* 477 */ YY_NO_ANCHOR,
- /* 478 */ YY_NO_ANCHOR,
- /* 479 */ YY_NO_ANCHOR,
- /* 480 */ YY_NO_ANCHOR,
- /* 481 */ YY_NO_ANCHOR,
- /* 482 */ YY_NO_ANCHOR,
- /* 483 */ YY_NO_ANCHOR,
- /* 484 */ YY_NO_ANCHOR,
- /* 485 */ YY_NO_ANCHOR,
- /* 486 */ YY_NO_ANCHOR,
- /* 487 */ YY_NO_ANCHOR,
- /* 488 */ YY_NO_ANCHOR,
- /* 489 */ YY_NO_ANCHOR,
- /* 490 */ YY_NO_ANCHOR,
- /* 491 */ YY_NO_ANCHOR,
- /* 492 */ YY_NO_ANCHOR,
- /* 493 */ YY_NO_ANCHOR,
- /* 494 */ YY_NO_ANCHOR,
- /* 495 */ YY_NO_ANCHOR,
- /* 496 */ YY_NO_ANCHOR,
- /* 497 */ YY_NO_ANCHOR,
- /* 498 */ YY_NO_ANCHOR,
- /* 499 */ YY_NO_ANCHOR,
- /* 500 */ YY_NO_ANCHOR,
- /* 501 */ YY_NO_ANCHOR,
- /* 502 */ YY_NO_ANCHOR,
- /* 503 */ YY_NO_ANCHOR,
- /* 504 */ YY_NO_ANCHOR,
- /* 505 */ YY_NO_ANCHOR,
- /* 506 */ YY_NO_ANCHOR,
- /* 507 */ YY_NO_ANCHOR,
- /* 508 */ YY_NO_ANCHOR,
- /* 509 */ YY_NO_ANCHOR,
- /* 510 */ YY_NO_ANCHOR,
- /* 511 */ YY_NO_ANCHOR,
- /* 512 */ YY_NO_ANCHOR,
- /* 513 */ YY_NO_ANCHOR,
- /* 514 */ YY_NO_ANCHOR,
- /* 515 */ YY_NO_ANCHOR,
- /* 516 */ YY_NO_ANCHOR,
- /* 517 */ YY_NO_ANCHOR,
- /* 518 */ YY_NO_ANCHOR,
- /* 519 */ YY_NO_ANCHOR,
- /* 520 */ YY_NO_ANCHOR,
- /* 521 */ YY_NO_ANCHOR,
- /* 522 */ YY_NO_ANCHOR,
- /* 523 */ YY_NO_ANCHOR,
- /* 524 */ YY_NO_ANCHOR,
- /* 525 */ YY_NO_ANCHOR,
- /* 526 */ YY_NO_ANCHOR,
- /* 527 */ YY_NO_ANCHOR,
- /* 528 */ YY_NO_ANCHOR,
- /* 529 */ YY_NO_ANCHOR,
- /* 530 */ YY_NO_ANCHOR,
- /* 531 */ YY_NO_ANCHOR,
- /* 532 */ YY_NO_ANCHOR,
- /* 533 */ YY_NO_ANCHOR,
- /* 534 */ YY_NO_ANCHOR,
- /* 535 */ YY_NO_ANCHOR,
- /* 536 */ YY_NO_ANCHOR,
- /* 537 */ YY_NO_ANCHOR,
- /* 538 */ YY_NO_ANCHOR,
- /* 539 */ YY_NO_ANCHOR,
- /* 540 */ YY_NO_ANCHOR,
- /* 541 */ YY_NO_ANCHOR,
- /* 542 */ YY_NO_ANCHOR,
- /* 543 */ YY_NO_ANCHOR,
- /* 544 */ YY_NO_ANCHOR,
- /* 545 */ YY_NO_ANCHOR,
- /* 546 */ YY_NO_ANCHOR,
- /* 547 */ YY_NO_ANCHOR,
- /* 548 */ YY_NO_ANCHOR
- };
- private int yy_cmap[] = unpackFromString(1,130,
-"28:8,58,29,57,28:2,27,28:18,40,50,39,38,41,55,52,37,43:2,25,53,43,54,36,24," +
-"31,35:7,30:2,45,43,48,47,49,45,38,34:6,41:5,32,41:11,33,41:2,44,26,44,56,42" +
-",28,1,2,6,15,9,16,22,12,13,41,11,8,19,10,7,20,41,5,3,4,14,23,21,17,18,41,44" +
-",51,44,46,28,0:2")[0];
-
- private int yy_rmap[] = unpackFromString(1,549,
-"0,1,2,3,4,5,6,1:2,7:2,8,1:4,9,1:16,7:2,10,7,1,11,1,7:7,12,13,7:2,14,7:2,15," +
-"7,1:2,16,7:6,1,7:12,17,18,1,19,20,21,22,23,1,24,25,26:2,27,28,26:2,29,26,1," +
-"26:7,30,26:2,31,26:19,32,33,34,35,36,37,1,38,39:2,28,39:9,40,39:5,41,42,43," +
-"44,45,46,47,48,49,50,51,52,53,28,54,55,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,102,103,104,105,106,107,108,109,110,111,112,11" +
-"3,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,1" +
-"32,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150," +
-"151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169" +
-",170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,18" +
-"8,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,2" +
-"07,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225," +
-"226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244" +
-",245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,26" +
-"3,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,2" +
-"82,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300," +
-"301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319" +
-",320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,33" +
-"8,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,3" +
-"57,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375," +
-"376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,39," +
-"394,395,39,396,397,398,399,400,401,26,402,403,404,405,406,407,408,409,410,4" +
-"11,412,413,414,415,416,417,418,419,420,7,26,421,405,422,423,419,424,425,426" +
-",427")[0];
-
- private int yy_nxt[][] = unpackFromString(428,59,
-"1,2,417,420,267,467,351,538:2,354,271,538:2,84,538,132,274,538:3,471,423,53" +
-"8,357,3,85,83,4,-1,4,5,6,538:3,5,7,131,-1,156,4,538:2,7:2,8:2,88,135,159,16" +
-"5,133,158,164,170,175,180,4:2,-1:60,538,507,538:21,-1:6,538:6,-1:5,538:2,-1" +
-":40,11,12,-1:21,13,-1:38,4,-1,4,-1:10,4,-1:16,4:2,-1:16,15,-1:13,5:2,86,-1:" +
-"2,5,16,-1:39,168,-1:13,87,134,168,-1,87,-1:24,538:23,-1:6,538:6,-1:5,538:2," +
-"-1:64,178,183,-1:25,15,-1:13,16:2,-1:3,16,-1:24,538:8,496,538:14,-1:6,538:6" +
-",-1:5,538:2,-1:17,38:2,-1:3,38,-1:2,38,-1:5,38:2,-1:13,38:2,97,-1,38:2,-1:7" +
-"0,56,-1:58,57,-1,58,-1:10,538:2,61,538:20,-1:6,538:6,-1:5,538:2,-1:17,538:7" +
-",246,538:15,-1:6,538:6,-1:5,538:2,-1:63,65,-1:11,1,128,419,422,269,469,353," +
-"539:2,356,273,539:2,154,539,160,276,539:3,473,425,539,359,166,79,171,539:3," +
-"541,543,539:3,541,539,176,539,181,539:7,544:4,545,546,547,548,544:2,539:2,-" +
-"1:24,80,-1:22,14,-1:12,508,472,508,538,508:19,167:2,-1:2,167:2,508:6,167:5," +
-"508:2,167:14,-1:29,82,-1,82,-1:10,4,-1:16,82:2,-1,162:26,-1,162:29,-1,162,-" +
-"1,538:9,169,538:5,9,538:2,435,538:4,-1:6,538:6,-1:5,538:2,-1:63,14,-1:42,87" +
-",134,-1:2,87,-1:70,18,-1:12,539:24,-1,539:33,-1,539:24,-1,539:22,531,532,53" +
-"9:9,-1,167:3,-1,167:21,-1:2,167:29,-1:3,539:8,498,539:15,-1,539:33,-1,539:2" +
-",112,539:21,-1,539:33,-1,539:7,253,539:16,-1,539:33,-1,539,509,539:22,-1,53" +
-"9:33,-1,508:3,538,508:5,190,508:5,136,508:2,433,508:4,167:2,-1:2,167:2,508:" +
-"6,167:5,508:2,167:14,-1:3,167:3,-1,167:21,-1,82,167,130,167:10,182,167:16,8" +
-"2:2,-1,173:25,-1:4,173:7,-1,173,-1:2,173,-1,173,-1,173,-1:2,173:3,-1,173,-1" +
-":2,173,-1:4,538:6,10,538,481,538:14,-1:6,538:6,-1:5,538:2,-1:63,22,-1:3,23," +
-"-1:54,19,-1:12,508:3,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-" +
-"1:3,508:3,538,508:3,238,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1" +
-":3,539:9,192,539:5,89,539:2,437,539:5,-1,539:33,-1,508:3,538,508:2,137,508," +
-"485,508:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,156:25,-1:4,156:7" +
-",-1,156,17,156:2,-1,156,-1,156,-1:2,156:3,-1,156,-1:2,156:2,-1:3,538:13,179" +
-",538:3,33,538:5,-1:6,538:6,-1:5,538:2,-1:63,24,-1:4,25,-1:53,20,-1:12,539:6" +
-",90,539,483,539:15,-1,539:33,-1,167:3,-1,167:19,138,92,-1:2,167:29,-1:59,37" +
-",-1:2,538:20,34,538:2,-1:6,538:6,-1:5,538:2,-1:63,26,-1:5,27,-1:52,21,-1:12" +
-",539:23,91,12,539:21,518,539:11,-1,38:2,-1:3,38,-1:2,38,-1:5,38:2,-1:13,38:" +
-"2,-1:2,38:2,-1:24,538:2,515,35,538:19,-1:6,538:6,-1:5,538:2,-1:63,28,-1,29," +
-"-1:4,30,-1:5,520:24,162,520,539,520:29,539,520,-1,167:3,173,167:21,-1:2,167" +
-":29,-1:39,39,-1:22,538:4,36,538:18,-1:6,538:6,-1:5,538:2,-1:63,31,-1:12,526" +
-":24,173,539:4,526:7,539,526,539:2,526,539,526,539,526,539:2,526:3,539,526,5" +
-"39:2,526,539:3,-1,177:3,156,177:21,-1:2,167:2,177:7,167,177,167,177:2,167,1" +
-"77,167,177,167:2,177:3,167,177,167:2,177:2,-1:50,47,-1:11,538:8,40,538:14,-" +
-"1:6,538:6,-1:5,538:2,-1:63,32,-1:12,181:24,156,539:4,181:7,539,181,518,181:" +
-"2,539,181,539,181,539:2,181:3,539,181,539:2,181:2,539:2,-1,167:3,-1,167:21," +
-"-1,4,167,182,167:10,182,167:16,4:2,-1:49,48,-1:10,538:2,41,538:20,-1:6,538:" +
-"6,-1:5,538:2,-1:17,539:13,527,539:3,93,539:6,-1,539:33,-1,508:3,538,508:16," +
-"139,508:2,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:2,1,81,418,421,267,4" +
-"24,352,508:2,355,268,508:2,129,508,155,272,508:3,468,427,508,358,161,167,83" +
-",82,167,130,167:2,508:3,167:2,172,167,177,182,508:2,167:14,82:2,-1,538:8,42" +
-",538:14,-1:6,538:6,-1:5,538:2,-1:17,539:20,94,539:3,-1,539:33,-1,508:2,491," +
-"35,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:4,43,538:18,-1" +
-":6,538:6,-1:5,538:2,-1:17,539:2,528,95,539:20,-1,539:33,-1,508:3,538,140,50" +
-"8:18,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:8,44,538:14,-1:6,53" +
-"8:6,-1:5,538:2,-1:17,539:4,96,539:19,-1,539:33,-1,508:3,538,508:4,141,508:1" +
-"4,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:7,45,538:15,-1:6,538:6" +
-",-1:5,538:2,-1:17,539:2,98,539:21,-1,539:33,-1,508:3,538,142,508:18,167:2,-" +
-"1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:14,46,538:8,-1:6,538:6,-1:5,538" +
-":2,-1:17,539:8,99,539:15,-1,539:33,-1,508:3,538,508:4,143,508:14,167:2,-1:2" +
-",167:2,508:6,167:5,508:2,167:14,-1:3,538:10,49,538:12,-1:6,538:6,-1:5,538:2" +
-",-1:17,539:4,100,539:19,-1,539:33,-1,508:3,538,508:10,144,508:8,167:2,-1:2," +
-"167:2,508:6,167:5,508:2,167:14,-1:3,538:4,50,538:18,-1:6,538:6,-1:5,538:2,-" +
-"1:17,539:8,101,539:15,-1,539:33,-1,508:3,538,508:6,145,508:12,167:2,-1:2,16" +
-"7:2,508:6,167:5,508:2,167:14,-1:3,538:20,51,538:2,-1:6,538:6,-1:5,538:2,-1:" +
-"17,539:14,102,539:9,-1,539:33,-1,508:3,538,146,508:18,167:2,-1:2,167:2,508:" +
-"6,167:5,508:2,167:14,-1:3,538:11,52,538:11,-1:6,538:6,-1:5,538:2,-1:17,539:" +
-"10,103,539:13,-1,539:33,-1,508:2,147,538,508:19,167:2,-1:2,167:2,508:6,167:" +
-"5,508:2,167:14,-1:3,538:2,53,538:20,-1:6,538:6,-1:5,538:2,-1:17,539:4,104,5" +
-"39:19,-1,539:33,-1,508:3,538,508:3,148,508:15,167:2,-1:2,167:2,508:6,167:5," +
-"508:2,167:14,-1:3,538:7,54,538:15,-1:6,538:6,-1:5,538:2,-1:17,539:20,105,53" +
-"9:3,-1,539:33,-1,508:3,538,508:4,149,508:14,167:2,-1:2,167:2,508:6,167:5,50" +
-"8:2,167:14,-1:3,538:8,55,538:14,-1:6,538:6,-1:5,538:2,-1:17,539:11,106,539:" +
-"12,-1,539:33,-1,508:3,63,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-" +
-"1:3,538:5,59,538:17,-1:6,538:6,-1:5,538:2,-1:17,539:2,107,539:21,-1,539:33," +
-"-1,508:3,250,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:11,6" +
-"0,538:11,-1:6,538:6,-1:5,538:2,-1:17,539:7,108,539:16,-1,539:33,-1,508:3,53" +
-"8,508,150,508:17,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:9,62,53" +
-"8:13,-1:6,538:6,-1:5,538:2,-1:17,539:8,109,539:15,-1,539:33,-1,508:3,538,50" +
-"8:5,151,508:13,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:3,63,538:" +
-"19,-1:6,538:6,-1:5,538:2,-1:17,539:5,110,539:18,-1,539:33,-1,508:3,68,508:1" +
-"9,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:5,64,538:17,-1:6,538:6" +
-",-1:5,538:2,-1:17,539:11,111,539:12,-1,539:33,-1,508:3,538,508:13,152,508:5" +
-",167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:9,66,538:13,-1:6,538:6," +
-"-1:5,538:2,-1:17,539:9,113,539:14,-1,539:33,-1,508:3,538,508:4,153,508:14,1" +
-"67:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:2,67,538:20,-1:6,538:6,-1" +
-":5,538:2,-1:17,539:3,114,539:20,-1,539:33,-1,538:3,68,538:19,-1:6,538:6,-1:" +
-"5,538:2,-1:17,539:5,115,539:18,-1,539:33,-1,538:17,69,538:5,-1:6,538:6,-1:5" +
-",538:2,-1:17,539:9,116,539:14,-1,539:33,-1,538:8,70,538:14,-1:6,538:6,-1:5," +
-"538:2,-1:17,539:2,117,539:21,-1,539:33,-1,538:8,71,538:14,-1:6,538:6,-1:5,5" +
-"38:2,-1:17,539:3,118,539:20,-1,539:33,-1,538:3,72,538:19,-1:6,538:6,-1:5,53" +
-"8:2,-1:17,539:17,119,539:6,-1,539:33,-1,538:8,73,538:14,-1:6,538:6,-1:5,538" +
-":2,-1:17,539:8,120,539:15,-1,539:33,-1,538:8,74,538:14,-1:6,538:6,-1:5,538:" +
-"2,-1:17,539:8,121,539:15,-1,539:33,-1,538:14,75,538:8,-1:6,538:6,-1:5,538:2" +
-",-1:17,539:3,122,539:20,-1,539:33,-1,538:15,76,538:7,-1:6,538:6,-1:5,538:2," +
-"-1:17,539:8,123,539:15,-1,539:33,-1,538:2,77,538:20,-1:6,538:6,-1:5,538:2,-" +
-"1:17,539:8,124,539:15,-1,539:33,-1,539:14,125,539:9,-1,539:33,-1,539:15,126" +
-",539:8,-1,539:33,-1,539:2,127,539:21,-1,539:33,-1,538:4,157,538:6,277,538:1" +
-"1,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,186,508:4,482,508:9,167:2,-1:" +
-"2,167:2,508:6,167:5,508:2,167:14,-1:3,539:4,185,539:6,279,539:12,-1,539:33," +
-"-1,508:3,262,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:8,16" +
-"3,538:4,289,538:9,-1:6,538:6,-1:5,538:2,-1:17,510,508:2,538,508:2,193,508:5" +
-",376,508:10,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:8,189,539:4," +
-"516,539:10,-1,539:33,-1,369,538:5,174,538:5,372,538:10,-1:6,538:6,-1:5,538:" +
-"2,-1:17,508:2,196,304,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3" +
-",540,539:5,195,539:5,371,539:11,-1,539:33,-1,538:4,301,538:7,184,538:10,-1:" +
-"6,538:6,-1:5,538:2,-1:17,199,508:2,538,508:19,167:2,-1:2,167:2,508:6,167:5," +
-"508:2,167:14,-1:3,539:4,300,539:7,198,539:11,-1,539:33,-1,538:2,188,304,538" +
-":19,-1:6,538:6,-1:5,538:2,-1:17,508:2,202,538,508:19,167:2,-1:2,167:2,508:6" +
-",167:5,508:2,167:14,-1:3,539:2,201,303,539:20,-1,539:33,-1,191,538:22,-1:6," +
-"538:6,-1:5,538:2,-1:17,508:3,538,508:8,205,508:10,167:2,-1:2,167:2,508:6,16" +
-"7:5,508:2,167:14,-1:3,204,539:23,-1,539:33,-1,538:2,194,538:20,-1:6,538:6,-" +
-"1:5,538:2,-1:17,208,508:2,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167" +
-":14,-1:3,539:2,207,539:21,-1,539:33,-1,538:7,197,538:15,-1:6,538:6,-1:5,538" +
-":2,-1:17,508:3,538,508:4,211,508:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:" +
-"14,-1:3,539:12,210,539:11,-1,539:33,-1,538:12,200,538:10,-1:6,538:6,-1:5,53" +
-"8:2,-1:17,508:3,322,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,2" +
-"13,539:23,-1,539:33,-1,203,538:22,-1:6,538:6,-1:5,538:2,-1:17,508:2,214,538" +
-",508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:8,216,539:15,-1," +
-"539:33,-1,538:8,206,538:14,-1:6,538:6,-1:5,538:2,-1:17,217,508:2,538,508:19" +
-",167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:6,219,539:17,-1,539:33," +
-"-1,538:6,209,538:16,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:3,220,508:15," +
-"167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:5,222,539:18,-1,539:33,-" +
-"1,538:5,212,538:17,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,223,508:18,167:2,-" +
-"1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:2,225,539:21,-1,539:33,-1,538:2" +
-",215,538:20,-1:6,538:6,-1:5,538:2,-1:17,226,508:2,538,508:19,167:2,-1:2,167" +
-":2,508:6,167:5,508:2,167:14,-1:3,228,539:23,-1,539:33,-1,538:2,179,538:20,-" +
-"1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:8,229,508:10,167:2,-1:2,167:2,508:" +
-"6,167:5,508:2,167:14,-1:3,539:7,231,539:16,-1,539:33,-1,218,538:22,-1:6,538" +
-":6,-1:5,538:2,-1:17,232,508:2,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2" +
-",167:14,-1:3,539:12,234,539:11,-1,539:33,-1,538:7,221,538:15,-1:6,538:6,-1:" +
-"5,538:2,-1:17,508:3,538,508:3,235,508:15,167:2,-1:2,167:2,508:6,167:5,508:2" +
-",167:14,-1:3,539:5,237,539:18,-1,539:33,-1,538:12,224,538:10,-1:6,538:6,-1:" +
-"5,538:2,-1:17,508:3,538,508:17,241,508,167:2,-1:2,167:2,508:6,167:5,508:2,1" +
-"67:14,-1:3,539:4,240,539:19,-1,539:33,-1,538:5,227,538:17,-1:6,538:6,-1:5,5" +
-"38:2,-1:17,508:3,538,508:5,270,508:13,167:2,-1:2,167:2,508:6,167:5,508:2,16" +
-"7:14,-1:3,539:4,243,539:19,-1,539:33,-1,538:4,230,538:18,-1:6,538:6,-1:5,53" +
-"8:2,-1:17,539:12,245,539:11,-1,539:33,-1,538:4,233,538:18,-1:6,538:6,-1:5,5" +
-"38:2,-1:17,247,539:23,-1,539:33,-1,538:12,236,538:10,-1:6,538:6,-1:5,538:2," +
-"-1:17,539:14,249,539:9,-1,539:33,-1,239,538:22,-1:6,538:6,-1:5,538:2,-1:17," +
-"539:7,251,539:16,-1,539:33,-1,538:14,242,538:8,-1:6,538:6,-1:5,538:2,-1:17," +
-"539:21,255,539:2,-1,539:33,-1,538:7,244,538:15,-1:6,538:6,-1:5,538:2,-1:17," +
-"539:3,257,539:20,-1,539:33,-1,538:21,248,538,-1:6,538:6,-1:5,538:2,-1:17,53" +
-"9:5,259,539:18,-1,539:33,-1,538:3,250,538:19,-1:6,538:6,-1:5,538:2,-1:17,53" +
-"9:13,261,539:10,-1,539:33,-1,538:5,252,538:17,-1:6,538:6,-1:5,538:2,-1:17,5" +
-"39:5,263,539:18,-1,539:33,-1,538:13,254,538:9,-1:6,538:6,-1:5,538:2,-1:17,5" +
-"39:8,264,539:15,-1,539:33,-1,538:5,256,538:17,-1:6,538:6,-1:5,538:2,-1:17,5" +
-"39:6,265,539:17,-1,539:33,-1,538:8,258,538:14,-1:6,538:6,-1:5,538:2,-1:17,5" +
-"39:3,266,539:20,-1,539:33,-1,538:6,260,538:16,-1:6,538:6,-1:5,538:2,-1:17,5" +
-"38:3,262,538:19,-1:6,538:6,-1:5,538:2,-1:17,280,538:5,512,366,538:3,283,538" +
-":11,-1:6,538:6,-1:5,538:2,-1:17,275,508:2,538,508:2,479,373,508:3,278,508:1" +
-"1,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,282,539:5,513,368,539:3,28" +
-"5,539:12,-1,539:33,-1,538:7,286,538:8,478,538:6,-1:6,538:6,-1:5,538:2,-1:17" +
-",508:3,538,508:3,281,508:8,430,508:6,167:2,-1:2,167:2,508:6,167:5,508:2,167" +
-":14,-1:3,539:7,288,539:8,480,539:7,-1,539:33,-1,538:6,292,538:16,-1:6,538:6" +
-",-1:5,538:2,-1:17,508:3,538,508:2,284,508:16,167:2,-1:2,167:2,508:6,167:5,5" +
-"08:2,167:14,-1:3,539:6,291,539:17,-1,539:33,-1,538:8,295,538:14,-1:6,538:6," +
-"-1:5,538:2,-1:17,508:3,538,508:4,287,508:14,167:2,-1:2,167:2,508:6,167:5,50" +
-"8:2,167:14,-1:3,539:8,294,539:15,-1,539:33,-1,538:19,298,538:3,-1:6,538:6,-" +
-"1:5,538:2,-1:17,508:3,538,508:15,290,508:3,167:2,-1:2,167:2,508:6,167:5,508" +
-":2,167:14,-1:3,539:19,297,539:4,-1,539:33,-1,307,538:22,-1:6,538:6,-1:5,538" +
-":2,-1:17,508:3,538,508:8,293,508:10,167:2,-1:2,167:2,508:6,167:5,508:2,167:" +
-"14,-1:3,306,539:23,-1,539:33,-1,538:7,310,538:15,-1:6,538:6,-1:5,538:2,-1:1" +
-"7,508:3,384,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:9,309" +
-",539:14,-1,539:33,-1,538:9,313,538:13,-1:6,538:6,-1:5,538:2,-1:17,296,508:2" +
-",538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:12,312,539:1" +
-"1,-1,539:33,-1,538:12,316,538:10,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:" +
-"5,299,508:13,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:3,315,539:2" +
-"0,-1,539:33,-1,538:3,319,538:19,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:8" +
-",302,508:10,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:3,318,539:20" +
-",-1,539:33,-1,538:3,322,538:19,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:2," +
-"305,500,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:13,321,53" +
-"9:10,-1,539:33,-1,538:13,325,538:9,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,50" +
-"8:18,308,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:6,324,535,539:1" +
-"6,-1,539:33,-1,538:6,327,521,538:15,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,5" +
-"08:3,311,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:7,326,53" +
-"9:16,-1,539:33,-1,538:7,329,538:15,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,50" +
-"8:4,314,508:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:8,328,539" +
-":15,-1,539:33,-1,538:8,331,538:14,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508" +
-":9,317,508:9,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:9,330,539:1" +
-"4,-1,539:33,-1,538:9,333,538:13,-1:6,538:6,-1:5,538:2,-1:17,320,508:2,538,5" +
-"08:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:13,332,539:10,-1,5" +
-"39:33,-1,538:13,335,538:9,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,323,5" +
-"08:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,334,539:23,-1,539:33,-" +
-"1,337,538:22,-1:6,538:6,-1:5,538:2,-1:17,336,539:23,-1,539:33,-1,339,538:22" +
-",-1:6,538:6,-1:5,538:2,-1:17,338,539:23,-1,539:33,-1,341,538:22,-1:6,538:6," +
-"-1:5,538:2,-1:17,539:9,340,539:14,-1,539:33,-1,538:9,343,538:13,-1:6,538:6," +
-"-1:5,538:2,-1:17,342,539:23,-1,539:33,-1,345,538:22,-1:6,538:6,-1:5,538:2,-" +
-"1:17,539:3,344,539:20,-1,539:33,-1,538:3,347,538:19,-1:6,538:6,-1:5,538:2,-" +
-"1:17,539:8,346,539:15,-1,539:33,-1,538:8,349,538:14,-1:6,538:6,-1:5,538:2,-" +
-"1:17,539:9,348,539:14,-1,539:33,-1,538:9,350,538:13,-1:6,538:6,-1:5,538:2,-" +
-"1:17,538:4,360,538,475,538:16,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,361,508" +
-",476,508:16,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:4,362,539,47" +
-"7,539:17,-1,539:33,-1,538:3,426,538:9,363,538:6,429,538:2,-1:6,538:6,-1:5,5" +
-"38:2,-1:17,508:3,426,508:9,364,508:6,367,508:2,167:2,-1:2,167:2,508:6,167:5" +
-",508:2,167:14,-1:3,539:3,428,539:9,365,539:6,431,539:3,-1,539:33,-1,538:11," +
-"375,538:11,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,370,508:14,167:2,-1:" +
-"2,167:2,508:6,167:5,508:2,167:14,-1:3,539:11,374,539:12,-1,539:33,-1,378,53" +
-"8:22,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:7,379,508:11,167:2,-1:2,167:" +
-"2,508:6,167:5,508:2,167:14,-1:3,377,539:23,-1,539:33,-1,538:12,381,538:10,-" +
-"1:6,538:6,-1:5,538:2,-1:17,508:3,444,508:19,167:2,-1:2,167:2,508:6,167:5,50" +
-"8:2,167:14,-1:3,539:12,380,539:11,-1,539:33,-1,538:3,384,538:19,-1:6,538:6," +
-"-1:5,538:2,-1:17,508:3,538,508:15,382,508:3,167:2,-1:2,167:2,508:6,167:5,50" +
-"8:2,167:14,-1:3,539:3,383,539:20,-1,539:33,-1,538:19,387,538:3,-1:6,538:6,-" +
-"1:5,538:2,-1:17,508:3,538,508:2,497,508:5,385,508:10,167:2,-1:2,167:2,508:6" +
-",167:5,508:2,167:14,-1:3,539:19,386,539:4,-1,539:33,-1,538,390,538:21,-1:6," +
-"538:6,-1:5,538:2,-1:17,508,388,508,538,508:19,167:2,-1:2,167:2,508:6,167:5," +
-"508:2,167:14,-1:3,539,389,539:22,-1,539:33,-1,538:7,393,538:15,-1:6,538:6,-" +
-"1:5,538:2,-1:17,508:3,538,508:3,391,508:15,167:2,-1:2,167:2,508:6,167:5,508" +
-":2,167:14,-1:3,539:7,392,539:16,-1,539:33,-1,538:8,396,538:14,-1:6,538:6,-1" +
-":5,538:2,-1:17,394,508:2,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:" +
-"14,-1:3,539:8,395,539:15,-1,539:33,-1,399,538:22,-1:6,538:6,-1:5,538:2,-1:1" +
-"7,508:3,538,508:6,397,508:12,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3" +
-",398,539:23,-1,539:33,-1,538:10,402,538:12,-1:6,538:6,-1:5,538:2,-1:17,508:" +
-"3,538,508:14,400,508:4,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:1" +
-"0,401,539:13,-1,539:33,-1,538:22,404,-1:6,538:6,-1:5,538:2,-1:17,539:22,403" +
-",539,-1,539:33,-1,538:4,406,538:18,-1:6,538:6,-1:5,538:2,-1:17,539:4,405,53" +
-"9:19,-1,539:33,-1,538:12,408,538:10,-1:6,538:6,-1:5,538:2,-1:17,539:12,407," +
-"539:11,-1,539:33,-1,538:15,410,538:7,-1:6,538:6,-1:5,538:2,-1:17,539:15,409" +
-",539:8,-1,539:33,-1,538:5,412,538:17,-1:6,538:6,-1:5,538:2,-1:17,539:5,411," +
-"539:18,-1,539:33,-1,538:5,414,538:17,-1:6,538:6,-1:5,538:2,-1:17,539:5,413," +
-"539:18,-1,539:33,-1,538:8,416,538:14,-1:6,538:6,-1:5,538:2,-1:17,539:8,415," +
-"539:15,-1,539:33,-1,538:8,432,538:14,-1:6,538:6,-1:5,538:2,-1:17,488,508:2," +
-"538,436,508:8,439,508:9,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:" +
-"8,434,539:15,-1,539:33,-1,508:3,455,508:19,167:2,-1:2,167:2,508:6,167:5,508" +
-":2,167:14,-1:3,484,538:3,487,538:8,438,538:9,-1:6,538:6,-1:5,538:2,-1:17,50" +
-"8:2,470,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,486,539:3" +
-",489,539:8,440,539:10,-1,539:33,-1,508:3,457,508:19,167:2,-1:2,167:2,508:6," +
-"167:5,508:2,167:14,-1:3,538:6,441,538:16,-1:6,538:6,-1:5,538:2,-1:17,508:3," +
-"538,508:2,442,508:16,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:6,4" +
-"43,539:17,-1,539:33,-1,538:3,444,538:19,-1:6,538:6,-1:5,538:2,-1:17,508:3,5" +
-"38,508:5,474,508:13,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:3,44" +
-"6,539:20,-1,539:33,-1,538:15,447,538:7,-1:6,538:6,-1:5,538:2,-1:17,508:3,53" +
-"8,508:3,514,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:15,44" +
-"9,539:8,-1,539:33,-1,538:5,450,538:17,-1:6,538:6,-1:5,538:2,-1:17,508:3,538" +
-",508:11,445,508:7,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:5,452," +
-"539:18,-1,539:33,-1,538:6,517,538:5,453,538:10,-1:6,538:6,-1:5,538:2,-1:17," +
-"508:3,538,508,448,508:17,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539" +
-":6,530,539:5,454,539:11,-1,539:33,-1,538:3,455,538:19,-1:6,538:6,-1:5,538:2" +
-",-1:17,508:3,519,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:" +
-"3,456,539:20,-1,539:33,-1,538:3,457,538:19,-1:6,538:6,-1:5,538:2,-1:17,508:" +
-"2,503,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:3,458,5" +
-"39:20,-1,539:33,-1,538:4,459,538:18,-1:6,538:6,-1:5,538:2,-1:17,508:3,499,5" +
-"08:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:4,460,539:19,-1,53" +
-"9:33,-1,538:8,461,538:14,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,451,50" +
-"8:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:8,462,539:15,-1,539" +
-":33,-1,538:9,463,538:13,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,511,508" +
-":14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:9,464,539:14,-1,539:" +
-"33,-1,538:18,465,538:4,-1:6,538:6,-1:5,538:2,-1:17,539:18,466,539:5,-1,539:" +
-"33,-1,538:2,490,538:20,-1:6,538:6,-1:5,538:2,-1:17,539:2,492,539:21,-1,539:" +
-"33,-1,508:3,538,508:3,494,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14," +
-"-1:3,538:9,493,538:13,-1:6,538:6,-1:5,538:2,-1:17,539:9,495,539:14,-1,539:3" +
-"3,-1,508:3,538,508:3,511,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-" +
-"1:3,538:3,519,538:19,-1:6,538:6,-1:5,538:2,-1:17,539:7,542,539:16,-1,539:33" +
-",-1,538:3,499,538:19,-1:6,538:6,-1:5,538:2,-1:17,502,538:22,-1:6,538:6,-1:5" +
-",538:2,-1:17,539:24,-1,539:31,518,539,-1,538:8,505,538:14,-1:6,538:6,-1:5,5" +
-"38:2,-1:17,539:15,518,539:8,-1,539:4,522:2,518,539:2,522,523,539:22,-1,539:" +
-"15,518,539:8,-1,539:4,523:2,539:3,523,539:23,-1,533:2,539:3,533,539:2,533,5" +
-"39:5,533:2,539:8,-1,539:4,533:2,539:2,533:2,539:23,-1,539:24,-1,539:5,525,5" +
-"18,539:2,525,539:23,-1,539:24,-1,539:11,518,539:21,-1,539:8,518,539:15,-1,5" +
-"39:33,-1,539:3,534,539:20,-1,539:33,-1,539:2,527,539:21,-1,539:33,-1,539:3," +
-"501,539:20,-1,539:33,-1,539:24,-1,539:22,536,539:10,-1,539:24,-1,539:23,537" +
-",539:9,-1,533:2,539:3,533,539:2,533,539:5,533:2,539:8,-1,539:4,533:2,518,53" +
-"9,533:2,539:23,-1,504,539:23,-1,539:33,-1,539:8,506,539:15,-1,539:33,-1,539" +
-":24,-1,539:21,518,539:11,-1,539:24,-1,539:21,518,539,536,539:9,-1,539:7,529" +
-",539:16,-1,539:33,-1,539:7,518,539:16,-1,539:33,-1,539:16,524,539:7,-1,539:" +
-"5,525,518,524,539,525,539:23,-1,539:24,-1,539:21,518,539:3,518,539:7,-1,539" +
-":24,-1,539:21,518,539:4,518,539:6,-1,539:24,-1,539:21,518,539:5,518,539:5,-" +
-"1,539:24,-1,539:21,518,539,518,539:4,518,539:4");
-
- public boolean yylex ()
- throws java.io.IOException {
- int yy_lookahead;
- int yy_anchor = YY_NO_ANCHOR;
- int yy_state = yy_state_dtrans[yy_lexical_state];
- int yy_next_state = YY_NO_STATE;
- int yy_last_accept_state = YY_NO_STATE;
- boolean yy_initial = true;
- int yy_this_accept;
-
- yy_mark_start();
- yy_this_accept = yy_acpt[yy_state];
- if (YY_NOT_ACCEPT != yy_this_accept) {
- yy_last_accept_state = yy_state;
- yy_mark_end();
- }
- while (true) {
- if (yy_initial && yy_at_bol) yy_lookahead = YY_BOL;
- else yy_lookahead = yy_advance();
- yy_next_state = YY_F;
- yy_next_state = yy_nxt[yy_rmap[yy_state]][yy_cmap[yy_lookahead]];
- if (YY_EOF == yy_lookahead && true == yy_initial) {
-
- return false;
- }
- if (YY_F != yy_next_state) {
- yy_state = yy_next_state;
- yy_initial = false;
- yy_this_accept = yy_acpt[yy_state];
- if (YY_NOT_ACCEPT != yy_this_accept) {
- yy_last_accept_state = yy_state;
- yy_mark_end();
- }
- }
- else {
- if (YY_NO_STATE == yy_last_accept_state) {
- throw (new Error("Lexical Error: Unmatched Input."));
- }
- else {
- yy_anchor = yy_acpt[yy_last_accept_state];
- if (0 != (YY_END & yy_anchor)) {
- yy_move_end();
- }
- yy_to_mark();
- switch (yy_last_accept_state) {
- case 1:
-
- case -2:
- break;
- case 2:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -3:
- break;
- case 3:
- {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
- case -4:
- break;
- case 4:
- { /* System.out.print(yytext()); */ }
- case -5:
- break;
- case 5:
- {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
- case -6:
- break;
- case 6:
- {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
- case -7:
- break;
- case 7:
- {
- this.token = new Token(JavaParser.BRACE,yytext().charAt(0), yyline, yychar);return true;
-}
- case -8:
- break;
- case 8:
- {
- this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true;
-}
- case -9:
- break;
- case 9:
- {this.token = new Token(JavaParser.IF, yytext(), yyline, yychar);return true;}
- case -10:
- break;
- case 10:
- {this.token = new Token(JavaParser.DO, yytext(), yyline, yychar);return true;}
- case -11:
- break;
- case 11:
- {yybegin(commentsingleline);}
- case -12:
- break;
- case 12:
- {yybegin(commentblock);}
- case -13:
- break;
- case 13:
- {this.token = new Token(JavaParser.DIVIDEEQUAL, yytext(), yyline, yychar);return true;}
- case -14:
- break;
- case 14:
- {this.token = new Token(JavaParser.TIMESEQUAL, yytext(), yyline, yychar);return true;}
- case -15:
- break;
- case 15:
- {
- this.token = new Token(JavaParser.FLOATLITERAL, yytext(), yyline, yychar);return true;
-}
- case -16:
- break;
- case 16:
- {
- this.token = new Token(JavaParser.DOUBLELITERAL, yytext(), yyline, yychar);return true;
-}
- case -17:
- break;
- case 17:
- {
- this.token = new Token(JavaParser.STRINGLITERAL, yytext(), yyline, yychar);return true;
-}
- case -18:
- break;
- case 18:
- { this.token = new Token(JavaParser.EQUAL, yytext(), yyline, yychar);return true;}
- case -19:
- break;
- case 19:
- { this.token = new Token(JavaParser.LESSEQUAL, yytext(), yyline, yychar);return true;}
- case -20:
- break;
- case 20:
- {this.token = new Token(JavaParser.GREATEREQUAL, yytext(), yyline, yychar);return true;}
- case -21:
- break;
- case 21:
- {this.token = new Token(JavaParser.NOTEQUAL, yytext(), yyline, yychar);return true;}
- case -22:
- break;
- case 22:
- {this.token = new Token(JavaParser.OREQUAL, yytext(), yyline, yychar);return true;}
- case -23:
- break;
- case 23:
- {this.token = new Token(JavaParser.LOGICALOR, yytext(), yyline, yychar);return true;}
- case -24:
- break;
- case 24:
- {this.token = new Token(JavaParser.ANDEQUAL, yytext(), yyline, yychar);return true;}
- case -25:
- break;
- case 25:
- {this.token = new Token(JavaParser.LOGICALAND, yytext(), yyline, yychar);return true;}
- case -26:
- break;
- case 26:
- {this.token = new Token(JavaParser.PLUSEQUAL, yytext(), yyline, yychar);return true;}
- case -27:
- break;
- case 27:
- {this.token = new Token(JavaParser.INCREMENT, yytext(), yyline, yychar);return true;}
- case -28:
- break;
- case 28:
- {this.token = new Token(JavaParser.MINUSEQUAL, yytext(), yyline, yychar);return true;}
- case -29:
- break;
- case 29:
- {this.token = new Token(JavaParser.LAMBDAASSIGNMENT, yytext(), yyline, yychar);return true;}
- case -30:
- break;
- case 30:
- {this.token = new Token(JavaParser.DECREMENT, yytext(), yyline, yychar);return true;}
- case -31:
- break;
- case 31:
- {this.token = new Token(JavaParser.MODULOEQUAL, yytext(), yyline, yychar);return true;}
- case -32:
- break;
- case 32:
- {this.token = new Token(JavaParser.XOREQUAL, yytext(), yyline, yychar);return true;}
- case -33:
- break;
- case 33:
- {this.token = new Token(JavaParser.TRY, yytext(), yyline, yychar);return true;}
- case -34:
- break;
- case 34:
- {this.token = new Token(JavaParser.NEW, yytext(), yyline, yychar);return true;}
- case -35:
- break;
- case 35:
- {this.token = new Token(JavaParser.INT, yytext(), yyline, yychar);return true;}
- case -36:
- break;
- case 36:
- {this.token = new Token(JavaParser.FOR, yytext(), yyline, yychar);return true;}
- case -37:
- break;
- case 37:
- {de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("Kommentar: "+yytext(), Section.PARSER);}
- case -38:
- break;
- case 38:
- {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
- case -39:
- break;
- case 39:
- {
- this.token = new Token(JavaParser.CHARLITERAL, yytext(), yyline, yychar);return true;
-}
- case -40:
- break;
- case 40:
- {
- this.token = new Token(JavaParser.BOOLLITERAL, yytext(), yyline, yychar);return true;
-}
- case -41:
- break;
- case 41:
- {this.token = new Token(JavaParser.THIS, yytext(), yyline,yychar);return true;}
- case -42:
- break;
- case 42:
- {this.token = new Token(JavaParser.CASE, yytext(), yyline, yychar);return true;}
- case -43:
- break;
- case 43:
- {this.token = new Token(JavaParser.CHAR, yytext(), yyline, yychar);return true;}
- case -44:
- break;
- case 44:
- {this.token = new Token(JavaParser.ELSE, yytext(), yyline, yychar);return true;}
- case -45:
- break;
- case 45:
- {
- this.token = new Token(JavaParser.JNULL, yytext(), yyline, yychar);return true;
-}
- case -46:
- break;
- case 46:
- {this.token = new Token(JavaParser.VOID, yytext(), yyline, yychar);return true;}
- case -47:
- break;
- case 47:
- {this.token = new Token(JavaParser.SHIFTLEFT, yytext(), yyline, yychar);return true;}
- case -48:
- break;
- case 48:
- {this.token = new Token(JavaParser.SHIFTRIGHT, yytext(), yyline, yychar);return true;}
- case -49:
- break;
- case 49:
- {this.token = new Token(JavaParser.BREAK, yytext(), yyline, yychar);return true;}
- case -50:
- break;
- case 50:
- {this.token = new Token(JavaParser.SUPER, yytext(), yyline, yychar);return true;}
- case -51:
- break;
- case 51:
- {this.token = new Token(JavaParser.THROW, yytext(), yyline, yychar);return true;}
- case -52:
- break;
- case 52:
- {this.token = new Token(JavaParser.CATCH, yytext(), yyline, yychar);return true;}
- case -53:
- break;
- case 53:
- {this.token = new Token(JavaParser.CLASS, yytext(), yyline, yychar);return true;}
- case -54:
- break;
- case 54:
- {this.token = new Token(JavaParser.FINAL, yytext(), yyline, yychar);return true;}
- case -55:
- break;
- case 55:
- {this.token = new Token(JavaParser.WHILE, yytext(), yyline, yychar);return true;}
- case -56:
- break;
- case 56:
- {this.token = new Token(JavaParser.SHIFTLEFTEQUAL, yytext(), yyline, yychar);return true;}
- case -57:
- break;
- case 57:
- {this.token = new Token(JavaParser.SIGNEDSHIFTRIGHTEQUAL, yytext(), yyline, yychar);return true;}
- case -58:
- break;
- case 58:
- {this.token = new Token(JavaParser.UNSIGNEDSHIFTRIGHT, yytext(), yyline, yychar);return true;}
- case -59:
- break;
- case 59:
- {this.token = new Token(JavaParser.STATIC, yytext(), yyline, yychar);return true;}
- case -60:
- break;
- case 60:
- {this.token = new Token(JavaParser.SWITCH, yytext(), yyline, yychar);return true;}
- case -61:
- break;
- case 61:
- {this.token = new Token(JavaParser.THROWS, yytext(), yyline, yychar);return true;}
- case -62:
- break;
- case 62:
- {this.token = new Token(JavaParser.RETURN, yytext(), yyline, yychar);return true;}
- case -63:
- break;
- case 63:
- {this.token = new Token(JavaParser.IMPORT, yytext(), yyline, yychar);return true;}
- case -64:
- break;
- case 64:
- {this.token = new Token(JavaParser.PUBLIC, yytext(), yyline, yychar);return true;}
- case -65:
- break;
- case 65:
- {this.token = new Token(JavaParser.UNSIGNEDSHIFTRIGHTEQUAL, yytext(), yyline, yychar);return true;}
- case -66:
- break;
- case 66:
- {this.token = new Token(JavaParser.BOOLEAN, yytext(), yyline, yychar);return true;}
- case -67:
- break;
- case 67:
- {this.token = new Token(JavaParser.EXTENDS, yytext(), yyline, yychar);return true;}
- case -68:
- break;
- case 68:
- {this.token = new Token(JavaParser.DEFAULT, yytext(), yyline, yychar);return true;}
- case -69:
- break;
- case 69:
- {this.token = new Token(JavaParser.FINALLY, yytext(), yyline, yychar);return true;}
- case -70:
- break;
- case 70:
- {this.token = new Token(JavaParser.PACKAGE, yytext(), yyline, yychar);return true;}
- case -71:
- break;
- case 71:
- {this.token = new Token(JavaParser.PRIVATE, yytext(), yyline, yychar);return true;}
- case -72:
- break;
- case 72:
- {this.token = new Token(JavaParser.ABSTRACT, yytext(), yyline, yychar);return true;}
- case -73:
- break;
- case 73:
- {this.token = new Token(JavaParser.CONTINUE, yytext(), yyline, yychar);return true;}
- case -74:
- break;
- case 74:
- {this.token = new Token(JavaParser.INTERFACE, yytext(), yyline, yychar);return true;}
- case -75:
- break;
- case 75:
- {this.token = new Token(JavaParser.PROTECTED, yytext(), yyline, yychar);return true;}
- case -76:
- break;
- case 76:
- {this.token = new Token(JavaParser.INSTANCEOF, yytext(), yyline, yychar);return true;}
- case -77:
- break;
- case 77:
- {this.token = new Token(JavaParser.IMPLEMENTS, yytext(), yyline, yychar);return true;}
- case -78:
- break;
- case 78:
- {}
- case -79:
- break;
- case 79:
- {}
- case -80:
- break;
- case 80:
- {yybegin(YYINITIAL);}
- case -81:
- break;
- case 81:
- {}
- case -82:
- break;
- case 82:
- {yybegin(YYINITIAL);}
- case -83:
- break;
- case 84:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -84:
- break;
- case 85:
- {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
- case -85:
- break;
- case 86:
- {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
- case -86:
- break;
- case 87:
- {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
- case -87:
- break;
- case 88:
- {
- this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true;
-}
- case -88:
- break;
- case 89:
- {this.token = new Token(JavaParser.IF, yytext(), yyline, yychar);return true;}
- case -89:
- break;
- case 90:
- {this.token = new Token(JavaParser.DO, yytext(), yyline, yychar);return true;}
- case -90:
- break;
- case 91:
- {yybegin(commentsingleline);}
- case -91:
- break;
- case 92:
- {yybegin(commentblock);}
- case -92:
- break;
- case 93:
- {this.token = new Token(JavaParser.TRY, yytext(), yyline, yychar);return true;}
- case -93:
- break;
- case 94:
- {this.token = new Token(JavaParser.NEW, yytext(), yyline, yychar);return true;}
- case -94:
- break;
- case 95:
- {this.token = new Token(JavaParser.INT, yytext(), yyline, yychar);return true;}
- case -95:
- break;
- case 96:
- {this.token = new Token(JavaParser.FOR, yytext(), yyline, yychar);return true;}
- case -96:
- break;
- case 97:
- {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
- case -97:
- break;
- case 98:
- {this.token = new Token(JavaParser.THIS, yytext(), yyline,yychar);return true;}
- case -98:
- break;
- case 99:
- {this.token = new Token(JavaParser.CASE, yytext(), yyline, yychar);return true;}
- case -99:
- break;
- case 100:
- {this.token = new Token(JavaParser.CHAR, yytext(), yyline, yychar);return true;}
- case -100:
- break;
- case 101:
- {this.token = new Token(JavaParser.ELSE, yytext(), yyline, yychar);return true;}
- case -101:
- break;
- case 102:
- {this.token = new Token(JavaParser.VOID, yytext(), yyline, yychar);return true;}
- case -102:
- break;
- case 103:
- {this.token = new Token(JavaParser.BREAK, yytext(), yyline, yychar);return true;}
- case -103:
- break;
- case 104:
- {this.token = new Token(JavaParser.SUPER, yytext(), yyline, yychar);return true;}
- case -104:
- break;
- case 105:
- {this.token = new Token(JavaParser.THROW, yytext(), yyline, yychar);return true;}
- case -105:
- break;
- case 106:
- {this.token = new Token(JavaParser.CATCH, yytext(), yyline, yychar);return true;}
- case -106:
- break;
- case 107:
- {this.token = new Token(JavaParser.CLASS, yytext(), yyline, yychar);return true;}
- case -107:
- break;
- case 108:
- {this.token = new Token(JavaParser.FINAL, yytext(), yyline, yychar);return true;}
- case -108:
- break;
- case 109:
- {this.token = new Token(JavaParser.WHILE, yytext(), yyline, yychar);return true;}
- case -109:
- break;
- case 110:
- {this.token = new Token(JavaParser.STATIC, yytext(), yyline, yychar);return true;}
- case -110:
- break;
- case 111:
- {this.token = new Token(JavaParser.SWITCH, yytext(), yyline, yychar);return true;}
- case -111:
- break;
- case 112:
- {this.token = new Token(JavaParser.THROWS, yytext(), yyline, yychar);return true;}
- case -112:
- break;
- case 113:
- {this.token = new Token(JavaParser.RETURN, yytext(), yyline, yychar);return true;}
- case -113:
- break;
- case 114:
- {this.token = new Token(JavaParser.IMPORT, yytext(), yyline, yychar);return true;}
- case -114:
- break;
- case 115:
- {this.token = new Token(JavaParser.PUBLIC, yytext(), yyline, yychar);return true;}
- case -115:
- break;
- case 116:
- {this.token = new Token(JavaParser.BOOLEAN, yytext(), yyline, yychar);return true;}
- case -116:
- break;
- case 117:
- {this.token = new Token(JavaParser.EXTENDS, yytext(), yyline, yychar);return true;}
- case -117:
- break;
- case 118:
- {this.token = new Token(JavaParser.DEFAULT, yytext(), yyline, yychar);return true;}
- case -118:
- break;
- case 119:
- {this.token = new Token(JavaParser.FINALLY, yytext(), yyline, yychar);return true;}
- case -119:
- break;
- case 120:
- {this.token = new Token(JavaParser.PACKAGE, yytext(), yyline, yychar);return true;}
- case -120:
- break;
- case 121:
- {this.token = new Token(JavaParser.PRIVATE, yytext(), yyline, yychar);return true;}
- case -121:
- break;
- case 122:
- {this.token = new Token(JavaParser.ABSTRACT, yytext(), yyline, yychar);return true;}
- case -122:
- break;
- case 123:
- {this.token = new Token(JavaParser.CONTINUE, yytext(), yyline, yychar);return true;}
- case -123:
- break;
- case 124:
- {this.token = new Token(JavaParser.INTERFACE, yytext(), yyline, yychar);return true;}
- case -124:
- break;
- case 125:
- {this.token = new Token(JavaParser.PROTECTED, yytext(), yyline, yychar);return true;}
- case -125:
- break;
- case 126:
- {this.token = new Token(JavaParser.INSTANCEOF, yytext(), yyline, yychar);return true;}
- case -126:
- break;
- case 127:
- {this.token = new Token(JavaParser.IMPLEMENTS, yytext(), yyline, yychar);return true;}
- case -127:
- break;
- case 128:
- {}
- case -128:
- break;
- case 129:
- {}
- case -129:
- break;
- case 130:
- {yybegin(YYINITIAL);}
- case -130:
- break;
- case 132:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -131:
- break;
- case 133:
- {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
- case -132:
- break;
- case 134:
- {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
- case -133:
- break;
- case 135:
- {
- this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true;
-}
- case -134:
- break;
- case 136:
- {this.token = new Token(JavaParser.IF, yytext(), yyline, yychar);return true;}
- case -135:
- break;
- case 137:
- {this.token = new Token(JavaParser.DO, yytext(), yyline, yychar);return true;}
- case -136:
- break;
- case 138:
- {yybegin(commentsingleline);}
- case -137:
- break;
- case 139:
- {this.token = new Token(JavaParser.NEW, yytext(), yyline, yychar);return true;}
- case -138:
- break;
- case 140:
- {this.token = new Token(JavaParser.FOR, yytext(), yyline, yychar);return true;}
- case -139:
- break;
- case 141:
- {this.token = new Token(JavaParser.CASE, yytext(), yyline, yychar);return true;}
- case -140:
- break;
- case 142:
- {this.token = new Token(JavaParser.CHAR, yytext(), yyline, yychar);return true;}
- case -141:
- break;
- case 143:
- {this.token = new Token(JavaParser.ELSE, yytext(), yyline, yychar);return true;}
- case -142:
- break;
- case 144:
- {this.token = new Token(JavaParser.VOID, yytext(), yyline, yychar);return true;}
- case -143:
- break;
- case 145:
- {this.token = new Token(JavaParser.BREAK, yytext(), yyline, yychar);return true;}
- case -144:
- break;
- case 146:
- {this.token = new Token(JavaParser.SUPER, yytext(), yyline, yychar);return true;}
- case -145:
- break;
- case 147:
- {this.token = new Token(JavaParser.CLASS, yytext(), yyline, yychar);return true;}
- case -146:
- break;
- case 148:
- {this.token = new Token(JavaParser.FINAL, yytext(), yyline, yychar);return true;}
- case -147:
- break;
- case 149:
- {this.token = new Token(JavaParser.WHILE, yytext(), yyline, yychar);return true;}
- case -148:
- break;
- case 150:
- {this.token = new Token(JavaParser.PUBLIC, yytext(), yyline, yychar);return true;}
- case -149:
- break;
- case 151:
- {this.token = new Token(JavaParser.BOOLEAN, yytext(), yyline, yychar);return true;}
- case -150:
- break;
- case 152:
- {this.token = new Token(JavaParser.FINALLY, yytext(), yyline, yychar);return true;}
- case -151:
- break;
- case 153:
- {this.token = new Token(JavaParser.PACKAGE, yytext(), yyline, yychar);return true;}
- case -152:
- break;
- case 154:
- {}
- case -153:
- break;
- case 155:
- {}
- case -154:
- break;
- case 157:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -155:
- break;
- case 158:
- {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
- case -156:
- break;
- case 159:
- {
- this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true;
-}
- case -157:
- break;
- case 160:
- {}
- case -158:
- break;
- case 161:
- {}
- case -159:
- break;
- case 163:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -160:
- break;
- case 164:
- {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
- case -161:
- break;
- case 165:
- {
- this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true;
-}
- case -162:
- break;
- case 166:
- {}
- case -163:
- break;
- case 167:
- {}
- case -164:
- break;
- case 169:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -165:
- break;
- case 170:
- {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
- case -166:
- break;
- case 171:
- {}
- case -167:
- break;
- case 172:
- {}
- case -168:
- break;
- case 174:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -169:
- break;
- case 175:
- {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
- case -170:
- break;
- case 176:
- {}
- case -171:
- break;
- case 177:
- {}
- case -172:
- break;
- case 179:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -173:
- break;
- case 180:
- {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
- case -174:
- break;
- case 181:
- {}
- case -175:
- break;
- case 182:
- {}
- case -176:
- break;
- case 184:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -177:
- break;
- case 185:
- {}
- case -178:
- break;
- case 186:
- {}
- case -179:
- break;
- case 188:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -180:
- break;
- case 189:
- {}
- case -181:
- break;
- case 190:
- {}
- case -182:
- break;
- case 191:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -183:
- break;
- case 192:
- {}
- case -184:
- break;
- case 193:
- {}
- case -185:
- break;
- case 194:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -186:
- break;
- case 195:
- {}
- case -187:
- break;
- case 196:
- {}
- case -188:
- break;
- case 197:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -189:
- break;
- case 198:
- {}
- case -190:
- break;
- case 199:
- {}
- case -191:
- break;
- case 200:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -192:
- break;
- case 201:
- {}
- case -193:
- break;
- case 202:
- {}
- case -194:
- break;
- case 203:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -195:
- break;
- case 204:
- {}
- case -196:
- break;
- case 205:
- {}
- case -197:
- break;
- case 206:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -198:
- break;
- case 207:
- {}
- case -199:
- break;
- case 208:
- {}
- case -200:
- break;
- case 209:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -201:
- break;
- case 210:
- {}
- case -202:
- break;
- case 211:
- {}
- case -203:
- break;
- case 212:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -204:
- break;
- case 213:
- {}
- case -205:
- break;
- case 214:
- {}
- case -206:
- break;
- case 215:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -207:
- break;
- case 216:
- {}
- case -208:
- break;
- case 217:
- {}
- case -209:
- break;
- case 218:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -210:
- break;
- case 219:
- {}
- case -211:
- break;
- case 220:
- {}
- case -212:
- break;
- case 221:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -213:
- break;
- case 222:
- {}
- case -214:
- break;
- case 223:
- {}
- case -215:
- break;
- case 224:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -216:
- break;
- case 225:
- {}
- case -217:
- break;
- case 226:
- {}
- case -218:
- break;
- case 227:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -219:
- break;
- case 228:
- {}
- case -220:
- break;
- case 229:
- {}
- case -221:
- break;
- case 230:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -222:
- break;
- case 231:
- {}
- case -223:
- break;
- case 232:
- {}
- case -224:
- break;
- case 233:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -225:
- break;
- case 234:
- {}
- case -226:
- break;
- case 235:
- {}
- case -227:
- break;
- case 236:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -228:
- break;
- case 237:
- {}
- case -229:
- break;
- case 238:
- {}
- case -230:
- break;
- case 239:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -231:
- break;
- case 240:
- {}
- case -232:
- break;
- case 241:
- {}
- case -233:
- break;
- case 242:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -234:
- break;
- case 243:
- {}
- case -235:
- break;
- case 244:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -236:
- break;
- case 245:
- {}
- case -237:
- break;
- case 246:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -238:
- break;
- case 247:
- {}
- case -239:
- break;
- case 248:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -240:
- break;
- case 249:
- {}
- case -241:
- break;
- case 250:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -242:
- break;
- case 251:
- {}
- case -243:
- break;
- case 252:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -244:
- break;
- case 253:
- {}
- case -245:
- break;
- case 254:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -246:
- break;
- case 255:
- {}
- case -247:
- break;
- case 256:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -248:
- break;
- case 257:
- {}
- case -249:
- break;
- case 258:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -250:
- break;
- case 259:
- {}
- case -251:
- break;
- case 260:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -252:
- break;
- case 261:
- {}
- case -253:
- break;
- case 262:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -254:
- break;
- case 263:
- {}
- case -255:
- break;
- case 264:
- {}
- case -256:
- break;
- case 265:
- {}
- case -257:
- break;
- case 266:
- {}
- case -258:
- break;
- case 267:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -259:
- break;
- case 268:
- {}
- case -260:
- break;
- case 269:
- {}
- case -261:
- break;
- case 270:
- {}
- case -262:
- break;
- case 271:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -263:
- break;
- case 272:
- {}
- case -264:
- break;
- case 273:
- {}
- case -265:
- break;
- case 274:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -266:
- break;
- case 275:
- {}
- case -267:
- break;
- case 276:
- {}
- case -268:
- break;
- case 277:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -269:
- break;
- case 278:
- {}
- case -270:
- break;
- case 279:
- {}
- case -271:
- break;
- case 280:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -272:
- break;
- case 281:
- {}
- case -273:
- break;
- case 282:
- {}
- case -274:
- break;
- case 283:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -275:
- break;
- case 284:
- {}
- case -276:
- break;
- case 285:
- {}
- case -277:
- break;
- case 286:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -278:
- break;
- case 287:
- {}
- case -279:
- break;
- case 288:
- {}
- case -280:
- break;
- case 289:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -281:
- break;
- case 290:
- {}
- case -282:
- break;
- case 291:
- {}
- case -283:
- break;
- case 292:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -284:
- break;
- case 293:
- {}
- case -285:
- break;
- case 294:
- {}
- case -286:
- break;
- case 295:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -287:
- break;
- case 296:
- {}
- case -288:
- break;
- case 297:
- {}
- case -289:
- break;
- case 298:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -290:
- break;
- case 299:
- {}
- case -291:
- break;
- case 300:
- {}
- case -292:
- break;
- case 301:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -293:
- break;
- case 302:
- {}
- case -294:
- break;
- case 303:
- {}
- case -295:
- break;
- case 304:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -296:
- break;
- case 305:
- {}
- case -297:
- break;
- case 306:
- {}
- case -298:
- break;
- case 307:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -299:
- break;
- case 308:
- {}
- case -300:
- break;
- case 309:
- {}
- case -301:
- break;
- case 310:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -302:
- break;
- case 311:
- {}
- case -303:
- break;
- case 312:
- {}
- case -304:
- break;
- case 313:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -305:
- break;
- case 314:
- {}
- case -306:
- break;
- case 315:
- {}
- case -307:
- break;
- case 316:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -308:
- break;
- case 317:
- {}
- case -309:
- break;
- case 318:
- {}
- case -310:
- break;
- case 319:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -311:
- break;
- case 320:
- {}
- case -312:
- break;
- case 321:
- {}
- case -313:
- break;
- case 322:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -314:
- break;
- case 323:
- {}
- case -315:
- break;
- case 324:
- {}
- case -316:
- break;
- case 325:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -317:
- break;
- case 326:
- {}
- case -318:
- break;
- case 327:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -319:
- break;
- case 328:
- {}
- case -320:
- break;
- case 329:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -321:
- break;
- case 330:
- {}
- case -322:
- break;
- case 331:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -323:
- break;
- case 332:
- {}
- case -324:
- break;
- case 333:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -325:
- break;
- case 334:
- {}
- case -326:
- break;
- case 335:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -327:
- break;
- case 336:
- {}
- case -328:
- break;
- case 337:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -329:
- break;
- case 338:
- {}
- case -330:
- break;
- case 339:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -331:
- break;
- case 340:
- {}
- case -332:
- break;
- case 341:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -333:
- break;
- case 342:
- {}
- case -334:
- break;
- case 343:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -335:
- break;
- case 344:
- {}
- case -336:
- break;
- case 345:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -337:
- break;
- case 346:
- {}
- case -338:
- break;
- case 347:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -339:
- break;
- case 348:
- {}
- case -340:
- break;
- case 349:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -341:
- break;
- case 350:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -342:
- break;
- case 351:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -343:
- break;
- case 352:
- {}
- case -344:
- break;
- case 353:
- {}
- case -345:
- break;
- case 354:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -346:
- break;
- case 355:
- {}
- case -347:
- break;
- case 356:
- {}
- case -348:
- break;
- case 357:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -349:
- break;
- case 358:
- {}
- case -350:
- break;
- case 359:
- {}
- case -351:
- break;
- case 360:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -352:
- break;
- case 361:
- {}
- case -353:
- break;
- case 362:
- {}
- case -354:
- break;
- case 363:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -355:
- break;
- case 364:
- {}
- case -356:
- break;
- case 365:
- {}
- case -357:
- break;
- case 366:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -358:
- break;
- case 367:
- {}
- case -359:
- break;
- case 368:
- {}
- case -360:
- break;
- case 369:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -361:
- break;
- case 370:
- {}
- case -362:
- break;
- case 371:
- {}
- case -363:
- break;
- case 372:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -364:
- break;
- case 373:
- {}
- case -365:
- break;
- case 374:
- {}
- case -366:
- break;
- case 375:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -367:
- break;
- case 376:
- {}
- case -368:
- break;
- case 377:
- {}
- case -369:
- break;
- case 378:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -370:
- break;
- case 379:
- {}
- case -371:
- break;
- case 380:
- {}
- case -372:
- break;
- case 381:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -373:
- break;
- case 382:
- {}
- case -374:
- break;
- case 383:
- {}
- case -375:
- break;
- case 384:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -376:
- break;
- case 385:
- {}
- case -377:
- break;
- case 386:
- {}
- case -378:
- break;
- case 387:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -379:
- break;
- case 388:
- {}
- case -380:
- break;
- case 389:
- {}
- case -381:
- break;
- case 390:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -382:
- break;
- case 391:
- {}
- case -383:
- break;
- case 392:
- {}
- case -384:
- break;
- case 393:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -385:
- break;
- case 394:
- {}
- case -386:
- break;
- case 395:
- {}
- case -387:
- break;
- case 396:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -388:
- break;
- case 397:
- {}
- case -389:
- break;
- case 398:
- {}
- case -390:
- break;
- case 399:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -391:
- break;
- case 400:
- {}
- case -392:
- break;
- case 401:
- {}
- case -393:
- break;
- case 402:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -394:
- break;
- case 403:
- {}
- case -395:
- break;
- case 404:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -396:
- break;
- case 405:
- {}
- case -397:
- break;
- case 406:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -398:
- break;
- case 407:
- {}
- case -399:
- break;
- case 408:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -400:
- break;
- case 409:
- {}
- case -401:
- break;
- case 410:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -402:
- break;
- case 411:
- {}
- case -403:
- break;
- case 412:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -404:
- break;
- case 413:
- {}
- case -405:
- break;
- case 414:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -406:
- break;
- case 415:
- {}
- case -407:
- break;
- case 416:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -408:
- break;
- case 417:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -409:
- break;
- case 418:
- {}
- case -410:
- break;
- case 419:
- {}
- case -411:
- break;
- case 420:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -412:
- break;
- case 421:
- {}
- case -413:
- break;
- case 422:
- {}
- case -414:
- break;
- case 423:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -415:
- break;
- case 424:
- {}
- case -416:
- break;
- case 425:
- {}
- case -417:
- break;
- case 426:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -418:
- break;
- case 427:
- {}
- case -419:
- break;
- case 428:
- {}
- case -420:
- break;
- case 429:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -421:
- break;
- case 430:
- {}
- case -422:
- break;
- case 431:
- {}
- case -423:
- break;
- case 432:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -424:
- break;
- case 433:
- {}
- case -425:
- break;
- case 434:
- {}
- case -426:
- break;
- case 435:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -427:
- break;
- case 436:
- {}
- case -428:
- break;
- case 437:
- {}
- case -429:
- break;
- case 438:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -430:
- break;
- case 439:
- {}
- case -431:
- break;
- case 440:
- {}
- case -432:
- break;
- case 441:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -433:
- break;
- case 442:
- {}
- case -434:
- break;
- case 443:
- {}
- case -435:
- break;
- case 444:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -436:
- break;
- case 445:
- {}
- case -437:
- break;
- case 446:
- {}
- case -438:
- break;
- case 447:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -439:
- break;
- case 448:
- {}
- case -440:
- break;
- case 449:
- {}
- case -441:
- break;
- case 450:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -442:
- break;
- case 451:
- {}
- case -443:
- break;
- case 452:
- {}
- case -444:
- break;
- case 453:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -445:
- break;
- case 454:
- {}
- case -446:
- break;
- case 455:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -447:
- break;
- case 456:
- {}
- case -448:
- break;
- case 457:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -449:
- break;
- case 458:
- {}
- case -450:
- break;
- case 459:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -451:
- break;
- case 460:
- {}
- case -452:
- break;
- case 461:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -453:
- break;
- case 462:
- {}
- case -454:
- break;
- case 463:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -455:
- break;
- case 464:
- {}
- case -456:
- break;
- case 465:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -457:
- break;
- case 466:
- {}
- case -458:
- break;
- case 467:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -459:
- break;
- case 468:
- {}
- case -460:
- break;
- case 469:
- {}
- case -461:
- break;
- case 470:
- {}
- case -462:
- break;
- case 471:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -463:
- break;
- case 472:
- {}
- case -464:
- break;
- case 473:
- {}
- case -465:
- break;
- case 474:
- {}
- case -466:
- break;
- case 475:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -467:
- break;
- case 476:
- {}
- case -468:
- break;
- case 477:
- {}
- case -469:
- break;
- case 478:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -470:
- break;
- case 479:
- {}
- case -471:
- break;
- case 480:
- {}
- case -472:
- break;
- case 481:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -473:
- break;
- case 482:
- {}
- case -474:
- break;
- case 483:
- {}
- case -475:
- break;
- case 484:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -476:
- break;
- case 485:
- {}
- case -477:
- break;
- case 486:
- {}
- case -478:
- break;
- case 487:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -479:
- break;
- case 488:
- {}
- case -480:
- break;
- case 489:
- {}
- case -481:
- break;
- case 490:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -482:
- break;
- case 491:
- {}
- case -483:
- break;
- case 492:
- {}
- case -484:
- break;
- case 493:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -485:
- break;
- case 494:
- {}
- case -486:
- break;
- case 495:
- {}
- case -487:
- break;
- case 496:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -488:
- break;
- case 497:
- {}
- case -489:
- break;
- case 498:
- {}
- case -490:
- break;
- case 499:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -491:
- break;
- case 500:
- {}
- case -492:
- break;
- case 501:
- {}
- case -493:
- break;
- case 502:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -494:
- break;
- case 503:
- {}
- case -495:
- break;
- case 504:
- {}
- case -496:
- break;
- case 505:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -497:
- break;
- case 506:
- {}
- case -498:
- break;
- case 507:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -499:
- break;
- case 508:
- {}
- case -500:
- break;
- case 509:
- {}
- case -501:
- break;
- case 510:
- {}
- case -502:
- break;
- case 511:
- {}
- case -503:
- break;
- case 512:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -504:
- break;
- case 513:
- {}
- case -505:
- break;
- case 514:
- {}
- case -506:
- break;
- case 515:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -507:
- break;
- case 516:
- {}
- case -508:
- break;
- case 517:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -509:
- break;
- case 518:
- {}
- case -510:
- break;
- case 519:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -511:
- break;
- case 520:
- {}
- case -512:
- break;
- case 521:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -513:
- break;
- case 522:
- {}
- case -514:
- break;
- case 523:
- {}
- case -515:
- break;
- case 524:
- {}
- case -516:
- break;
- case 525:
- {}
- case -517:
- break;
- case 526:
- {}
- case -518:
- break;
- case 527:
- {}
- case -519:
- break;
- case 528:
- {}
- case -520:
- break;
- case 529:
- {}
- case -521:
- break;
- case 530:
- {}
- case -522:
- break;
- case 531:
- {}
- case -523:
- break;
- case 532:
- {}
- case -524:
- break;
- case 533:
- {}
- case -525:
- break;
- case 534:
- {}
- case -526:
- break;
- case 535:
- {}
- case -527:
- break;
- case 536:
- {}
- case -528:
- break;
- case 537:
- {}
- case -529:
- break;
- case 538:
- {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
- case -530:
- break;
- case 539:
- {}
- case -531:
- break;
- case 540:
- {}
- case -532:
- break;
- case 541:
- {}
- case -533:
- break;
- case 542:
- {}
- case -534:
- break;
- case 543:
- {}
- case -535:
- break;
- case 544:
- {}
- case -536:
- break;
- case 545:
- {}
- case -537:
- break;
- case 546:
- {}
- case -538:
- break;
- case 547:
- {}
- case -539:
- break;
- case 548:
- {}
- case -540:
- break;
- default:
- yy_error(YY_E_INTERNAL,false);
- case -1:
- }
- yy_initial = true;
- yy_state = yy_state_dtrans[yy_lexical_state];
- yy_next_state = YY_NO_STATE;
- yy_last_accept_state = YY_NO_STATE;
- yy_mark_start();
- yy_this_accept = yy_acpt[yy_state];
- if (YY_NOT_ACCEPT != yy_this_accept) {
- yy_last_accept_state = yy_state;
- yy_mark_end();
- }
- }
- }
- }
- }
-}
diff --git a/src/de/dhbwstuttgart/parser/JavaLexer.lex b/src/de/dhbwstuttgart/parser/JavaLexer.lex
deleted file mode 100755
index 9100d64c..00000000
--- a/src/de/dhbwstuttgart/parser/JavaLexer.lex
+++ /dev/null
@@ -1,174 +0,0 @@
-/********************************************
- * file: JavaLexer.lex *
- * *
- * enth�lt die JLex-Spezifikation f�r die *
- * Generierung des lexical analyzers *
- * *
- ********************************************/
-
-// user code:
-package de.dhbwstuttgart.parser;
-
-import de.dhbwstuttgart.logger.Section;
-%%
-
-%char
-%line
-
-%{
- Token token;
-%}
-
-%public
-%class JavaLexer
-%type boolean
-%eofval{
- return false;
-%eofval}
-
-ws = [ \t\r\n\b\015]+
-%state commentblock
-%state commentsingleline
-%%
-
-abstract {this.token = new Token(JavaParser.ABSTRACT, yytext(), yyline, yychar);return true;}
-boolean {this.token = new Token(JavaParser.BOOLEAN, yytext(), yyline, yychar);return true;}
-break {this.token = new Token(JavaParser.BREAK, yytext(), yyline, yychar);return true;}
-case {this.token = new Token(JavaParser.CASE, yytext(), yyline, yychar);return true;}
-catch {this.token = new Token(JavaParser.CATCH, yytext(), yyline, yychar);return true;}
-char {this.token = new Token(JavaParser.CHAR, yytext(), yyline, yychar);return true;}
-class {this.token = new Token(JavaParser.CLASS, yytext(), yyline, yychar);return true;}
-continue {this.token = new Token(JavaParser.CONTINUE, yytext(), yyline, yychar);return true;}
-default {this.token = new Token(JavaParser.DEFAULT, yytext(), yyline, yychar);return true;}
-do {this.token = new Token(JavaParser.DO, yytext(), yyline, yychar);return true;}
-else {this.token = new Token(JavaParser.ELSE, yytext(), yyline, yychar);return true;}
-extends {this.token = new Token(JavaParser.EXTENDS, yytext(), yyline, yychar);return true;}
-final {this.token = new Token(JavaParser.FINAL, yytext(), yyline, yychar);return true;}
-finally {this.token = new Token(JavaParser.FINALLY, yytext(), yyline, yychar);return true;}
-for {this.token = new Token(JavaParser.FOR, yytext(), yyline, yychar);return true;}
-if {this.token = new Token(JavaParser.IF, yytext(), yyline, yychar);return true;}
-instanceof {this.token = new Token(JavaParser.INSTANCEOF, yytext(), yyline, yychar);return true;}
-interface {this.token = new Token(JavaParser.INTERFACE, yytext(), yyline, yychar);return true;}
-int {this.token = new Token(JavaParser.INT, yytext(), yyline, yychar);return true;}
-implements {this.token = new Token(JavaParser.IMPLEMENTS, yytext(), yyline, yychar);return true;}
-new {this.token = new Token(JavaParser.NEW, yytext(), yyline, yychar);return true;}
-package {this.token = new Token(JavaParser.PACKAGE, yytext(), yyline, yychar);return true;}
-import {this.token = new Token(JavaParser.IMPORT, yytext(), yyline, yychar);return true;}
-private {this.token = new Token(JavaParser.PRIVATE, yytext(), yyline, yychar);return true;}
-protected {this.token = new Token(JavaParser.PROTECTED, yytext(), yyline, yychar);return true;}
-public {this.token = new Token(JavaParser.PUBLIC, yytext(), yyline, yychar);return true;}
-return {this.token = new Token(JavaParser.RETURN, yytext(), yyline, yychar);return true;}
-static {this.token = new Token(JavaParser.STATIC, yytext(), yyline, yychar);return true;}
-super {this.token = new Token(JavaParser.SUPER, yytext(), yyline, yychar);return true;}
-switch {this.token = new Token(JavaParser.SWITCH, yytext(), yyline, yychar);return true;}
-this {this.token = new Token(JavaParser.THIS, yytext(), yyline,yychar);return true;}
-throw {this.token = new Token(JavaParser.THROW, yytext(), yyline, yychar);return true;}
-throws {this.token = new Token(JavaParser.THROWS, yytext(), yyline, yychar);return true;}
-try {this.token = new Token(JavaParser.TRY, yytext(), yyline, yychar);return true;}
-void {this.token = new Token(JavaParser.VOID, yytext(), yyline, yychar);return true;}
-while {this.token = new Token(JavaParser.WHILE, yytext(), yyline, yychar);return true;}
-
-"//" {yybegin(commentsingleline);}
-"/*" {yybegin(commentblock);}
- "*/" {yybegin(YYINITIAL);}
- [^\*]* {}
- "*" {}
- [\t\r\n\b\015]+ {yybegin(YYINITIAL);}
- [^\\t\r\n\b\015]+ {}
-
-[1-9][0-9]*[L]? {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
-0[xX][0-9a-fA-F]+[L]? {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
-0[0-7]*[L]? {
- String lexem = yytext();
- if(lexem.endsWith("L"))
- {
- lexem = lexem.substring(0, lexem.length() - 1);
- this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true;
- }
- else
- {
- this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true;
- }
-}
-[1-9][0-9]*[.]?[0-9]*[f] {
- this.token = new Token(JavaParser.FLOATLITERAL, yytext(), yyline, yychar);return true;
-}
-
-[1-9][0-9]*[.][0-9]* {
- this.token = new Token(JavaParser.DOUBLELITERAL, yytext(), yyline, yychar);return true;
-}
-
-true|false {
- this.token = new Token(JavaParser.BOOLLITERAL, yytext(), yyline, yychar);return true;
-}
-null {
- this.token = new Token(JavaParser.JNULL, yytext(), yyline, yychar);return true;
-}
-\'[a-zA-Z0-9!@#$%\&*\(\),\<.\>/\?;:]\' {
- this.token = new Token(JavaParser.CHARLITERAL, yytext(), yyline, yychar);return true;
-}
-\"[a-zA-Z0-9!@#$%^&*\(\),\<.\>/\?;:\ ]*\" {
- this.token = new Token(JavaParser.STRINGLITERAL, yytext(), yyline, yychar);return true;
-}
-[a-zA-Z$_][a-zA-Z0-9$_]* {
- this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true;
-}
-[()\{\}\[\];,.] {
- this.token = new Token(JavaParser.BRACE,yytext().charAt(0), yyline, yychar);return true;
-}
-[=>=" {this.token = new Token(JavaParser.GREATEREQUAL, yytext(), yyline, yychar);return true;}
-"!=" {this.token = new Token(JavaParser.NOTEQUAL, yytext(), yyline, yychar);return true;}
-"||" {this.token = new Token(JavaParser.LOGICALOR, yytext(), yyline, yychar);return true;}
-"&&" {this.token = new Token(JavaParser.LOGICALAND, yytext(), yyline, yychar);return true;}
-"++" {this.token = new Token(JavaParser.INCREMENT, yytext(), yyline, yychar);return true;}
-"--" {this.token = new Token(JavaParser.DECREMENT, yytext(), yyline, yychar);return true;}
-
-[+\-*/&|^%] {
- this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true;
-}
-//"<<" {this.token = new Token(JavaParser.SHIFTLEFT, yytext(), yyline, yychar);return true;}
-//">>" {this.token = new Token(JavaParser.SHIFTRIGHT, yytext(), yyline, yychar);return true;}
-//">>>" {this.token = new Token(JavaParser.UNSIGNEDSHIFTRIGHT, yytext(), yyline, yychar);return true;}
-"+=" {this.token = new Token(JavaParser.PLUSEQUAL, yytext(), yyline, yychar);return true;}
-"-=" {this.token = new Token(JavaParser.MINUSEQUAL, yytext(), yyline, yychar);return true;}
-"*=" {this.token = new Token(JavaParser.TIMESEQUAL, yytext(), yyline, yychar);return true;}
-"/=" {this.token = new Token(JavaParser.DIVIDEEQUAL, yytext(), yyline, yychar);return true;}
-"&=" {this.token = new Token(JavaParser.ANDEQUAL, yytext(), yyline, yychar);return true;}
-"|=" {this.token = new Token(JavaParser.OREQUAL, yytext(), yyline, yychar);return true;}
-"^=" {this.token = new Token(JavaParser.XOREQUAL, yytext(), yyline, yychar);return true;}
-"%=" {this.token = new Token(JavaParser.MODULOEQUAL, yytext(), yyline, yychar);return true;}
-//"<<=" {this.token = new Token(JavaParser.SHIFTLEFTEQUAL, yytext(), yyline, yychar);return true;}
-//">>=" {this.token = new Token(JavaParser.SIGNEDSHIFTRIGHTEQUAL, yytext(), yyline, yychar);return true;}
-//">>>=" {this.token = new Token(JavaParser.UNSIGNEDSHIFTRIGHTEQUAL, yytext(), yyline, yychar);return true;}
-{ws}|\n { /* System.out.print(yytext()); */ }
-\\.\n {de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("Kommentar: "+yytext(), Section.PARSER);}
-"->" {this.token = new Token(JavaParser.LAMBDAASSIGNMENT, yytext(), yyline, yychar);return true;}
-
-
diff --git a/src/de/dhbwstuttgart/parser/JavaParser.java b/src/de/dhbwstuttgart/parser/JavaParser.java
deleted file mode 100644
index 62c73036..00000000
--- a/src/de/dhbwstuttgart/parser/JavaParser.java
+++ /dev/null
@@ -1,3940 +0,0 @@
-// created by jay 0.7 (c) 1998 Axel.Schreiner@informatik.uni-osnabrueck.de
-
- // line 2 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
-
-/*
-Backup von JavaParser.jay 10.April 17 Uhr
-*/
-
-package de.dhbwstuttgart.parser;
-
-import de.dhbwstuttgart.core.AClassOrInterface;
-import de.dhbwstuttgart.syntaxtree.Class;
-import de.dhbwstuttgart.logger.Section;
-import de.dhbwstuttgart.syntaxtree.ImportDeclarations;
-import de.dhbwstuttgart.syntaxtree.Interface;
-import de.dhbwstuttgart.syntaxtree.SourceFile;
-import de.dhbwstuttgart.syntaxtree.misc.UsedId;
-import de.dhbwstuttgart.typeinference.Pair;
-import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.Void;
-import de.dhbwstuttgart.*;
-import de.dhbwstuttgart.syntaxtree.*;
-import de.dhbwstuttgart.syntaxtree.misc.*;
-import de.dhbwstuttgart.syntaxtree.modifier.*;
-import de.dhbwstuttgart.syntaxtree.operator.*;
-import de.dhbwstuttgart.syntaxtree.type.*;
-import de.dhbwstuttgart.syntaxtree.statement.*;
-import de.dhbwstuttgart.typeinference.Menge;
-
-public class JavaParser{
-public Menge path = new Menge();
-
-//PL 05-07-30 eingefuegt. ANFANG
-private Menge containedTypes = new Menge();
-private Menge usedIdsToCheck = new Menge();
- //Vektor aller Typdeklarationen die in aktueller Klasse vorkommen.
- //wird nach Beendigung der Klasse des Attributs der jeweiligen
- //Klasse zugeordnet
- //nach dem Parsen wird mit wandleGeneric2RefType die
- //die RefTypes gesetzt.
-void initContainedTypes() {
- this.containedTypes = new Menge();
-}
-void initUsedIdsToCheck() {
- this.usedIdsToCheck = new Menge();
-}
-//PL 05-07-30 eingefuegt. ENDE
-
-//LUAR 07-05-29 Anfang f�r Wildcard Test
-public Menge testPair = new Menge();
-//LUAR 07-05-29 Ende
- // line 53 "-"
-// %token constants
- //{ //ergaenzt PL 23.01.01 wieder entfernt 21.12.01
- public static final int ABSTRACT = 257;
- public static final int BOOLEAN = 258;
- public static final int BREAK = 259;
- public static final int CASE = 260;
- public static final int CATCH = 261;
- public static final int CHAR = 262;
- public static final int CLASS = 263;
- public static final int CONTINUE = 264;
- public static final int DEFAULT = 265;
- public static final int DO = 266;
- public static final int ELSE = 267;
- public static final int EXTENDS = 268;
- public static final int FINAL = 269;
- public static final int FINALLY = 270;
- public static final int FOR = 271;
- public static final int IF = 272;
- public static final int INSTANCEOF = 273;
- public static final int INT = 274;
- public static final int NEW = 275;
- public static final int PRIVATE = 276;
- public static final int PROTECTED = 277;
- public static final int PUBLIC = 278;
- public static final int PACKAGE = 279;
- public static final int IMPORT = 280;
- public static final int INTERFACE = 281;
- public static final int IMPLEMENTS = 282;
- public static final int RETURN = 283;
- public static final int STATIC = 284;
- public static final int SUPER = 285;
- public static final int SWITCH = 286;
- public static final int THIS = 287;
- public static final int THROW = 288;
- public static final int THROWS = 289;
- public static final int TRY = 290;
- public static final int VOID = 291;
- public static final int WHILE = 292;
- public static final int INTLITERAL = 293;
- public static final int LONGLITERAL = 294;
- public static final int DOUBLELITERAL = 295;
- public static final int FLOATLITERAL = 296;
- public static final int BOOLLITERAL = 297;
- public static final int JNULL = 298;
- public static final int CHARLITERAL = 299;
- public static final int STRINGLITERAL = 300;
- public static final int IDENTIFIER = 301;
- public static final int EQUAL = 302;
- public static final int LESSEQUAL = 303;
- public static final int GREATEREQUAL = 304;
- public static final int NOTEQUAL = 305;
- public static final int LOGICALOR = 306;
- public static final int LOGICALAND = 307;
- public static final int INCREMENT = 308;
- public static final int DECREMENT = 309;
- public static final int SHIFTLEFT = 310;
- public static final int SHIFTRIGHT = 311;
- public static final int UNSIGNEDSHIFTRIGHT = 312;
- public static final int SIGNEDSHIFTRIGHT = 313;
- public static final int PLUSEQUAL = 314;
- public static final int MINUSEQUAL = 315;
- public static final int TIMESEQUAL = 316;
- public static final int DIVIDEEQUAL = 317;
- public static final int ANDEQUAL = 318;
- public static final int OREQUAL = 319;
- public static final int XOREQUAL = 320;
- public static final int MODULOEQUAL = 321;
- public static final int SHIFTLEFTEQUAL = 322;
- public static final int SIGNEDSHIFTRIGHTEQUAL = 323;
- public static final int UNSIGNEDSHIFTRIGHTEQUAL = 324;
- public static final int BRACE = 325;
- public static final int RELOP = 326;
- public static final int OP = 327;
- public static final int EOF = 328;
- public static final int LAMBDAASSIGNMENT = 329;
- public static final int ENDOFGENERICVARDECLARATION = 330;
- public static final int yyErrorCode = 256;
-
- /** thrown for irrecoverable syntax errors and stack overflow.
- */
- public static class yyException extends java.lang.Exception {
- public Token token;
- public yyException (String message, Token token) {
- super(message);
- this.token=token;
- }
- }
-
- /** must be implemented by a scanner object to supply input to the parser.
- */
- public interface yyInput {
- /** move on to next token.
- @return false if positioned beyond tokens.
- @throws IOException on input error.
- */
- boolean advance () throws java.io.IOException;
- /** classifies current token.
- Should not be called if advance() returned false.
- @return current %token or single character.
- */
- int token ();
- /** associated with current token.
- Should not be called if advance() returned false.
- @return value for token().
- */
- Object value ();
- }
-
- /** simplified error message.
- @see yyerror
- */
- public void yyerror (String message) {
- yyerror(message, null);
- }
-
- /** (syntax) error message.
- Can be overwritten to control message format.
- @param message text to be displayed.
- @param expected Menge of acceptable tokens, if available.
- */
- public String yyerror (String message, String[] expected) {
- if (expected != null && expected.length > 0) {
- System.err.print(message+", expecting");
- message+=", expecting";
- for (int n = 0; n < expected.length; ++ n){
- System.err.print(" "+expected[n]);
- message+=" "+expected[n];}
- System.err.println();
- return message;
- } else{
- System.err.println(message);
- return message;}
- }
-
- /** debugging support, requires the package jay.yydebug.
- Set to null to suppress debugging messages.
- */
-//t protected jay.yydebug.yyDebug yydebug;
-
- protected static final int yyFinal = 12;
-//t public static final String yyRule [] = {
-//t "$accept : compilationunit",
-//t "compilationunit : typedeclarations",
-//t "compilationunit : importdeclarations typedeclarations",
-//t "compilationunit : packagedeclaration importdeclarations typedeclarations",
-//t "compilationunit : packagedeclaration typedeclarations",
-//t "compilationunit : type type compilationunit",
-//t "packagedeclaration : PACKAGE name ';'",
-//t "importdeclarations : importdeclaration",
-//t "importdeclarations : importdeclarations importdeclaration",
-//t "importdeclaration : IMPORT importqualifiedname ';'",
-//t "typedeclarations : typedeclaration",
-//t "typedeclarations : typedeclarations typedeclaration",
-//t "name : qualifiedname",
-//t "name : simplename",
-//t "typedeclaration : classdeclaration",
-//t "typedeclaration : interfacedeclaration",
-//t "qualifiedname : name '.' IDENTIFIER",
-//t "importqualifiedname : name '.' IDENTIFIER",
-//t "importqualifiedname : name '.' '*'",
-//t "simplename : IDENTIFIER",
-//t "classdeclaration : CLASS classidentifier classbody",
-//t "classdeclaration : modifiers CLASS classidentifier classbody",
-//t "classdeclaration : CLASS classidentifier super classbody",
-//t "classdeclaration : modifiers CLASS classidentifier super classbody",
-//t "classdeclaration : CLASS classidentifier interfaces classbody",
-//t "classdeclaration : modifiers CLASS classidentifier interfaces classbody",
-//t "classdeclaration : CLASS classidentifier super interfaces classbody",
-//t "classdeclaration : modifiers CLASS classidentifier super interfaces classbody",
-//t "interfaceidentifier : IDENTIFIER",
-//t "interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>'",
-//t "classidentifier : IDENTIFIER",
-//t "classidentifier : IDENTIFIER '<' boundedClassParameters '>'",
-//t "interfacedeclaration : INTERFACE interfaceidentifier interfacebody",
-//t "interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody",
-//t "interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody",
-//t "interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody",
-//t "paralist : IDENTIFIER",
-//t "paralist : IDENTIFIER '<' paralist '>'",
-//t "paralist : wildcardparameter",
-//t "paralist : paralist ',' IDENTIFIER",
-//t "paralist : paralist ',' IDENTIFIER '<' paralist '>'",
-//t "paralist : paralist ',' wildcardparameter",
-//t "wildcardparameter : '?'",
-//t "wildcardparameter : '?' EXTENDS referencetype",
-//t "wildcardparameter : '?' SUPER referencetype",
-//t "classbody : '{' '}'",
-//t "classbody : '{' classbodydeclarations '}'",
-//t "modifiers : modifier",
-//t "modifiers : modifiers modifier",
-//t "super : EXTENDS classtype",
-//t "interfaces : IMPLEMENTS interfacetype",
-//t "interfaces : interfaces ',' interfacetype",
-//t "interfacebody : '{' '}'",
-//t "interfacebody : '{' interfacememberdeclarations '}'",
-//t "extendsinterfaces : EXTENDS interfacetype",
-//t "extendsinterfaces : extendsinterfaces ',' interfacetype",
-//t "classbodydeclarations : classbodydeclaration",
-//t "classbodydeclarations : classbodydeclarations classbodydeclaration",
-//t "modifier : PUBLIC",
-//t "modifier : PROTECTED",
-//t "modifier : PRIVATE",
-//t "modifier : STATIC",
-//t "modifier : ABSTRACT",
-//t "modifier : FINAL",
-//t "classtype : classorinterfacetype",
-//t "interfacememberdeclarations : interfacememberdeclaration",
-//t "interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration",
-//t "interfacetype : classorinterfacetype",
-//t "classbodydeclaration : classmemberdeclaration",
-//t "classbodydeclaration : staticinitializer",
-//t "classbodydeclaration : constructordeclaration",
-//t "classorinterfacetype : name parameter",
-//t "typelist : type",
-//t "typelist : typelist ',' type",
-//t "typelist : typelist ',' wildcardparameter",
-//t "typelist : wildcardparameter",
-//t "parameter :",
-//t "parameter : '<' typelist '>'",
-//t "interfacememberdeclaration : constantdeclaration",
-//t "interfacememberdeclaration : abstractmethoddeclaration",
-//t "classmemberdeclaration : fielddeclaration",
-//t "classmemberdeclaration : methoddeclaration",
-//t "staticinitializer : STATIC block",
-//t "constructordeclaration : constructordeclarator constructorbody",
-//t "constructordeclaration : modifiers constructordeclarator constructorbody",
-//t "constantdeclaration : modifiers type IDENTIFIER '=' expression ';'",
-//t "abstractmethoddeclaration : methodheader ';'",
-//t "fielddeclarator : variabledeclarator '=' expression",
-//t "fielddeclarator : variabledeclarator",
-//t "genericdeclarationlist : '<' boundedMethodParameters '>'",
-//t "fielddeclaration : type fielddeclarator ';'",
-//t "fielddeclaration : fielddeclarator ';'",
-//t "fielddeclaration : genericdeclarationlist type fielddeclarator ';'",
-//t "fielddeclaration : variabledeclarators ';'",
-//t "fielddeclaration : type variabledeclarators ';'",
-//t "fielddeclaration : modifiers type variabledeclarators ';'",
-//t "methoddeclaration : methodheader methodbody",
-//t "block : '{' '}'",
-//t "block : '{' blockstatements '}'",
-//t "constructordeclarator : simplename '(' ')'",
-//t "constructordeclarator : simplename '(' formalparameterlist ')'",
-//t "constructorbody : '{' '}'",
-//t "constructorbody : '{' explicitconstructorinvocation '}'",
-//t "constructorbody : '{' blockstatements '}'",
-//t "constructorbody : '{' explicitconstructorinvocation blockstatements '}'",
-//t "throws : THROWS classtypelist",
-//t "boundedClassParameter : boundedMethodParameter",
-//t "boundedClassParameters : boundedClassParameter",
-//t "boundedClassParameters : boundedClassParameters ',' boundedClassParameter",
-//t "boundedMethodParameter : IDENTIFIER",
-//t "boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist",
-//t "boundedclassidentifierlist : referencetype",
-//t "boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype",
-//t "boundedMethodParameters : boundedMethodParameter",
-//t "boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter",
-//t "methodheader : genericdeclarationlist type methoddeclarator",
-//t "methodheader : type methoddeclarator",
-//t "methodheader : modifiers type methoddeclarator",
-//t "methodheader : modifiers genericdeclarationlist type methoddeclarator",
-//t "methodheader : type methoddeclarator throws",
-//t "methodheader : genericdeclarationlist type methoddeclarator throws",
-//t "methodheader : modifiers type methoddeclarator throws",
-//t "methodheader : modifiers genericdeclarationlist type methoddeclarator throws",
-//t "methodheader : VOID methoddeclarator",
-//t "methodheader : modifiers VOID methoddeclarator",
-//t "methodheader : VOID methoddeclarator throws",
-//t "methodheader : modifiers VOID methoddeclarator throws",
-//t "methodheader : genericdeclarationlist VOID methoddeclarator",
-//t "methodheader : modifiers genericdeclarationlist VOID methoddeclarator",
-//t "methodheader : genericdeclarationlist VOID methoddeclarator throws",
-//t "methodheader : modifiers genericdeclarationlist VOID methoddeclarator throws",
-//t "methodheader : methoddeclarator",
-//t "methodheader : genericdeclarationlist methoddeclarator",
-//t "methodheader : modifiers methoddeclarator",
-//t "methodheader : methoddeclarator throws",
-//t "methodheader : modifiers methoddeclarator throws",
-//t "type : referencetype",
-//t "type : referencetype '[' ']'",
-//t "variabledeclarators : variabledeclarator",
-//t "variabledeclarators : variabledeclarators ',' variabledeclarator",
-//t "methodbody : block",
-//t "blockstatements : blockstatement",
-//t "blockstatements : blockstatements blockstatement",
-//t "formalparameterlist : formalparameter",
-//t "formalparameterlist : formalparameterlist ',' formalparameter",
-//t "explicitconstructorinvocation : THIS '(' ')' ';'",
-//t "explicitconstructorinvocation : THIS '(' argumentlist ')' ';'",
-//t "explicitconstructorinvocation : SUPER '(' ')' ';'",
-//t "explicitconstructorinvocation : SUPER '(' argumentlist ')' ';'",
-//t "classtypelist : classtype",
-//t "classtypelist : classtypelist ',' classtype",
-//t "methoddeclarator : IDENTIFIER '(' ')'",
-//t "methoddeclarator : IDENTIFIER '(' formalparameterlist ')'",
-//t "referencetype : classorinterfacetype",
-//t "variabledeclarator : variabledeclaratorid",
-//t "blockstatement : localvariabledeclarationstatement",
-//t "blockstatement : statement",
-//t "formalparameter : type variabledeclaratorid",
-//t "formalparameter : variabledeclaratorid",
-//t "argumentlist : expression",
-//t "argumentlist : argumentlist ',' expression",
-//t "variabledeclaratorid : IDENTIFIER",
-//t "variableinitializer : expression",
-//t "localvariabledeclarationstatement : localvariabledeclaration ';'",
-//t "statement : statementwithouttrailingsubstatement",
-//t "statement : ifthenstatement",
-//t "statement : ifthenelsestatement",
-//t "statement : whilestatement",
-//t "statement : forstatement",
-//t "statement : explicitconstructorinvocation",
-//t "expression : assignmentexpression",
-//t "expression : classinstancecreationexpression",
-//t "localvariabledeclaration : type variabledeclarators",
-//t "localvariabledeclaration : variabledeclarators",
-//t "statementwithouttrailingsubstatement : block",
-//t "statementwithouttrailingsubstatement : emptystatement",
-//t "statementwithouttrailingsubstatement : expressionstatement",
-//t "statementwithouttrailingsubstatement : returnstatement",
-//t "ifthenstatement : IF '(' expression ')' statement",
-//t "ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement",
-//t "whilestatement : WHILE '(' expression ')' statement",
-//t "forstatement : FOR '(' expression ';' expression ';' expression ')' statement",
-//t "forstatement : FOR '(' expression ';' expression ';' ')' statement",
-//t "forstatement : FOR '(' expression ';' ';' expression ')' statement",
-//t "forstatement : FOR '(' ';' expression ';' expression ')' statement",
-//t "forstatement : FOR '(' expression ';' ';' ')' statement",
-//t "forstatement : FOR '(' ';' expression ';' ')' statement",
-//t "forstatement : FOR '(' ';' ';' expression ')' statement",
-//t "forstatement : FOR '(' ';' ';' ')' statement",
-//t "assignmentexpression : conditionalexpression",
-//t "assignmentexpression : assignment",
-//t "emptystatement : ';'",
-//t "expressionstatement : statementexpression ';'",
-//t "returnstatement : RETURN ';'",
-//t "returnstatement : RETURN expression ';'",
-//t "statementnoshortif : statementwithouttrailingsubstatement",
-//t "statementnoshortif : ifthenelsestatementnoshortif",
-//t "statementnoshortif : whilestatementnoshortif",
-//t "conditionalexpression : conditionalorexpression",
-//t "assignment : lefthandside assignmentoperator assignmentexpression",
-//t "assignment : lefthandside assignmentoperator classinstancecreationexpression",
-//t "statementexpression : assignment",
-//t "statementexpression : preincrementexpression",
-//t "statementexpression : predecrementexpression",
-//t "statementexpression : postincrementexpression",
-//t "statementexpression : postdecrementexpression",
-//t "statementexpression : methodinvocation",
-//t "ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif",
-//t "whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif",
-//t "conditionalorexpression : conditionalandexpression",
-//t "conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression",
-//t "lambdaassignmentoperator : LAMBDAASSIGNMENT",
-//t "lambdabody : block",
-//t "lambdabody : expression",
-//t "lambdaexpressionparameter : '(' ')'",
-//t "lambdaexpressionparameter : '(' formalparameterlist ')'",
-//t "lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody",
-//t "lefthandside : name",
-//t "assignmentoperator : '='",
-//t "assignmentoperator : TIMESEQUAL",
-//t "assignmentoperator : DIVIDEEQUAL",
-//t "assignmentoperator : MODULOEQUAL",
-//t "assignmentoperator : PLUSEQUAL",
-//t "assignmentoperator : MINUSEQUAL",
-//t "preincrementexpression : INCREMENT unaryexpression",
-//t "predecrementexpression : DECREMENT unaryexpression",
-//t "postincrementexpression : postfixexpression INCREMENT",
-//t "postdecrementexpression : postfixexpression DECREMENT",
-//t "methodinvocation : name '(' ')'",
-//t "methodinvocation : name '(' argumentlist ')'",
-//t "methodinvocation : primary '.' IDENTIFIER '(' ')'",
-//t "methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')'",
-//t "classinstancecreationexpression : NEW classtype '(' ')'",
-//t "classinstancecreationexpression : NEW classtype '(' argumentlist ')'",
-//t "conditionalandexpression : inclusiveorexpression",
-//t "conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression",
-//t "unaryexpression : preincrementexpression",
-//t "unaryexpression : predecrementexpression",
-//t "unaryexpression : '+' unaryexpression",
-//t "unaryexpression : '-' unaryexpression",
-//t "unaryexpression : unaryexpressionnotplusminus",
-//t "postfixexpression : primary",
-//t "postfixexpression : name",
-//t "postfixexpression : postincrementexpression",
-//t "postfixexpression : postdecrementexpression",
-//t "primary : primarynonewarray",
-//t "inclusiveorexpression : exclusiveorexpression",
-//t "inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression",
-//t "primarynonewarray : literal",
-//t "primarynonewarray : THIS",
-//t "primarynonewarray : methodinvocation",
-//t "primarynonewarray : lambdaexpression",
-//t "unaryexpressionnotplusminus : postfixexpression",
-//t "unaryexpressionnotplusminus : '!' unaryexpression",
-//t "exclusiveorexpression : andexpression",
-//t "exclusiveorexpression : exclusiveorexpression '^' andexpression",
-//t "literal : INTLITERAL",
-//t "literal : BOOLLITERAL",
-//t "literal : CHARLITERAL",
-//t "literal : STRINGLITERAL",
-//t "literal : LONGLITERAL",
-//t "literal : FLOATLITERAL",
-//t "literal : DOUBLELITERAL",
-//t "literal : JNULL",
-//t "andexpression : equalityexpression",
-//t "andexpression : andexpression '&' equalityexpression",
-//t "equalityexpression : relationalexpression",
-//t "equalityexpression : equalityexpression EQUAL relationalexpression",
-//t "equalityexpression : equalityexpression NOTEQUAL relationalexpression",
-//t "relationalexpression : shiftexpression",
-//t "relationalexpression : relationalexpression '<' shiftexpression",
-//t "relationalexpression : relationalexpression '>' shiftexpression",
-//t "relationalexpression : relationalexpression LESSEQUAL shiftexpression",
-//t "relationalexpression : relationalexpression GREATEREQUAL shiftexpression",
-//t "relationalexpression : relationalexpression INSTANCEOF referencetype",
-//t "shiftexpression : additiveexpression",
-//t "additiveexpression : multiplicativeexpression",
-//t "additiveexpression : additiveexpression '+' multiplicativeexpression",
-//t "additiveexpression : additiveexpression '-' multiplicativeexpression",
-//t "multiplicativeexpression : unaryexpression",
-//t "multiplicativeexpression : multiplicativeexpression '*' unaryexpression",
-//t "multiplicativeexpression : multiplicativeexpression '/' unaryexpression",
-//t "multiplicativeexpression : multiplicativeexpression '%' unaryexpression",
-//t };
- protected static final String yyName [] = {
- "end-of-file",null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,"'!'",null,null,null,"'%'","'&'",
- null,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",null,null,null,
- null,null,null,null,null,null,null,null,"';'","'<'","'='","'>'","'?'",
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,
- "'['",null,"']'","'^'",null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,"'{'","'|'","'}'",null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- null,null,null,null,null,null,null,null,null,null,null,null,null,null,
- "ABSTRACT","BOOLEAN","BREAK","CASE","CATCH","CHAR","CLASS","CONTINUE",
- "DEFAULT","DO","ELSE","EXTENDS","FINAL","FINALLY","FOR","IF",
- "INSTANCEOF","INT","NEW","PRIVATE","PROTECTED","PUBLIC","PACKAGE",
- "IMPORT","INTERFACE","IMPLEMENTS","RETURN","STATIC","SUPER","SWITCH",
- "THIS","THROW","THROWS","TRY","VOID","WHILE","INTLITERAL",
- "LONGLITERAL","DOUBLELITERAL","FLOATLITERAL","BOOLLITERAL","JNULL",
- "CHARLITERAL","STRINGLITERAL","IDENTIFIER","EQUAL","LESSEQUAL",
- "GREATEREQUAL","NOTEQUAL","LOGICALOR","LOGICALAND","INCREMENT",
- "DECREMENT","SHIFTLEFT","SHIFTRIGHT","UNSIGNEDSHIFTRIGHT",
- "SIGNEDSHIFTRIGHT","PLUSEQUAL","MINUSEQUAL","TIMESEQUAL",
- "DIVIDEEQUAL","ANDEQUAL","OREQUAL","XOREQUAL","MODULOEQUAL",
- "SHIFTLEFTEQUAL","SIGNEDSHIFTRIGHTEQUAL","UNSIGNEDSHIFTRIGHTEQUAL",
- "BRACE","RELOP","OP","EOF","LAMBDAASSIGNMENT",
- "ENDOFGENERICVARDECLARATION",
- };
-
- /** index-checked interface to yyName[].
- @param token single character or %token value.
- @return token name or [illegal] or [unknown].
- */
-//t public static final String yyname (int token) {
-//t if (token < 0 || token > yyName.length) return "[illegal]";
-//t String name;
-//t if ((name = yyName[token]) != null) return name;
-//t return "[unknown]";
-//t }
-
- /** computes list of expected tokens on error by tracing the tables.
- @param state for which to compute the list.
- @return list of token names.
- */
- protected String[] yyExpecting (int state) {
- // yyCheck durch yyCheckInit.yyCheck; ersetzt PL 25.1.01
- int token, n, len = 0;
- boolean[] ok = new boolean[yyName.length];
-
- if ((n = yySindex[state]) != 0)
- for (token = n < 0 ? -n : 0;
- token < yyName.length && n+token < yyTable.length; ++ token)
- if (yyCheckInit.yyCheck[n+token] == token && !ok[token] && yyName[token] != null) {
- ++ len;
- ok[token] = true;
- }
- if ((n = yyRindex[state]) != 0)
- for (token = n < 0 ? -n : 0;
- token < yyName.length && n+token < yyTable.length; ++ token)
- if (yyCheckInit.yyCheck[n+token] == token && !ok[token] && yyName[token] != null) {
- ++ len;
- ok[token] = true;
- }
-
- String result[] = new String[len];
- for (n = token = 0; n < len; ++ token)
- if (ok[token]) result[n++] = yyName[token];
- return result;
- }
-
- /** the generated parser, with debugging messages.
- Maintains a state and a value stack, currently with fixed maximum size.
- @param yyLex scanner.
- @param yydebug debug message writer implementing yyDebug, or null.
- @return result of the last reduction, if any.
- @throws yyException on irrecoverable parse error.
- */
- public Object yyparse (yyInput yyLex, Object yydebug)
- throws java.io.IOException, yyException {
-//t this.yydebug = (jay.yydebug.yyDebug)yydebug;
- return yyparse(yyLex);
- }
-
- /** initial size and increment of the state/value stack [default 256].
- This is not final so that it can be overwritten outside of invocations
- of yyparse().
- */
- protected int yyMax;
-
- /** executed at the beginning of a reduce action.
- Used as $$ = yyDefault($1), prior to the user-specified action, if any.
- Can be overwritten to provide deep copy, etc.
- @param first value for $1, or null.
- @return first.
- */
- protected Object yyDefault (Object first) {
- return first;
- }
-
- /** the generated parser.
- Maintains a state and a value stack, currently with fixed maximum size.
- @param yyLex scanner.
- @return result of the last reduction, if any.
- @throws yyException on irrecoverable parse error.
- */
- public Object yyparse (yyInput yyLex)
- throws java.io.IOException, yyException {
- // yyCheck durch yyCheckInit.yyCheck; ersetzt PL 23.1.01
- yyCheckInit.yyCheckInit(); // initial yyCheck eingefuegt PL 25.1.01
- if (yyMax <= 0) yyMax = 256; // initial size
- int yyState = 0, yyStates[] = new int[yyMax]; // state stack
- Object yyVal = null, yyVals[] = new Object[yyMax]; // value stack
- int yyToken = -1; // current input
- int yyErrorFlag = 0; // #tks to shift
- Scanner yyScanner = (Scanner)yyLex;
- String yyErrorString = "irrecoverable syntax error";
-
- yyLoop: for (int yyTop = 0;; ++ yyTop) {
- if (yyTop >= yyStates.length) { // dynamically increase
- int[] i = new int[yyStates.length+yyMax];
- System.arraycopy(yyStates, 0, i, 0, yyStates.length);
- yyStates = i;
- Object[] o = new Object[yyVals.length+yyMax];
- System.arraycopy(yyVals, 0, o, 0, yyVals.length);
- yyVals = o;
- }
- yyStates[yyTop] = yyState;
- yyVals[yyTop] = yyVal;
-//t if (yydebug != null) yydebug.push(yyState, yyVal);
-
- yyDiscarded: for (;;) { // discarding a token does not change stack
- int yyN;
- if ((yyN = yyDefRed[yyState]) == 0) { // else [default] reduce (yyN)
- if (yyToken < 0) {
- yyToken = yyLex.advance() ? yyLex.token() : 0;
-//t if (yydebug != null)
-//t yydebug.lex(yyState, yyToken, yyname(yyToken), yyLex.value());
- }
- if ((yyN = yySindex[yyState]) != 0 && (yyN += yyToken) >= 0
- && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyToken) {
-//t if (yydebug != null)
-//t yydebug.shift(yyState, yyTable[yyN], yyErrorFlag-1);
- yyState = yyTable[yyN]; // shift to yyN
- yyVal = yyLex.value();
- yyToken = -1;
- if (yyErrorFlag > 0) -- yyErrorFlag;
- continue yyLoop;
- }
- if ((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0
- && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyToken)
- yyN = yyTable[yyN]; // reduce (yyN)
- else
- switch (yyErrorFlag) {
-
- case 0:
- yyErrorString=yyerror("syntax error", yyExpecting(yyState));
-//t if (yydebug != null) yydebug.error("syntax error");
-
- case 1: case 2:
- yyErrorFlag = 3;
- do {
- if ((yyN = yySindex[yyStates[yyTop]]) != 0
- && (yyN += yyErrorCode) >= 0 && yyN < yyTable.length
- && yyCheckInit.yyCheck[yyN] == yyErrorCode) {
-//t if (yydebug != null)
-//t yydebug.shift(yyStates[yyTop], yyTable[yyN], 3);
- yyState = yyTable[yyN];
- yyVal = yyLex.value();
- continue yyLoop;
- }
-//t if (yydebug != null) yydebug.pop(yyStates[yyTop]);
- } while (-- yyTop >= 0);
-//t if (yydebug != null) yydebug.reject();
- throw new yyException(yyErrorString, yyScanner.token);
-
- case 3:
- if (yyToken == 0) {
-//t if (yydebug != null) yydebug.reject();
- throw new yyException(yyErrorString+"at end-of-file", yyScanner.token);
- }
-//t if (yydebug != null)
-//t yydebug.discard(yyState, yyToken, yyname(yyToken),
-//t yyLex.value());
- yyToken = -1;
- continue yyDiscarded; // leave stack alone
- }
- }
- int yyV = yyTop + 1-yyLen[yyN];
-//t if (yydebug != null)
-//t yydebug.reduce(yyState, yyStates[yyV-1], yyN, yyRule[yyN], yyLen[yyN]);
- yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]);
- switch (yyN) {
-case 1:
- // line 249 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((SourceFile)yyVals[0+yyTop]);
- }
- break;
-case 2:
- // line 253 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((SourceFile)yyVals[0+yyTop]).addImports(((ImportDeclarations)yyVals[-1+yyTop]));
- yyVal=((SourceFile)yyVals[0+yyTop]);
- }
- break;
-case 3:
- // line 258 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Package*/
- ((SourceFile)yyVals[0+yyTop]).setPackageName(((UsedId)yyVals[-2+yyTop]));
- ((SourceFile)yyVals[0+yyTop]).addImports(((ImportDeclarations)yyVals[-1+yyTop]));
- yyVal=((SourceFile)yyVals[0+yyTop]);
- }
- break;
-case 4:
- // line 265 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Package*/
- ((SourceFile)yyVals[0+yyTop]).setPackageName(((UsedId)yyVals[-1+yyTop]));
- yyVal=((SourceFile)yyVals[0+yyTop]);
- }
- break;
-case 5:
- // line 271 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- this.testPair.add(new Pair(((Type)yyVals[-2+yyTop]),((Type)yyVals[-1+yyTop])));
- yyVal=((SourceFile)yyVals[0+yyTop]);
- }
- break;
-case 6:
- // line 277 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Package*/
- yyVal = ((UsedId)yyVals[-1+yyTop]);
- }
- break;
-case 7:
- // line 283 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ImportDeclarations declarations=new ImportDeclarations();
- declarations.addElement(((UsedId)yyVals[0+yyTop]));
- yyVal=declarations;
- }
- break;
-case 8:
- // line 289 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((ImportDeclarations)yyVals[-1+yyTop]).addElement(((UsedId)yyVals[0+yyTop]));
- yyVal=((ImportDeclarations)yyVals[-1+yyTop]);
- }
- break;
-case 9:
- // line 295 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((UsedId)yyVals[-1+yyTop]);
- }
- break;
-case 10:
- // line 300 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- SourceFile Scfile = new SourceFile();
- Scfile.addElement(((AClassOrInterface)yyVals[0+yyTop]));
- yyVal=Scfile;
- }
- break;
-case 11:
- // line 306 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((SourceFile)yyVals[-1+yyTop]).addElement(((AClassOrInterface)yyVals[0+yyTop]));
- yyVal=((SourceFile)yyVals[-1+yyTop]);
- }
- break;
-case 12:
- // line 312 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((UsedId)yyVals[0+yyTop]);
- }
- break;
-case 13:
- // line 316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((UsedId)yyVals[0+yyTop]);
- }
- break;
-case 14:
- // line 321 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Class)yyVals[0+yyTop]);
- }
- break;
-case 15:
- // line 325 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interface*/
- yyVal=((Interface)yyVals[0+yyTop]);
- }
- break;
-case 16:
- // line 332 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem());
- ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset());
- yyVal=((UsedId)yyVals[-2+yyTop]);
- }
- break;
-case 17:
- // line 339 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem());
- ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset());
- yyVal=((UsedId)yyVals[-2+yyTop]);
- }
- break;
-case 18:
- // line 345 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((UsedId)yyVals[-2+yyTop]).set_Name("*");
- ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset());
- yyVal=((UsedId)yyVals[-2+yyTop]);
- }
- break;
-case 19:
- // line 353 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- UsedId UI = new UsedId(((Token)yyVals[0+yyTop]).getOffset());
- UI.set_Name( ((Token)yyVals[0+yyTop]).getLexem() );
- UI.setOffset(((Token)yyVals[0+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/
- yyVal = UI;
- }
- break;
-case 20:
- // line 361 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Um das hier uebersichtlicher zu halten,*/
- /* gibt es einen allumfassenden Konstruktor fuer Class*/
- /* Parameter:*/
- /* String name, */
- /* Modifiers mod,*/
- /* ClassBody classbody, */
- /* Menge containedtypes, */
- /* UsedId superclass, */
- /* Menge SuperInterfaces, */
- /* Menge Parameterliste*/
-
- yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaMenge(), ((Token)yyVals[-2+yyTop]).getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- break;
-case 21:
- // line 378 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaMenge(), ((Token)yyVals[-2+yyTop]).getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- break;
-case 22:
- // line 384 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaMenge(), ((Token)yyVals[-3+yyTop]).getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- break;
-case 23:
- // line 390 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaMenge(), ((Token)yyVals[-3+yyTop]).getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- break;
-case 24:
- // line 397 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, ((InterfaceList)yyVals[-1+yyTop]).getTypeMenge(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaMenge(), ((Token)yyVals[-3+yyTop]).getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- break;
-case 25:
- // line 403 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, ((InterfaceList)yyVals[-1+yyTop]).getTypeMenge(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaMenge(), ((Token)yyVals[-3+yyTop]).getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- break;
-case 26:
- // line 409 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getTypeMenge(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaMenge(), ((Token)yyVals[-4+yyTop]).getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- break;
-case 27:
- // line 415 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), ((Modifiers)yyVals[-5+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getTypeMenge(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaMenge(), ((Token)yyVals[-4+yyTop]).getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- break;
-case 28:
- // line 422 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* HOTI*/
- /* Verbindet den Namen eines Interfaces mit einer optionalen Parameterliste*/
- yyVal = new InterfaceAndParameter(((Token)yyVals[0+yyTop]).getLexem());
- }
- break;
-case 29:
- // line 428 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new InterfaceAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop]));
- }
- break;
-case 30:
- // line 433 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten*/
- /* Verbindet den Namen einer Klasse mit einer optionalen Parameterliste*/
- yyVal = new ClassAndParameter(((Token)yyVals[0+yyTop]).getLexem());
- }
- break;
-case 31:
- // line 439 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = new ClassAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop]));
- }
- break;
-case 32:
- // line 444 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interface*/
- Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Token)yyVals[-2+yyTop]).getOffset());
- ic.setParaList(((InterfaceAndParameter)yyVals[-1+yyTop]).getParaMenge());
- ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
- ic.setContainedTypes(containedTypes);
- initContainedTypes();
- yyVal = ic;
- }
- break;
-case 33:
- // line 454 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((Token)yyVals[-2+yyTop]).getOffset());
- ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
- ic.setParaList(((InterfaceAndParameter)yyVals[-1+yyTop]).getParaMenge());
- ic.setContainedTypes(containedTypes);
- initContainedTypes();
- yyVal = ic;
- }
- break;
-case 34:
- // line 463 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Token)yyVals[-3+yyTop]).getOffset());
- ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaMenge());
- /*ic.setSuperInterfaces($3.getMenge());*/
- ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
- ic.setContainedTypes(containedTypes);
- initContainedTypes();
- yyVal = ic;
- }
- break;
-case 35:
- // line 473 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((Token)yyVals[-3+yyTop]).getOffset());
- ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaMenge());
- /*ic.setSuperInterfaces($4.getMenge());*/
- ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
- ic.setContainedTypes(containedTypes);
- initContainedTypes();
- yyVal = ic;
- }
- break;
-case 36:
- // line 484 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ParaList pl = new ParaList();
- /* #JB# 05.04.2005 */
- /* ########################################################### */
- pl.getParalist().addElement(new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),null, ((Token)yyVals[0+yyTop]).getOffset()));
- /*pl.getParalist().addElement( new TypePlaceholder($1.getLexem()) );*/
- /* ########################################################### */
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "IDENTIFIER --> Paralist f�r " + ((Token)yyVals[0+yyTop]).getLexem() + " TV", Section.PARSER);
- yyVal = pl;
- }
- break;
-case 37:
- // line 495 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ParaList pl = new ParaList();
- RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),null,((Token)yyVals[-3+yyTop]).getOffset() );
- t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() );
- pl.getParalist().addElement(t);
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f�r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType", Section.PARSER);
- yyVal = pl;
- }
- break;
-case 38:
- // line 504 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ParaList pl = new ParaList();
- pl.getParalist().addElement(((WildcardType)yyVals[0+yyTop]));
- yyVal = pl;
- }
- break;
-case 39:
- // line 510 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
-
- /* #JB# 05.04.2005 */
- /* ########################################################### */
- ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(), null,((Token)yyVals[0+yyTop]).getOffset()));
- /*$1.getParalist().addElement(new TypePlaceholder($3.getLexem()));*/
- /* ########################################################### */
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER --> Paralist f�r " + ((Token)yyVals[0+yyTop]).getLexem() + ": TV", Section.PARSER);
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist: " + ((ParaList)yyVals[-2+yyTop]).getParalist(), Section.PARSER);
- yyVal=((ParaList)yyVals[-2+yyTop]);
- }
- break;
-case 40:
- // line 523 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),null ,((Token)yyVals[-3+yyTop]).getOffset() );
- t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() );
- ((ParaList)yyVals[-5+yyTop]).getParalist().addElement(t);
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f�r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType", Section.PARSER);
- yyVal=((ParaList)yyVals[-5+yyTop]);
- }
- break;
-case 41:
- // line 531 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(((WildcardType)yyVals[0+yyTop]));
- yyVal=((ParaList)yyVals[-2+yyTop]);
- }
- break;
-case 42:
- // line 537 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/
- WildcardType wc = new WildcardType(null,null,-1);
- yyVal = wc;
- }
- break;
-case 43:
- // line 543 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ExtendsWildcardType ewc = new ExtendsWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop]));
- yyVal = ewc;
- }
- break;
-case 44:
- // line 548 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- SuperWildcardType swc = new SuperWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop]));
- yyVal = swc;
- }
- break;
-case 45:
- // line 554 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ClassBody CB = new ClassBody();
- yyVal = CB;
- }
- break;
-case 46:
- // line 560 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = ((ClassBody)yyVals[-1+yyTop]);
- }
- break;
-case 47:
- // line 565 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Modifiers Mod = new Modifiers();
- Mod.addModifier(((Modifier)yyVals[0+yyTop]));
- yyVal = Mod;
- }
- break;
-case 48:
- // line 571 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Modifiers)yyVals[-1+yyTop]).addModifier(((Modifier)yyVals[0+yyTop]));
- yyVal = ((Modifiers)yyVals[-1+yyTop]);
- }
- break;
-case 49:
- // line 577 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = ((UsedId)yyVals[0+yyTop]);
- }
- break;
-case 50:
- // line 582 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interface*/
- InterfaceList il = new InterfaceList();
- il.addInterface(((UsedId)yyVals[0+yyTop]));
- yyVal = il;
- }
- break;
-case 51:
- // line 589 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop]));
- yyVal = ((InterfaceList)yyVals[-2+yyTop]);
- }
- break;
-case 52:
- // line 595 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interface*/
- yyVal = new InterfaceBody();
- }
- break;
-case 53:
- // line 600 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = ((InterfaceBody)yyVals[-1+yyTop]);
- }
- break;
-case 54:
- // line 607 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interface*/
- InterfaceList il = new InterfaceList();
- il.addInterface(((UsedId)yyVals[0+yyTop]));
- yyVal = il;
- }
- break;
-case 55:
- // line 614 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop]));
- yyVal = ((InterfaceList)yyVals[-2+yyTop]);
- }
- break;
-case 56:
- // line 621 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ClassBody CB = new ClassBody();
- CB.addField( ((Field)yyVals[0+yyTop]) );
- yyVal=CB;
- }
- break;
-case 57:
- // line 627 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((ClassBody)yyVals[-1+yyTop]).addField(((Field)yyVals[0+yyTop]));
- yyVal = ((ClassBody)yyVals[-1+yyTop]);
- }
- break;
-case 58:
- // line 634 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Public Pub = new Public();
- yyVal=Pub;
- }
- break;
-case 59:
- // line 639 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Protected Pro = new Protected();
- yyVal=Pro;
- }
- break;
-case 60:
- // line 644 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Private Pri = new Private();
- yyVal=Pri;
- }
- break;
-case 61:
- // line 649 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Static Sta = new Static();
- yyVal=Sta;
- }
- break;
-case 62:
- // line 654 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Abstract Abs = new Abstract();
- yyVal=Abs;
- }
- break;
-case 63:
- // line 659 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- { Final fin = new Final();
- yyVal = fin;
- }
- break;
-case 64:
- // line 665 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = ((UsedId)yyVals[0+yyTop]);
- }
- break;
-case 65:
- // line 671 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interface*/
- InterfaceBody ib = new InterfaceBody();
- ib.addElement(((Field)yyVals[0+yyTop]));
- yyVal = ib;
- }
- break;
-case 66:
- // line 678 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop]));
- yyVal = ((InterfaceBody)yyVals[-1+yyTop]);
- }
- break;
-case 67:
- // line 684 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interfaces*/
- yyVal = ((UsedId)yyVals[0+yyTop]);
- }
- break;
-case 68:
- // line 690 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Field)yyVals[0+yyTop]);
- }
- break;
-case 69:
- // line 695 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 70:
- // line 699 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Field)yyVals[0+yyTop]);
- }
- break;
-case 71:
- // line 705 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- if (((Menge)yyVals[0+yyTop]) != null) {
- /*$1.set_ParaList($2.get_ParaList());*/
- ((UsedId)yyVals[-1+yyTop]).set_ParaList(((Menge)yyVals[0+yyTop]));/*�nderung von Andreas Stadelmeier. Type statt GenericVarType*/
- /* otth: originale (also diese) Parameterliste retten */
- /*((UsedId)$1).vParaOrg = new Menge( $2.get_ParaList() );*/
- }
- yyVal=((UsedId)yyVals[-1+yyTop]);
- }
- break;
-case 72:
- // line 716 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Menge tl = new Menge();
- tl.add(((Type)yyVals[0+yyTop]));
- yyVal = tl;
- }
- break;
-case 73:
- // line 722 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Menge)yyVals[-2+yyTop]).add(((Type)yyVals[0+yyTop]));
- yyVal=((Menge)yyVals[-2+yyTop]);
- }
- break;
-case 74:
- // line 727 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Menge)yyVals[-2+yyTop]).add(((WildcardType)yyVals[0+yyTop]));
- yyVal=((Menge)yyVals[-2+yyTop]);
- }
- break;
-case 75:
- // line 732 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Menge tl = new Menge();
- tl.add(((WildcardType)yyVals[0+yyTop]));
- yyVal = tl;
- }
- break;
-case 76:
- // line 740 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- { yyVal = null; }
- break;
-case 77:
- // line 742 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = ((Menge)yyVals[-1+yyTop]);
- }
- break;
-case 78:
- // line 747 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interfaces, Spezialform Konstantendef.*/
- yyVal = ((Constant)yyVals[0+yyTop]);
- }
- break;
-case 79:
- // line 752 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = ((Method)yyVals[0+yyTop]);
- }
- break;
-case 80:
- // line 757 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Field)yyVals[0+yyTop]);
- }
- break;
-case 81:
- // line 761 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 82:
- // line 766 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset());
- DeclId DST = new DeclId();
- DST.set_Name(((Token)yyVals[-1+yyTop]).getLexem());
- STAT.set_DeclId(DST);
- Static ST = new Static();
- Modifiers MOD = new Modifiers();
- MOD.addModifier(ST);
- STAT.set_Modifiers(MOD);
- STAT.set_Block(((Block)yyVals[0+yyTop]));
- yyVal=STAT;
- }
- break;
-case 83:
- // line 780 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop]));
- yyVal = ((Constructor)yyVals[-1+yyTop]);
- }
- break;
-case 84:
- // line 785 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop]));
- ((Constructor)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
- yyVal = ((Constructor)yyVals[-1+yyTop]);
- }
- break;
-case 85:
- // line 792 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interface*/
- Constant c = new Constant(((Token)yyVals[-3+yyTop]).getLexem(), ((Modifiers)yyVals[-5+yyTop]));
- c.setType(((Type)yyVals[-4+yyTop]));
- c.setValue(((Expr)yyVals[-1+yyTop]));
- yyVal = c;
- }
- break;
-case 86:
- // line 801 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /* SCJU: Interface*/
- yyVal = ((Method)yyVals[-1+yyTop]);
- }
- break;
-case 87:
- // line 826 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset());
- ret.set_DeclId(((DeclId)yyVals[-2+yyTop]));
- ret.setWert(((Expr)yyVals[0+yyTop]));
- yyVal=ret;
- }
- break;
-case 88:
- // line 833 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset());
- ret.set_DeclId(((DeclId)yyVals[0+yyTop]));
- yyVal=ret;
- }
- break;
-case 89:
- // line 840 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- GenericDeclarationList ret = new GenericDeclarationList(((GenericVarDeclarationList)yyVals[-1+yyTop]).getElements(),((GenericVarDeclarationList)yyVals[-1+yyTop]).getEndOffset());
- yyVal = ret;
- }
- break;
-case 90:
- // line 847 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- yyVal=((FieldDeclaration)yyVals[-1+yyTop]);
- }
- break;
-case 91:
- // line 852 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((FieldDeclaration)yyVals[-1+yyTop]);
- }
- break;
-case 92:
- // line 856 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {/*angef�gt von Andreas Stadelmeier*/
- ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- ((FieldDeclaration)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
- yyVal=((FieldDeclaration)yyVals[-1+yyTop]);
- }
- break;
-case 93:
- // line 863 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((FieldDeclaration)yyVals[-1+yyTop]);
- }
- break;
-case 94:
- // line 868 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop]), Section.PARSER);
- ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- yyVal = ((FieldDeclaration)yyVals[-1+yyTop]);
- }
- break;
-case 95:
- // line 875 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdMenge().size());i++)
- {
- ((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdMenge().elementAt(i).modifiers=((Modifiers)yyVals[-3+yyTop]);
- }
- yyVal = ((FieldDeclaration)yyVals[-1+yyTop]);
- }
- break;
-case 96:
- // line 885 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 97:
- // line 892 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Block Bl = new Block();
- yyVal=Bl;
- }
- break;
-case 98:
- // line 898 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Block)yyVals[-1+yyTop]);
- }
- break;
-case 99:
- // line 903 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Constructor CON = new Constructor(null,null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/
- DeclId DIDCon = new DeclId();
- DIDCon.set_Name(((UsedId)yyVals[-2+yyTop]).get_Name_1Element());
- CON.set_DeclId(DIDCon);
- yyVal=CON;
- }
- break;
-case 100:
- // line 911 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Constructor CONpara = new Constructor(null,null);
- DeclId DIconpara = new DeclId();
- DIconpara.set_Name(((UsedId)yyVals[-3+yyTop]).get_Name_1Element());
- CONpara.set_DeclId(DIconpara);
- CONpara.setParameterList(((ParameterList)yyVals[-1+yyTop]));
- yyVal=CONpara;
- }
- break;
-case 101:
- // line 921 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Block CBL = new Block();
- yyVal=CBL;
- }
- break;
-case 102:
- // line 926 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Block CBLexpl = new Block();
- CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop]));
- yyVal=CBLexpl;
- }
- break;
-case 103:
- // line 932 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Block)yyVals[-1+yyTop]);
- }
- break;
-case 104:
- // line 936 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Block CBes = new Block();
- CBes.set_Statement(((Statement)yyVals[-2+yyTop]));
- for(int j=0;j<((Block)yyVals[-1+yyTop]).statements.size();j++)
- {
- CBes.set_Statement((Statement)((Block)yyVals[-1+yyTop]).statements.elementAt(j));
- }
- yyVal=CBes;
- }
- break;
-case 105:
- // line 947 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ExceptionList EL = new ExceptionList();
- EL.set_addElem(((RefType)yyVals[0+yyTop]));
- yyVal=EL;
- }
- break;
-case 106:
- // line 954 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal = ((GenericTypeVar)yyVals[0+yyTop]);
- }
- break;
-case 107:
- // line 959 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ParaList p = new ParaList();
- p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop]));
- yyVal=p;
- }
- break;
-case 108:
- // line 965 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop]));
- yyVal=((ParaList)yyVals[-2+yyTop]);
- }
- break;
-case 109:
- // line 972 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),null,((Token)yyVals[0+yyTop]).getOffset());
- }
- break;
-case 110:
- // line 976 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(), ((BoundedClassIdentifierList)yyVals[0+yyTop]),null, ((Token)yyVals[-2+yyTop]).getOffset() ,((BoundedClassIdentifierList)yyVals[0+yyTop]).getEndOffset());
- /*gtv.setBounds($3);*/
- yyVal=gtv;
- }
- break;
-case 111:
- // line 983 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Menge vec=new Menge();
- vec.addElement(((RefType)yyVals[0+yyTop]));
- containedTypes.addElement(((RefType)yyVals[0+yyTop]));
- yyVal=new BoundedClassIdentifierList(vec, ((RefType)yyVals[0+yyTop]).getOffset()+((RefType)yyVals[0+yyTop]).getName().toString().length());
- }
- break;
-case 112:
- // line 990 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((BoundedClassIdentifierList)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop]));
- ((BoundedClassIdentifierList)yyVals[-2+yyTop]).addOffsetOff(((RefType)yyVals[0+yyTop]));
- containedTypes.addElement(((RefType)yyVals[0+yyTop]));
- yyVal=((BoundedClassIdentifierList)yyVals[-2+yyTop]);
- }
- break;
-case 113:
- // line 998 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- GenericVarDeclarationList vec=new GenericVarDeclarationList();
- vec.addElement(((GenericTypeVar)yyVals[0+yyTop]));
- yyVal=vec;
- }
- break;
-case 114:
- // line 1004 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((GenericVarDeclarationList)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop]));
- yyVal=((GenericVarDeclarationList)yyVals[-2+yyTop]);
- }
- break;
-case 115:
- // line 1012 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop]));
- ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 116:
- // line 1018 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop]));
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 117:
- // line 1023 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
- ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop]));
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 118:
- // line 1029 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
- ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
- ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop]));
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 119:
- // line 1036 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 120:
- // line 1042 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
- ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 121:
- // line 1049 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
- ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 122:
- // line 1056 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop]));
- ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
- ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 123:
- // line 1064 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
- ((Method)yyVals[0+yyTop]).setType(Voit);
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 124:
- // line 1070 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
- ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
- ((Method)yyVals[0+yyTop]).setType(voit);
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 125:
- // line 1077 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
- ((Method)yyVals[-1+yyTop]).setType(voyt);
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 126:
- // line 1084 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
- ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
- ((Method)yyVals[-1+yyTop]).setType(voyd);
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 127:
- // line 1092 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
- ((Method)yyVals[0+yyTop]).setType(Voit);
- ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 128:
- // line 1099 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
- ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
- ((Method)yyVals[0+yyTop]).setType(voit);
- ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 129:
- // line 1107 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
- ((Method)yyVals[-1+yyTop]).setType(voyt);
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 130:
- // line 1115 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
- ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop]));
- ((Method)yyVals[-1+yyTop]).setType(voyd);
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 131:
- // line 1125 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 132:
- // line 1130 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/
- ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-1+yyTop]));
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 133:
- // line 1137 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/
- yyVal=((Method)yyVals[0+yyTop]);
- }
- break;
-case 134:
- // line 1143 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 135:
- // line 1149 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
-case 136:
- // line 1158 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((RefType)yyVals[0+yyTop]);
- }
- break;
-case 137:
- // line 1162 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((RefType)yyVals[-2+yyTop]).setArray(true);
- }
- break;
-case 138:
- // line 1177 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset());
- IVD.getDeclIdMenge().addElement( ((DeclId)yyVals[0+yyTop]) );
- IVD.setOffset(((DeclId)yyVals[0+yyTop]).getOffset());
- yyVal = IVD;
- }
- break;
-case 139:
- // line 1184 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdMenge().addElement(((DeclId)yyVals[0+yyTop]));
- yyVal=((FieldDeclaration)yyVals[-2+yyTop]);
- }
- break;
-case 140:
- // line 1190 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Block)yyVals[0+yyTop]);
- }
- break;
-case 141:
- // line 1195 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Block Blstat = new Block();
- Blstat.set_Statement(((Statement)yyVals[0+yyTop]));
- yyVal=Blstat;
- }
- break;
-case 142:
- // line 1202 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop]));
- yyVal=((Block)yyVals[-1+yyTop]);
- }
- break;
-case 143:
- // line 1208 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ParameterList PL = new ParameterList();
- PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop]));
- yyVal = PL;
- }
- break;
-case 144:
- // line 1214 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop]));
- yyVal = ((ParameterList)yyVals[-2+yyTop]);
- }
- break;
-case 145:
- // line 1220 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ThisCall THCON = new ThisCall(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length());
- yyVal=THCON;
- }
- break;
-case 146:
- // line 1225 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ThisCall THCONargl = new ThisCall(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length());
- THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop]));
- yyVal=THCONargl;
- }
- break;
-case 147:
- // line 1231 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- SuperCall sCall = new SuperCall(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length());
- yyVal=sCall;
- }
- break;
-case 148:
- // line 1236 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- SuperCall sCall = new SuperCall(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length());
- sCall.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop]));
- yyVal=sCall;
- }
- break;
-case 149:
- // line 1243 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /*RefType RT = new RefType(RT.get_UsedId().get_Name_1Element(),null,-1);*/
- RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).get_Name_1Element(),null,-1);
- /*RT.set_UsedId($1);*/
- /*RT.setName(RT.get_UsedId().get_Name_1Element());*/
- yyVal=RT;
- }
- break;
-case 150:
- // line 1251 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((RefType)yyVals[-2+yyTop]).set_UsedId(((UsedId)yyVals[0+yyTop]));
- ((RefType)yyVals[-2+yyTop]).setName(((RefType)yyVals[-2+yyTop]).get_UsedId().get_Name_1Element());
- yyVal=((RefType)yyVals[-2+yyTop]);
- }
- break;
-case 151:
- // line 1258 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset());
- /* #JB# 10.04.2005 */
- /* ########################################################### */
- met.setLineNumber(((Token)yyVals[-2+yyTop]).getLineNumber());
- met.setOffset(((Token)yyVals[-2+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/
- /* ########################################################### */
- DeclId DImethod = new DeclId();
- DImethod.set_Name(((Token)yyVals[-2+yyTop]).getLexem());
- met.set_DeclId(DImethod);
- yyVal = met;
- }
- break;
-case 152:
- // line 1271 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset());
- /* #JB# 10.04.2005 */
- /* ########################################################### */
- met_para.setLineNumber(((Token)yyVals[-3+yyTop]).getLineNumber());
- met_para.setOffset(((Token)yyVals[-3+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/
- /* ########################################################### */
- DeclId Dimet_para = new DeclId();
- Dimet_para.set_Name(((Token)yyVals[-3+yyTop]).getLexem());
- met_para.set_DeclId(Dimet_para);
- met_para.setParameterList(((ParameterList)yyVals[-1+yyTop]));
- yyVal = met_para;
- }
- break;
-case 153:
- // line 1299 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop]), Section.PARSER);
- RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getQualifiedName(),null,((UsedId)yyVals[0+yyTop]).getOffset());
-
- /*ausgetauscht PL 05-07-30*/
- /*RT.set_UsedId($1); */
- /*RT.setName(RT.get_UsedId().get_Name_1Element());*/
- RT.set_ParaList(((UsedId)yyVals[0+yyTop]).get_RealParaList());
- /*RT.setName($1.getQualifiedName());*/
-
-
- /*PL 05-07-30 eingefuegt containedTypes ANFANG*/
- containedTypes.addElement(RT);
- /*PL 05-07-30 eingefuegt containedTypes ENDE*/
-
- yyVal=RT;
- }
- break;
-case 154:
- // line 1321 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((DeclId)yyVals[0+yyTop]);
- }
- break;
-case 155:
- // line 1342 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((LocalVarDecl)yyVals[0+yyTop]);
- }
- break;
-case 156:
- // line 1346 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Statement)yyVals[0+yyTop]);
- }
- break;
-case 157:
- // line 1351 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop]));
- FP.setType(((Type)yyVals[-1+yyTop]));
- /*FP.set_DeclId($2); //auskommentiert von Andreas Stadelmeier. DeclId wird nun dem Konstruktor von FormalParameter �bergeben.*/
- yyVal=FP;
- }
- break;
-case 158:
- // line 1376 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name, Section.PARSER);
-
- FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop]));
-
- /* #JB# 31.03.2005*/
- /* ###########################################################*/
- /*Type T = TypePlaceholder.fresh(); //auskommentiert von Andreas Stadelmeier*/
- /* Type T = new TypePlaceholder(""); /* otth: Name wird automatisch berechnet * /*/
- /* ###########################################################*/
- /*de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName(), Section.PARSER);*/
-
- /*auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T );*/
- /*FP.set_DeclId($1);*/
-
- yyVal=FP;
- }
- break;
-case 159:
- // line 1395 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ArgumentList AL = new ArgumentList();
- AL.expr.addElement(((Expr)yyVals[0+yyTop]));
- yyVal=AL;
- }
- break;
-case 160:
- // line 1401 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop]));
- yyVal=((ArgumentList)yyVals[-2+yyTop]);
- }
- break;
-case 161:
- // line 1413 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- DeclId DI = new DeclId();
- /* #JB# 10.04.2005 */
- /* ########################################################### */
- DI.setLineNumber(((Token)yyVals[0+yyTop]).getLineNumber());
- DI.setOffset(((Token)yyVals[0+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/
- /* ########################################################### */
- DI.set_Name(((Token)yyVals[0+yyTop]).getLexem());
- yyVal=DI;
- }
- break;
-case 162:
- // line 1425 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 163:
- // line 1430 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((LocalVarDecl)yyVals[-1+yyTop]);
- }
- break;
-case 164:
- // line 1435 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Statement)yyVals[0+yyTop]);
- }
- break;
-case 165:
- // line 1439 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((IfStmt)yyVals[0+yyTop]);
- }
- break;
-case 166:
- // line 1443 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((IfStmt)yyVals[0+yyTop]);
- }
- break;
-case 167:
- // line 1447 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((WhileStmt)yyVals[0+yyTop]);
- }
- break;
-case 168:
- // line 1451 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((ForStmt)yyVals[0+yyTop]);
- }
- break;
-case 169:
- // line 1454 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Statement)yyVals[0+yyTop]);
- }
- break;
-case 170:
- // line 1459 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 171:
- // line 1463 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((NewClass)yyVals[0+yyTop]);
- }
- break;
-case 172:
- // line 1481 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!", Section.PARSER);
- LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength());
- LVD.setType(((Type)yyVals[-1+yyTop]));
- LVD.setDeclidMenge(((FieldDeclaration)yyVals[0+yyTop]).getDeclIdMenge());
- yyVal = LVD;
- }
- break;
-case 173:
- // line 1492 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!", Section.PARSER);
- LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength());
- /*auskommentiert von Andreas Stadelmeier (a10023) LVD.setType(TypePlaceholder.fresh());*/
- LVD.setDeclidMenge(((FieldDeclaration)yyVals[0+yyTop]).getDeclIdMenge());
- yyVal = LVD;
- }
- break;
-case 174:
- // line 1502 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Block)yyVals[0+yyTop]);
- }
- break;
-case 175:
- // line 1506 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((EmptyStmt)yyVals[0+yyTop]);
- }
- break;
-case 176:
- // line 1510 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((ExprStmt)yyVals[0+yyTop]);
- }
- break;
-case 177:
- // line 1514 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Return)yyVals[0+yyTop]);
- }
- break;
-case 178:
- // line 1519 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- Ifst.set_Expr(((Expr)yyVals[-2+yyTop]));
- Ifst.set_Then_block(((Statement)yyVals[0+yyTop]));
- yyVal=Ifst;
- }
- break;
-case 179:
- // line 1527 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
- IfstElst.set_Expr(((Expr)yyVals[-4+yyTop]));
- IfstElst.set_Then_block(((Statement)yyVals[-2+yyTop]));
- IfstElst.set_Else_block(((Statement)yyVals[0+yyTop]));
- yyVal=IfstElst;
- }
- break;
-case 180:
- // line 1536 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- Whlst.set_Expr(((Expr)yyVals[-2+yyTop]));
- Whlst.set_Loop_block(((Statement)yyVals[0+yyTop]));
- yyVal=Whlst;
- }
- break;
-case 181:
- // line 1547 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength());
- Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop]));
- Fst.set_head_Condition(((Expr)yyVals[-4+yyTop]));
- Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop]));
- Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop]));
-
- /*Typannahme*/
- yyVal = Fst;
- }
- break;
-case 182:
- // line 1559 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength());
- Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop]));
- Fst.set_head_Condition(((Expr)yyVals[-3+yyTop]));
- Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop]));
-
- /*Typannahme*/
- yyVal = Fst;
- }
- break;
-case 183:
- // line 1570 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength());
- Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop]));
- Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop]));
- Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop]));
-
- /*Typannahme*/
- yyVal = Fst;
- }
- break;
-case 184:
- // line 1581 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
- Fst.set_head_Condition(((Expr)yyVals[-4+yyTop]));
- Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop]));
- Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop]));
-
- /*Typannahme*/
- yyVal = Fst;
- }
- break;
-case 185:
- // line 1592 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
- Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop]));
- Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop]));
-
- /*Typannahme*/
- yyVal = Fst;
- }
- break;
-case 186:
- // line 1602 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength());
- Fst.set_head_Condition(((Expr)yyVals[-3+yyTop]));
- Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop]));
-
- /*Typannahme*/
- yyVal = Fst;
- }
- break;
-case 187:
- // line 1612 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ForStmt Fst = new ForStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop]));
- Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop]));
-
- /*Typannahme*/
- yyVal = Fst;
- }
- break;
-case 188:
- // line 1622 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ForStmt Fst = new ForStmt(((Statement)yyVals[0+yyTop]).getOffset(),((Statement)yyVals[0+yyTop]).getVariableLength());
- Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop]));
-
- /*Typannahme*/
- yyVal = Fst;
- }
- break;
-case 189:
- // line 1631 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("conditionalexpression", Section.PARSER);
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 190:
- // line 1636 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Assign)yyVals[0+yyTop]);
- }
- break;
-case 191:
- // line 1642 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- EmptyStmt Empst = new EmptyStmt();
- yyVal=Empst;
- }
- break;
-case 192:
- // line 1648 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[-1+yyTop]);
- }
- break;
-case 193:
- // line 1653 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Return ret = new Return(-1,-1);
- yyVal= ret;
- }
- break;
-case 194:
- // line 1658 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength());
- retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop]));
- yyVal=retexp;
- }
- break;
-case 195:
- // line 1665 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Statement)yyVals[0+yyTop]);
- }
- break;
-case 196:
- // line 1669 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((IfStmt)yyVals[0+yyTop]);
- }
- break;
-case 197:
- // line 1673 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((WhileStmt)yyVals[0+yyTop]);
- }
- break;
-case 198:
- // line 1678 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 199:
- // line 1684 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n", Section.PARSER);
- Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
- LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
- LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/
- /*auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh());*/
- if( ((Operator)yyVals[-1+yyTop]) == null )
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> " + ((Expr)yyVals[0+yyTop]) + " \n", Section.PARSER);
- Ass.set_Expr( LOFV,((Expr)yyVals[0+yyTop]) );
- }
- else
- {
- Binary Bin = new Binary(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
- Bin.set_Expr1(LOFV);
- Bin.set_Operator(((Operator)yyVals[-1+yyTop]));
- Bin.set_Expr2(((Expr)yyVals[0+yyTop]));
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> Binary\n", Section.PARSER);
- /*auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh());*/
- Ass.set_Expr( LOFV, Bin );
- }
- yyVal=Ass;
- }
- break;
-case 200:
- // line 1709 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
- LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
- LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/
- /*auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh());*/
- if(((Operator)yyVals[-1+yyTop])==null)
- {
- Ass.set_Expr(LOFV,((NewClass)yyVals[0+yyTop]));
- }
- else
- {
- Binary Bin = new Binary(((NewClass)yyVals[0+yyTop]).getOffset(),((NewClass)yyVals[0+yyTop]).getVariableLength());
- Bin.set_Expr1(LOFV);
- Bin.set_Operator(((Operator)yyVals[-1+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh());*/
- Bin.set_Expr2(((NewClass)yyVals[0+yyTop]));
- Ass.set_Expr(LOFV,Bin);
- }
- yyVal=Ass;
- }
- break;
-case 201:
- // line 1732 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Assign)yyVals[0+yyTop]);
- }
- break;
-case 202:
- // line 1736 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 203:
- // line 1740 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 204:
- // line 1744 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 205:
- // line 1748 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 206:
- // line 1752 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((MethodCall)yyVals[0+yyTop]);
- }
- break;
-case 207:
- // line 1763 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
- IfElno.set_Expr(((Expr)yyVals[-4+yyTop]));
- IfElno.set_Then_block(((Statement)yyVals[-2+yyTop]));
- IfElno.set_Else_block(((Statement)yyVals[0+yyTop]));
- yyVal=IfElno;
- }
- break;
-case 208:
- // line 1772 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- Whstno.set_Expr(((Expr)yyVals[-2+yyTop]));
- Whstno.set_Loop_block(((Statement)yyVals[0+yyTop]));
- yyVal=Whstno;
- }
- break;
-case 209:
- // line 1780 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 210:
- // line 1784 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary LogOr = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- OrOp OrO = new OrOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- LogOr.set_Expr1(((Expr)yyVals[-2+yyTop]));
- LogOr.set_Expr2(((Expr)yyVals[0+yyTop]));
- LogOr.set_Operator(OrO);
- /*auskommentiert von Andreas Stadelmeier (a10023) LogOr.setType(TypePlaceholder.fresh());*/
- yyVal=LogOr;
- }
- break;
-case 211:
- // line 1797 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=null;
- }
- break;
-case 212:
- // line 1802 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Block)yyVals[0+yyTop]);
- }
- break;
-case 213:
- // line 1806 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- /*Lambdabody kann auch nur aus einer Expression bestehen. In diesem Fall wird ein Block erstellt, welcher als einziges Statement ein return statment mit der expression hat.*/
- /*Bsp.: Aus der Expression |var=="hallo"| wird: |{return var=="hallo";}|*/
- Block ret=new Block();
- ret.statements.add((Statement)new Return(0,0).set_ReturnExpr(((Expr)yyVals[0+yyTop])));
- /*ret.statements.add((ExprStmt)$1);*/
- yyVal=ret;
- }
- break;
-case 214:
- // line 1816 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=null;
- }
- break;
-case 215:
- // line 1820 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((ParameterList)yyVals[-1+yyTop]);
- }
- break;
-case 216:
- // line 1825 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- LambdaExpression lambda = new LambdaExpression(/*((ParameSterList)$2).getOffset(),((ParameterList)$2).getVariableLength()*/0,0);
- if(((ParameterList)yyVals[-2+yyTop])!=null)lambda.setParameterList(((ParameterList)yyVals[-2+yyTop]));
- lambda.setBody((Block)((Block)yyVals[0+yyTop]));
- yyVal=lambda;
- }
- break;
-case 217:
- // line 1844 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((UsedId)yyVals[0+yyTop]);
- }
- break;
-case 218:
- // line 1849 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=null;
- }
- break;
-case 219:
- // line 1853 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- TimesOp TEO = new TimesOp(-1,-1);
- yyVal=TEO;
- }
- break;
-case 220:
- // line 1858 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- DivideOp DEO = new DivideOp(-1,-1);
- yyVal=DEO;
- }
- break;
-case 221:
- // line 1863 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- ModuloOp MEO = new ModuloOp(-1,-1);
- yyVal=MEO;
- }
- break;
-case 222:
- // line 1868 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- PlusOp PEO = new PlusOp(-1,-1);
- yyVal=PEO;
- }
- break;
-case 223:
- // line 1873 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- MinusOp MEO = new MinusOp(-1,-1);
- yyVal=MEO;
- }
- break;
-case 224:
- // line 1885 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
- PRINC.set_Expr(((Expr)yyVals[0+yyTop]));
- yyVal=PRINC;
- }
- break;
-case 225:
- // line 1892 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
- PRDEC.set_Expr(((Expr)yyVals[0+yyTop]));
- yyVal=PRDEC;
- }
- break;
-case 226:
- // line 1899 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength());
- PIE.set_Expr(((Expr)yyVals[-1+yyTop]));
- yyVal=PIE;
- }
- break;
-case 227:
- // line 1906 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength());
- PDE.set_Expr(((Expr)yyVals[-1+yyTop]));
- yyVal=PDE;
- }
- break;
-case 228:
- // line 1914 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M1", Section.PARSER);
- MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
- UsedId udidmeth = new UsedId(((UsedId)yyVals[-2+yyTop]).getOffset());
- udidmeth.set_Name((String)((((UsedId)yyVals[-2+yyTop]).get_Name()).elementAt(((UsedId)yyVals[-2+yyTop]).get_Name().size()-1)));
- MC.set_UsedId(udidmeth);
- Receiver rec = null;
- if (((UsedId)yyVals[-2+yyTop]).get_Name().size() > 2) {
-
- ((UsedId)yyVals[-2+yyTop]).removeLast();
-
- /*macht aus der Liste von Strings */
- /*in usedid.name einen InstVar */
- InstVar INSTVA = new InstVar(((UsedId)yyVals[-2+yyTop]),((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
-
- /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/
- rec = new Receiver(INSTVA);
- }
- else if (((UsedId)yyVals[-2+yyTop]).get_Name().size() == 2) {
- LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
- ((UsedId)yyVals[-2+yyTop]).removeLast();
- LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/
- rec = new Receiver(LOFV);
- }
- MC.set_Receiver(rec);
- /*auskommentiert von Andreas Stadelmeier (a10023) MC.setType(TypePlaceholder.fresh());*/
- yyVal=MC;
- }
- break;
-case 229:
- // line 1944 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M2", Section.PARSER);
- MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength());
- UsedId udidmeth = new UsedId(((UsedId)yyVals[-3+yyTop]).getOffset());
- udidmeth.set_Name((String)((((UsedId)yyVals[-3+yyTop]).get_Name()).elementAt(((UsedId)yyVals[-3+yyTop]).get_Name().size()-1)));
- MCarg.set_UsedId(udidmeth);
- Receiver rec = null;
- if (((UsedId)yyVals[-3+yyTop]).get_Name().size() > 2) {
-
- ((UsedId)yyVals[-3+yyTop]).removeLast();
-
- /*macht aus der Liste von Strings */
- /*in usedid.name einen InstVar */
- InstVar INSTVA = new InstVar(((UsedId)yyVals[-3+yyTop]),((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength());
-
- /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/
- rec = new Receiver(INSTVA);
- }
- else if (((UsedId)yyVals[-3+yyTop]).get_Name().size() == 2) {
- LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength());
- ((UsedId)yyVals[-3+yyTop]).removeLast();
- LOFV.set_UsedId(((UsedId)yyVals[-3+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/
- rec = new Receiver(LOFV);
- }
- MCarg.set_Receiver(rec);
- MCarg.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) MCarg.setType(TypePlaceholder.fresh());*/
- yyVal=MCarg;
- }
- break;
-case 230:
- // line 1975 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M3", Section.PARSER);
- MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
-
- /* PL 05-08-21 primary ist kein UsedId*/
- /*$1.usedid.set_Name($3.getLexem());*/
- /*MCpr.set_UsedId($1.get_UsedId());*/
- UsedId udidmeth = new UsedId(((Expr)yyVals[-4+yyTop]).getOffset());
- udidmeth.set_Name(((Token)yyVals[-2+yyTop]).getLexem());
- MCpr.set_UsedId(udidmeth);
-
- /* #JB# 04.06.2005 */
- /* ########################################################### */
- MCpr.set_Receiver(new Receiver(((Expr)yyVals[-4+yyTop])));
- /* ########################################################### */
- /*auskommentiert von Andreas Stadelmeier (a10023) MCpr.setType(TypePlaceholder.fresh());*/
- yyVal=MCpr;
- }
- break;
-case 231:
- // line 1994 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M4", Section.PARSER);
- MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength());
-
- /* PL 05-08-21 primary ist kein UsedId*/
- /*$1.usedid.set_Name($3.getLexem());*/
- /*MCPA.set_UsedId($1.get_UsedId());*/
- UsedId udidmeth = new UsedId(((Token)yyVals[-3+yyTop]).getOffset());
- udidmeth.set_Name(((Token)yyVals[-3+yyTop]).getLexem());
- MCPA.set_UsedId(udidmeth);
-
- /* #JB# 04.06.2005 */
- /* ########################################################### */
- MCPA.set_Receiver(new Receiver(((Expr)yyVals[-5+yyTop])));
- /* ########################################################### */
- MCPA.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) MCPA.setType(TypePlaceholder.fresh());*/
- yyVal=MCPA;
- }
- break;
-case 232:
- // line 2017 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
- NC.set_UsedId(((UsedId)yyVals[-2+yyTop]));
-
- usedIdsToCheck.addElement(((UsedId)yyVals[-2+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) NC.setType(TypePlaceholder.fresh());*/
- yyVal=NC;
- }
- break;
-case 233:
- // line 2026 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength());
- NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop]));
- usedIdsToCheck.addElement(((UsedId)yyVals[-3+yyTop]));
- NCarg.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) NCarg.setType(TypePlaceholder.fresh());*/
- yyVal=NCarg;
- }
- break;
-case 234:
- // line 2036 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 235:
- // line 2040 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary And = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- AndOp AndO = new AndOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- And.set_Expr1(((Expr)yyVals[-2+yyTop]));
- And.set_Expr2(((Expr)yyVals[0+yyTop]));
- And.set_Operator(AndO);
- /*auskommentiert von Andreas Stadelmeier (a10023) And.setType(TypePlaceholder.fresh());*/
- yyVal=And;
- }
- break;
-case 236:
- // line 2056 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 237:
- // line 2060 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 238:
- // line 2064 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
- UnaryPlus UP= new UnaryPlus();
- POSEX.set_UnaryPlus(UP);
- POSEX.set_Expr(((Expr)yyVals[0+yyTop]));
- yyVal=POSEX;
- }
- break;
-case 239:
- // line 2072 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
- UnaryMinus UM=new UnaryMinus();
- NEGEX.set_UnaryMinus(UM);
- NEGEX.set_Expr(((Expr)yyVals[0+yyTop]));
- yyVal=NEGEX;
- }
- break;
-case 240:
- // line 2080 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 241:
- // line 2085 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 242:
- // line 2089 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) {
-
- /*macht aus der Liste von Strings */
- /*in usedid.name einen InstVar */
- InstVar INSTVA = new InstVar(((UsedId)yyVals[0+yyTop]),((UsedId)yyVals[0+yyTop]).getOffset(),((UsedId)yyVals[0+yyTop]).getVariableLength());
-
- /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/
- yyVal = INSTVA;
- }
- else {
- LocalOrFieldVarOrClassname Postincexpr = new LocalOrFieldVarOrClassname(((UsedId)yyVals[0+yyTop]).getOffset(),((UsedId)yyVals[0+yyTop]).getVariableLength());
- Postincexpr.set_UsedId(((UsedId)yyVals[0+yyTop]));
- /*auskommentiert von Andreas Stadelmeier (a10023) Postincexpr.setType(TypePlaceholder.fresh());*/
- yyVal=Postincexpr;
- }
- }
- break;
-case 243:
- // line 2107 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 244:
- // line 2111 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 245:
- // line 2116 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 246:
- // line 2121 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 248:
- // line 2127 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Literal)yyVals[0+yyTop]);
- }
- break;
-case 249:
- // line 2131 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- This T = new This(((Token)yyVals[0+yyTop]).getOffset(),((Token)yyVals[0+yyTop]).getLexem().length());
- UsedId UT = new UsedId(((Token)yyVals[0+yyTop]).getOffset());
- UT.set_Name(((Token)yyVals[0+yyTop]).getLexem());
- T.set_UsedId(UT);
- yyVal=T;
- }
- break;
-case 250:
- // line 2152 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((MethodCall)yyVals[0+yyTop]);
- }
- break;
-case 251:
- // line 2156 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 252:
- // line 2161 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {yyVal=((Expr)yyVals[0+yyTop]);}
- break;
-case 253:
- // line 2163 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
- UnaryNot UN=new UnaryNot();
- NE.set_UnaryNot(UN);
- NE.set_Expr(((Expr)yyVals[0+yyTop]));
- yyVal=NE;
- }
- break;
-case 254:
- // line 2173 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {yyVal=((Expr)yyVals[0+yyTop]);}
- break;
-case 256:
- // line 2178 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {IntLiteral IL = new IntLiteral();
- IL.set_Int(((Token)yyVals[0+yyTop]).String2Int());
- yyVal = IL;
- }
- break;
-case 257:
- // line 2183 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {BoolLiteral BL = new BoolLiteral();
- BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool());
- yyVal = BL;
- }
- break;
-case 258:
- // line 2187 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {CharLiteral CL = new CharLiteral();
- CL.set_Char(((Token)yyVals[0+yyTop]).CharInString());
- yyVal=CL;
- }
- break;
-case 259:
- // line 2192 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- StringLiteral ST = new StringLiteral();
- ST.set_String(((Token)yyVals[0+yyTop]).get_String());
- yyVal=ST;
- }
- break;
-case 260:
- // line 2197 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- { LongLiteral LL = new LongLiteral();
- LL.set_Long(((Token)yyVals[0+yyTop]).String2Long());
- yyVal = LL;
- }
- break;
-case 261:
- // line 2201 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- FloatLiteral FL = new FloatLiteral();
- FL.set_Float(((Token)yyVals[0+yyTop]).String2Float());
- yyVal = FL;
- }
- break;
-case 262:
- // line 2206 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- DoubleLiteral DL = new DoubleLiteral();
- DL.set_Double(((Token)yyVals[0+yyTop]).String2Double());
- yyVal = DL;
- }
- break;
-case 263:
- // line 2212 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Null NN = new Null();
- yyVal=NN;
- }
- break;
-case 264:
- // line 2231 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 265:
- // line 2235 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- }
- break;
-case 266:
- // line 2239 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 267:
- // line 2243 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary EQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- EqualOp EO = new EqualOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- EQ.set_Expr1(((Expr)yyVals[-2+yyTop]));
- EQ.set_Expr2(((Expr)yyVals[0+yyTop]));
- EQ.set_Operator(EO);
- /*auskommentiert von Andreas Stadelmeier (a10023) EQ.setType(TypePlaceholder.fresh());*/
- yyVal=EQ;
- }
- break;
-case 268:
- // line 2253 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary NEQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- NotEqualOp NEO = new NotEqualOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- NEQ.set_Expr1(((Expr)yyVals[-2+yyTop]));
- NEQ.set_Expr2(((Expr)yyVals[0+yyTop]));
- NEQ.set_Operator(NEO);
- /*auskommentiert von Andreas Stadelmeier (a10023) NEQ.setType(TypePlaceholder.fresh());*/
- yyVal=NEQ;
- }
- break;
-case 269:
- // line 2264 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 270:
- // line 2268 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary LO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- LessOp LOO = new LessOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- LO.set_Expr1(((Expr)yyVals[-2+yyTop]));
- LO.set_Expr2(((Expr)yyVals[0+yyTop]));
- LO.set_Operator(LOO);
- /*auskommentiert von Andreas Stadelmeier (a10023) LO.setType(TypePlaceholder.fresh());*/
- yyVal=LO;
- }
- break;
-case 271:
- // line 2278 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary GO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- GreaterOp GOO = new GreaterOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- GO.set_Expr1(((Expr)yyVals[-2+yyTop]));
- GO.set_Expr2(((Expr)yyVals[0+yyTop]));
- GO.set_Operator( GOO );
- /*auskommentiert von Andreas Stadelmeier (a10023) GO.setType(TypePlaceholder.fresh());*/
- yyVal=GO;
- }
- break;
-case 272:
- // line 2288 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary LE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- LessEquOp LEO = new LessEquOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- LE.set_Expr1(((Expr)yyVals[-2+yyTop]));
- LE.set_Expr2(((Expr)yyVals[0+yyTop]));
- LE.set_Operator(LEO);
- /*auskommentiert von Andreas Stadelmeier (a10023) LE.setType(TypePlaceholder.fresh());*/
- yyVal=LE;
- }
- break;
-case 273:
- // line 2298 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary GE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- GreaterEquOp GEO = new GreaterEquOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- GE.set_Expr1(((Expr)yyVals[-2+yyTop]));
- GE.set_Expr2(((Expr)yyVals[0+yyTop]));
- GE.set_Operator(GEO);
- /*auskommentiert von Andreas Stadelmeier (a10023) GE.setType(TypePlaceholder.fresh());*/
- yyVal=GE;
- }
- break;
-case 274:
- // line 2308 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- ISO.set_Expr(((Expr)yyVals[-2+yyTop]));
- ISO.set_Type(((RefType)yyVals[0+yyTop]));
- yyVal=ISO;
- }
- break;
-case 275:
- // line 2316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 276:
- // line 2321 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 277:
- // line 2325 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary AD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- PlusOp PO = new PlusOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- AD.set_Expr1(((Expr)yyVals[-2+yyTop]));
- AD.set_Expr2(((Expr)yyVals[0+yyTop]));
- AD.set_Operator(PO);
- /*auskommentiert von Andreas Stadelmeier (a10023) AD.setType(TypePlaceholder.fresh());*/
- yyVal=AD;
- }
- break;
-case 278:
- // line 2335 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary MI = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- MinusOp MO = new MinusOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- MI.set_Expr1(((Expr)yyVals[-2+yyTop]));
- MI.set_Expr2(((Expr)yyVals[0+yyTop]));
- MI.set_Operator(MO);
- /*auskommentiert von Andreas Stadelmeier (a10023) MI.setType(TypePlaceholder.fresh());*/
- yyVal=MI;
- }
- break;
-case 279:
- // line 2346 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 280:
- // line 2350 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary ML = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- TimesOp TO = new TimesOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- ML.set_Expr1(((Expr)yyVals[-2+yyTop]));
- ML.set_Expr2(((Expr)yyVals[0+yyTop]));
- ML.set_Operator(TO);
- /*auskommentiert von Andreas Stadelmeier (a10023) ML.setType(TypePlaceholder.fresh());*/
- yyVal=ML;
- }
- break;
-case 281:
- // line 2360 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary DV = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- DivideOp DO = new DivideOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- DV.set_Expr1(((Expr)yyVals[-2+yyTop]));
- DV.set_Expr2(((Expr)yyVals[0+yyTop]));
- DV.set_Operator(DO);
- /*auskommentiert von Andreas Stadelmeier (a10023) DV.setType(TypePlaceholder.fresh());*/
- yyVal = DV;
- }
- break;
-case 282:
- // line 2370 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
- {
- Binary MD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- ModuloOp MO = new ModuloOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
- MD.set_Expr1(((Expr)yyVals[-2+yyTop]));
- MD.set_Expr2(((Expr)yyVals[0+yyTop]));
- MD.set_Operator(MO);
- /*auskommentiert von Andreas Stadelmeier (a10023) MD.setType(TypePlaceholder.fresh());*/
- yyVal =MD;
- }
- break;
- // line 3057 "-"
- }
- yyTop -= yyLen[yyN];
- yyState = yyStates[yyTop];
- int yyM = yyLhs[yyN];
- if (yyState == 0 && yyM == 0) {
-//t if (yydebug != null) yydebug.shift(0, yyFinal);
- yyState = yyFinal;
- if (yyToken < 0) {
- yyToken = yyLex.advance() ? yyLex.token() : 0;
-//t if (yydebug != null)
-//t yydebug.lex(yyState, yyToken,yyname(yyToken), yyLex.value());
- }
- if (yyToken == 0) {
-//t if (yydebug != null) yydebug.accept(yyVal);
- return yyVal;
- }
- continue yyLoop;
- }
- if ((yyN = yyGindex[yyM]) != 0 && (yyN += yyState) >= 0
- && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyState)
- yyState = yyTable[yyN];
- else
- yyState = yyDgoto[yyM];
-//t if (yydebug != null) yydebug.shift(yyStates[yyTop], yyState);
- continue yyLoop;
- }
- }
- }
-
- protected static final short yyLhs [] = { -1,
- 0, 0, 0, 0, 0, 96, 27, 27, 26, 90,
- 90, 28, 28, 103, 103, 24, 25, 25, 23, 1,
- 1, 1, 1, 1, 1, 1, 1, 9, 9, 8,
- 8, 2, 2, 2, 2, 109, 109, 109, 109, 109,
- 109, 112, 112, 112, 7, 7, 38, 38, 29, 33,
- 33, 3, 3, 34, 34, 16, 16, 39, 39, 39,
- 39, 39, 39, 30, 4, 4, 32, 17, 17, 17,
- 31, 110, 110, 110, 110, 111, 111, 5, 5, 18,
- 18, 108, 104, 104, 10, 6, 20, 20, 11, 12,
- 12, 12, 12, 12, 12, 14, 40, 40, 105, 105,
- 106, 106, 106, 106, 46, 92, 95, 95, 91, 91,
- 93, 93, 94, 94, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 37, 37, 19, 19, 41,
- 42, 42, 48, 48, 107, 107, 107, 107, 36, 36,
- 15, 15, 35, 21, 78, 78, 47, 47, 101, 101,
- 22, 76, 44, 79, 79, 79, 79, 79, 79, 69,
- 69, 45, 45, 77, 77, 77, 77, 84, 85, 81,
- 82, 82, 82, 82, 82, 82, 82, 82, 67, 67,
- 87, 75, 88, 88, 80, 80, 80, 66, 97, 97,
- 70, 70, 70, 70, 70, 70, 86, 83, 65, 65,
- 99, 43, 43, 49, 49, 68, 100, 98, 98, 98,
- 98, 98, 98, 71, 72, 73, 74, 102, 102, 102,
- 102, 89, 89, 64, 64, 55, 55, 55, 55, 55,
- 53, 53, 53, 53, 52, 63, 63, 51, 51, 51,
- 51, 54, 54, 62, 62, 50, 50, 50, 50, 50,
- 50, 50, 50, 61, 61, 60, 60, 60, 59, 59,
- 59, 59, 59, 59, 58, 57, 57, 57, 56, 56,
- 56, 56,
- };
- protected static final short yyLen [] = { 2,
- 1, 2, 3, 2, 3, 3, 1, 2, 3, 1,
- 2, 1, 1, 1, 1, 3, 3, 3, 1, 3,
- 4, 4, 5, 4, 5, 5, 6, 1, 4, 1,
- 4, 3, 4, 4, 5, 1, 4, 1, 3, 6,
- 3, 1, 3, 3, 2, 3, 1, 2, 2, 2,
- 3, 2, 3, 2, 3, 1, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
- 2, 1, 3, 3, 1, 0, 3, 1, 1, 1,
- 1, 2, 2, 3, 6, 2, 3, 1, 3, 3,
- 2, 4, 2, 3, 4, 2, 2, 3, 3, 4,
- 2, 3, 3, 4, 2, 1, 1, 3, 1, 3,
- 1, 3, 1, 3, 3, 2, 3, 4, 3, 4,
- 4, 5, 2, 3, 3, 4, 3, 4, 4, 5,
- 1, 2, 2, 2, 3, 1, 3, 1, 3, 1,
- 1, 2, 1, 3, 4, 5, 4, 5, 1, 3,
- 3, 4, 1, 1, 1, 1, 2, 1, 1, 3,
- 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
- 1, 2, 1, 1, 1, 1, 1, 5, 7, 5,
- 9, 8, 8, 8, 7, 7, 7, 6, 1, 1,
- 1, 2, 2, 3, 1, 1, 1, 1, 3, 3,
- 1, 1, 1, 1, 1, 1, 7, 5, 1, 3,
- 1, 1, 1, 2, 3, 3, 1, 1, 1, 1,
- 1, 1, 1, 2, 2, 2, 2, 3, 4, 5,
- 6, 4, 5, 1, 3, 1, 1, 2, 2, 1,
- 1, 1, 1, 1, 1, 1, 3, 1, 1, 1,
- 1, 1, 2, 1, 3, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 3, 1, 3, 3, 1, 3,
- 3, 3, 3, 3, 1, 1, 3, 3, 1, 3,
- 3, 3,
- };
- protected static final short yyDefRed [] = { 0,
- 62, 0, 63, 60, 59, 58, 0, 0, 0, 61,
- 19, 0, 14, 15, 13, 12, 7, 0, 0, 153,
- 0, 0, 0, 47, 0, 0, 10, 0, 0, 0,
- 0, 0, 0, 0, 8, 0, 0, 0, 71, 0,
- 0, 0, 0, 48, 11, 0, 0, 0, 0, 0,
- 0, 20, 0, 0, 6, 9, 0, 0, 0, 0,
- 32, 0, 16, 0, 72, 0, 75, 137, 5, 0,
- 0, 0, 0, 106, 107, 0, 49, 64, 67, 50,
- 0, 0, 0, 0, 45, 0, 80, 0, 81, 0,
- 0, 56, 68, 0, 0, 0, 154, 0, 0, 0,
- 70, 0, 69, 22, 0, 0, 24, 0, 18, 0,
- 54, 0, 52, 0, 65, 79, 78, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 77, 21, 0, 0,
- 33, 0, 0, 0, 31, 0, 82, 0, 0, 0,
- 113, 0, 0, 132, 0, 140, 96, 0, 134, 46,
- 57, 0, 93, 91, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 83, 26, 51, 29,
- 53, 66, 0, 86, 0, 55, 43, 44, 73, 74,
- 23, 0, 25, 35, 111, 0, 108, 0, 0, 0,
- 0, 0, 0, 256, 260, 262, 261, 257, 263, 258,
- 259, 0, 0, 0, 191, 97, 0, 0, 138, 0,
- 0, 174, 0, 155, 0, 0, 248, 245, 0, 0,
- 251, 0, 202, 203, 0, 0, 176, 164, 141, 156,
- 167, 168, 165, 166, 175, 177, 201, 0, 0, 169,
- 125, 151, 158, 0, 143, 0, 0, 89, 0, 0,
- 0, 0, 149, 0, 161, 139, 0, 249, 0, 0,
- 0, 0, 0, 240, 279, 0, 0, 269, 0, 0,
- 0, 0, 0, 0, 0, 189, 170, 87, 236, 237,
- 243, 244, 171, 190, 250, 99, 0, 119, 94, 90,
- 0, 0, 0, 135, 0, 0, 84, 101, 0, 0,
- 0, 27, 0, 0, 0, 193, 0, 0, 0, 0,
- 0, 224, 225, 214, 0, 0, 0, 98, 142, 163,
- 211, 0, 0, 226, 227, 192, 222, 223, 219, 220,
- 221, 218, 0, 157, 0, 152, 114, 129, 120, 92,
- 0, 0, 238, 239, 253, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 100, 126, 0, 0, 121, 95, 103, 102,
- 0, 0, 112, 0, 0, 0, 194, 0, 159, 0,
- 0, 0, 0, 215, 228, 0, 212, 216, 213, 0,
- 199, 200, 144, 150, 0, 280, 281, 282, 0, 0,
- 274, 272, 273, 270, 271, 0, 0, 0, 0, 0,
- 0, 0, 130, 122, 104, 0, 0, 0, 0, 0,
- 147, 0, 0, 145, 0, 0, 229, 0, 232, 0,
- 85, 0, 0, 0, 0, 0, 0, 0, 0, 178,
- 0, 197, 196, 160, 148, 146, 180, 230, 0, 233,
- 188, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 231, 187, 186, 0, 185, 0, 0, 0, 0, 0,
- 179, 184, 183, 182, 0, 0, 0, 181, 0, 208,
- 0, 207,
- };
- protected static final short yyDgoto [] = { 12,
- 13, 14, 61, 114, 115, 116, 52, 29, 34, 117,
- 86, 87, 88, 89, 90, 91, 92, 93, 208, 95,
- 209, 97, 15, 16, 31, 17, 18, 262, 53, 77,
- 20, 80, 54, 62, 21, 254, 211, 23, 24, 212,
- 147, 213, 388, 214, 215, 149, 245, 246, 216, 217,
- 218, 219, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 221, 379, 222,
- 279, 280, 281, 282, 227, 0, 228, 229, 230, 441,
- 231, 232, 442, 233, 234, 443, 235, 236, 283, 25,
- 74, 75, 186, 142, 76, 26, 284, 333, 322, 238,
- 380, 285, 27, 101, 102, 167, 240, 103, 0, 66,
- 39, 67,
- };
- protected static final short yySindex [] = { 411,
- 0, -224, 0, 0, 0, 0, -208, -208, -184, 0,
- 0, 0, 0, 0, 0, 0, 0, 233, 165, 0,
- 73, -208, 727, 0, 993, 233, 0, 110, -96, 332,
- 117, 141, 135, -87, 0, 993, -66, -46, 0, 154,
- 411, -224, -184, 0, 0, 233, 993, -45, -208, -208,
- -50, 0, -92, -11, 0, 0, -42, -45, -208, 681,
- 0, 9, 0, -200, 0, 168, 0, 0, 0, -96,
- -87, 993, 20, 0, 0, 187, 0, 0, 0, 0,
- 163, 21, 250, -45, 0, 33, 0, 163, 0, 52,
- 2325, 0, 0, 271, 261, 309, 0, 336, 81, 2354,
- 0, 272, 0, 0, -11, -208, 0, 0, 0, 206,
- 0, 250, 0, 2328, 0, 0, 0, 33, 348, 21,
- 2354, -208, 0, -208, -208, -46, 0, 0, -92, -11,
- 0, 9, -208, -45, 0, 1960, 0, 250, 52, -34,
- 0, 209, 21, 0, 81, 0, 0, -208, 0, 0,
- 0, 136, 0, 0, 906, -29, 250, 52, 284, 359,
- 21, 143, 52, 81, 272, 2029, 0, 0, 0, 0,
- 0, 0, 21, 0, 164, 0, 0, 0, 0, 0,
- 0, -11, 0, 0, 0, 394, 0, 424, 426, 409,
- 431, 432, 436, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 923, 923, 0, 0, -22, 433, 0, 279,
- 136, 0, 2070, 0, 422, 162, 0, 0, 457, 105,
- 0, 446, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -39, 0, 0,
- 0, 0, 0, 136, 0, 72, -45, 0, 52, 52,
- 448, 309, 0, 471, 0, 0, -208, 0, 923, 923,
- 923, 30, 105, 0, 0, 406, 39, 0, 34, 131,
- 478, 427, 404, 222, 234, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 442, 0, 0, 0,
- 52, 21, 21, 0, 52, 285, 0, 0, 2104, 2139,
- 59, 0, -208, 449, 906, 0, 488, 543, 590, 906,
- 30, 0, 0, 0, 444, 619, 433, 0, 0, 0,
- 0, 636, 248, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 906, 0, 253, 0, 0, 0, 0, 0,
- -208, 520, 0, 0, 0, 923, 923, 923, 923, 923,
- -208, 923, 923, 923, 923, 923, 923, 923, 923, 923,
- 923, 923, 0, 0, 52, 52, 0, 0, 0, 0,
- 2171, 906, 0, 492, 506, 525, 0, 510, 0, 454,
- 513, 456, 532, 0, 0, 460, 0, 0, 0, 534,
- 0, 0, 0, 0, 680, 0, 0, 0, 406, 406,
- 0, 0, 0, 0, 0, 34, 34, 131, 478, 427,
- 404, 222, 0, 0, 0, 516, 720, 518, 737, 2211,
- 0, 906, 519, 0, 523, 2250, 0, 764, 0, 482,
- 0, 2250, 546, 781, 833, 544, 553, 562, 0, 0,
- 338, 0, 0, 0, 0, 0, 0, 0, 514, 0,
- 0, 2250, 2250, 566, 2250, 567, 860, 906, 906, 2250,
- 0, 0, 0, 2250, 0, 2250, 2250, 568, 569, 580,
- 0, 0, 0, 0, 2250, 2211, 2211, 0, 355, 0,
- 2211, 0,
- };
- protected static final short yyRindex [] = { 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1054, 0,
- 2299, 0, 0, 0, 625, 0, 0, -93, 0, 0,
- 0, 0, -77, 0, 0, 628, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 632, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 283, 0, 0, 0, 0, 0, 0,
- 0, 637, 331, 0, 0, 0, 0, 0, 0, 0,
- 2358, 0, -12, 0, 0, 0, 0, 0, 0, -15,
- 0, 0, 0, 0, 0, 324, 0, -32, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 333, 0, 0,
- 0, -20, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 366, 24, 0, 0,
- 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 337, 0, 0, 0, 0,
- 0, -35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -3, 0, 0, 0, 0, 0, 577, 0, 303,
- 0, 0, 0, 0, 0, 0, 0, 0, 1192, 0,
- 0, 0, 0, 0, -24, -14, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, -43, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 38, 50,
- 0, 583, 0, 51, 0, 0, 0, 0, 0, 0,
- 0, 554, 1971, 0, 0, 1607, 1644, 0, 1754, 1681,
- 1201, 1129, 1246, 1305, 1331, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 0, 0, 0, 95, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1368, 0, 0, 0, 0, 0, 584, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 100, 101, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1880, 1917,
- 0, 0, 0, 0, 0, 1773, 1809, 1718, 1479, 1407,
- 1521, 1584, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1841, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,
- };
- protected static final short yyGindex [] = { 598,
- 0, 0, -8, 0, 530, 0, 646, 611, 613, 0,
- 14, 0, 31, 0, 2551, 0, 563, 0, 4, 84,
- 47, -138, 102, 0, 0, 191, 631, 1, 588, -124,
- -44, 267, 19, 592, 18, 0, 80, 232, 44, -68,
- 0, -145, 0, 0, 0, 1498, 326, -51, 0, 0,
- 0, 0, -55, 0, 386, 97, 0, 107, 94, 307,
- 308, 306, 310, 311, 0, 0, 339, 0, -126, 0,
- -36, 3, 67, 86, 0, 0, -238, -209, 2226, -75,
- 0, 0, 0, 0, 0, 0, 0, 0, 342, 362,
- -59, 536, 0, 0, 624, 0, 104, 0, 0, 0,
- -243, 174, 185, 0, 585, 512, 517, 0, 0, 0,
- 0, 560,
- };
- protected static final short yyTable [] = { 109,
- 19, 243, 250, 319, 78, 79, 242, 30, 32, 84,
- 249, 286, 137, 13, 79, 206, 64, 243, 314, 146,
- 299, 332, 19, 253, 141, 19, 51, 13, 278, 30,
- 51, 161, 106, 19, 204, 60, 19, 161, 19, 19,
- 161, 19, 19, 131, 205, 28, 161, 19, 161, 19,
- 19, 19, 122, 123, 94, 161, 19, 19, 13, 19,
- 19, 79, 131, 307, 123, 382, 44, 124, 243, 316,
- 19, 105, 386, 118, 85, 37, 28, 79, 19, 22,
- 220, 349, 116, 350, 125, 133, 19, 19, 130, 319,
- 119, 19, 11, 354, 94, 355, 127, 96, 140, 223,
- 19, 41, 159, 78, 287, 334, 19, 131, 115, 105,
- 220, 51, 336, 162, 19, 335, 33, 65, 19, 372,
- 22, 19, 19, 184, 19, 19, 19, 118, 123, 223,
- 99, 60, 342, 19, 162, 124, 210, 96, 224, 120,
- 19, 177, 178, 44, 119, 96, 116, 182, 19, 133,
- 185, 430, 98, 117, 371, 315, 19, 220, 128, 118,
- 127, 319, 19, 40, 44, 145, 210, 296, 224, 48,
- 99, 49, 115, 105, 30, 56, 223, 375, 376, 164,
- 59, 439, 160, 383, 449, 50, 57, 337, 30, 50,
- 28, 252, 98, 120, 58, 389, 243, 173, 256, 124,
- 175, 98, 225, 311, 311, 179, 1, 19, 35, 45,
- 37, 126, 78, 210, 317, 224, 394, 117, 3, 244,
- 45, 226, 128, 118, 38, 4, 5, 6, 251, 127,
- 134, 45, 225, 81, 63, 244, 35, 439, 439, 237,
- 82, 293, 439, 220, 220, 416, 68, 418, 135, 134,
- 83, 226, 247, 387, 11, 73, 45, 19, 108, 311,
- 311, 311, 223, 223, 250, 250, 202, 170, 13, 237,
- 248, 202, 249, 249, 327, 328, 329, 330, 202, 225,
- 19, 331, 100, 243, 243, 136, 244, 133, 19, 140,
- 433, 121, 436, 244, 244, 444, 78, 19, 226, 210,
- 210, 224, 224, 19, 19, 19, 351, 454, 456, 239,
- 19, 19, 19, 19, 152, 220, 237, 19, 316, 154,
- 373, 138, 100, 143, 37, 111, 42, 152, 152, 153,
- 468, 469, 470, 112, 223, 19, 352, 353, 38, 239,
- 148, 19, 289, 368, 42, 121, 311, 311, 311, 311,
- 311, 19, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 217, 220, 225, 225, 138, 401, 155,
- 220, 210, 169, 224, 109, 156, 220, 37, 16, 36,
- 110, 157, 88, 223, 226, 226, 239, 47, 176, 223,
- 55, 17, 109, 76, 166, 223, 220, 220, 110, 220,
- 479, 480, 237, 237, 220, 482, 174, 72, 220, 161,
- 220, 220, 324, 325, 244, 223, 223, 290, 223, 220,
- 220, 220, 224, 223, 161, 220, 161, 223, 224, 223,
- 223, 303, 356, 292, 224, 357, 255, 225, 223, 223,
- 223, 261, 348, 11, 223, 399, 400, 346, 207, 406,
- 407, 259, 347, 260, 224, 224, 226, 224, 402, 403,
- 404, 405, 224, 304, 301, 305, 224, 306, 224, 224,
- 308, 309, 239, 239, 237, 310, 152, 224, 224, 224,
- 320, 261, 363, 224, 384, 335, 225, 335, 207, 1,
- 321, 259, 225, 260, 423, 2, 425, 422, 225, 422,
- 427, 3, 323, 422, 326, 226, 340, 374, 4, 5,
- 6, 226, 8, 9, 341, 358, 10, 226, 225, 225,
- 359, 225, 450, 237, 261, 422, 225, 360, 361, 237,
- 225, 207, 225, 225, 259, 237, 260, 226, 226, 362,
- 226, 225, 225, 225, 239, 226, 377, 225, 390, 226,
- 417, 226, 226, 202, 461, 237, 237, 422, 237, 395,
- 226, 226, 226, 237, 419, 420, 226, 237, 421, 237,
- 237, 424, 426, 428, 431, 261, 434, 445, 237, 237,
- 237, 446, 207, 378, 237, 259, 452, 260, 312, 313,
- 242, 242, 458, 239, 242, 242, 242, 242, 242, 239,
- 242, 459, 457, 76, 460, 239, 464, 466, 475, 476,
- 242, 242, 242, 242, 217, 242, 217, 217, 217, 217,
- 477, 481, 261, 217, 1, 239, 239, 2, 239, 207,
- 381, 4, 259, 239, 260, 173, 3, 239, 69, 239,
- 239, 88, 172, 172, 343, 344, 345, 242, 239, 239,
- 239, 261, 70, 151, 239, 71, 46, 129, 207, 385,
- 393, 259, 132, 260, 408, 410, 409, 1, 261, 187,
- 411, 391, 412, 2, 392, 207, 297, 242, 259, 3,
- 260, 110, 300, 257, 165, 180, 4, 5, 6, 7,
- 8, 9, 0, 0, 10, 258, 0, 0, 104, 107,
- 0, 194, 195, 196, 197, 198, 199, 200, 201, 11,
- 0, 11, 261, 0, 0, 128, 203, 204, 0, 207,
- 429, 0, 259, 257, 260, 0, 0, 0, 0, 0,
- 0, 396, 397, 398, 0, 258, 0, 0, 0, 0,
- 84, 194, 195, 196, 197, 198, 199, 200, 201, 11,
- 168, 0, 261, 0, 0, 0, 203, 204, 136, 207,
- 432, 0, 259, 0, 260, 0, 257, 0, 0, 261,
- 0, 0, 0, 0, 181, 183, 207, 0, 258, 259,
- 0, 260, 0, 0, 194, 195, 196, 197, 198, 199,
- 200, 201, 11, 0, 0, 435, 261, 0, 0, 203,
- 204, 0, 0, 207, 448, 113, 259, 0, 260, 0,
- 0, 0, 0, 261, 0, 0, 0, 257, 0, 0,
- 207, 453, 0, 259, 0, 260, 242, 302, 0, 258,
- 0, 0, 0, 0, 0, 194, 195, 196, 197, 198,
- 199, 200, 201, 11, 0, 0, 0, 0, 0, 0,
- 203, 204, 0, 0, 0, 242, 242, 242, 242, 242,
- 242, 242, 242, 0, 257, 261, 0, 217, 217, 217,
- 217, 0, 207, 455, 217, 259, 258, 260, 0, 0,
- 0, 0, 194, 195, 196, 197, 198, 199, 200, 201,
- 11, 0, 261, 257, 0, 0, 0, 203, 204, 207,
- 467, 0, 259, 0, 260, 258, 0, 0, 0, 0,
- 257, 194, 195, 196, 197, 198, 199, 200, 201, 11,
- 0, 0, 258, 0, 0, 0, 203, 204, 194, 195,
- 196, 197, 198, 199, 200, 201, 11, 1, 261, 0,
- 0, 0, 0, 203, 204, 207, 0, 0, 259, 3,
- 260, 0, 0, 0, 257, 261, 4, 5, 6, 0,
- 0, 0, 207, 0, 10, 259, 258, 260, 0, 0,
- 0, 82, 194, 195, 196, 197, 198, 199, 200, 201,
- 11, 112, 0, 1, 0, 0, 0, 203, 204, 42,
- 0, 0, 0, 0, 257, 3, 0, 0, 0, 0,
- 0, 0, 4, 5, 6, 0, 258, 43, 0, 0,
- 10, 257, 194, 195, 196, 197, 198, 199, 200, 201,
- 11, 0, 0, 258, 0, 0, 0, 203, 204, 194,
- 195, 196, 197, 198, 199, 200, 201, 11, 257, 0,
- 0, 0, 0, 0, 203, 204, 0, 0, 0, 0,
- 258, 0, 0, 0, 0, 257, 194, 195, 196, 197,
- 198, 199, 200, 201, 11, 0, 0, 258, 0, 0,
- 0, 203, 204, 194, 195, 196, 197, 198, 199, 200,
- 201, 11, 0, 0, 0, 0, 0, 0, 203, 204,
- 76, 76, 0, 76, 76, 76, 76, 76, 76, 0,
- 76, 0, 0, 0, 0, 0, 0, 257, 0, 0,
- 0, 0, 76, 0, 0, 76, 0, 0, 0, 258,
- 0, 0, 0, 0, 0, 194, 195, 196, 197, 198,
- 199, 200, 201, 11, 257, 0, 0, 0, 0, 0,
- 203, 204, 0, 0, 76, 0, 258, 76, 0, 0,
- 0, 0, 194, 195, 196, 197, 198, 199, 200, 201,
- 11, 0, 0, 0, 0, 246, 246, 203, 204, 246,
- 246, 246, 246, 246, 246, 246, 76, 76, 0, 0,
- 257, 0, 0, 0, 0, 0, 0, 246, 246, 0,
- 246, 0, 258, 0, 0, 0, 0, 0, 194, 195,
- 196, 197, 198, 199, 200, 201, 11, 0, 0, 258,
- 0, 0, 0, 203, 204, 194, 195, 196, 197, 198,
- 199, 200, 201, 11, 0, 0, 0, 0, 241, 241,
- 203, 204, 241, 241, 241, 241, 241, 254, 241, 0,
- 0, 254, 254, 254, 254, 254, 254, 254, 0, 1,
- 241, 241, 246, 241, 0, 2, 0, 0, 0, 254,
- 254, 3, 254, 0, 0, 0, 0, 0, 4, 5,
- 6, 0, 0, 9, 0, 0, 10, 0, 0, 0,
- 0, 0, 234, 234, 0, 241, 234, 234, 234, 234,
- 234, 234, 234, 0, 254, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 234, 234, 0, 234, 0, 0,
- 76, 0, 0, 0, 0, 241, 76, 0, 0, 0,
- 0, 0, 76, 0, 254, 0, 76, 0, 0, 76,
- 76, 76, 76, 76, 76, 76, 0, 76, 0, 234,
- 0, 209, 209, 0, 0, 209, 209, 209, 209, 209,
- 209, 209, 0, 0, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 209, 209, 0, 209, 198, 198, 0,
- 0, 198, 198, 198, 198, 198, 198, 198, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 198, 0, 198, 0, 0, 0, 0, 0, 209, 0,
- 0, 246, 0, 0, 242, 242, 0, 0, 242, 242,
- 242, 242, 242, 0, 242, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 198, 0, 242, 242, 209, 242,
- 246, 246, 246, 246, 246, 246, 246, 246, 0, 0,
- 0, 0, 0, 247, 247, 0, 0, 247, 247, 247,
- 247, 247, 247, 247, 198, 0, 0, 0, 0, 0,
- 0, 242, 0, 0, 241, 247, 247, 0, 247, 0,
- 0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 242, 0, 241, 241, 241, 241, 241, 241, 241,
- 241, 0, 254, 254, 254, 254, 254, 254, 254, 254,
- 0, 0, 0, 0, 0, 255, 0, 0, 234, 255,
- 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
- 247, 0, 0, 0, 0, 0, 0, 255, 255, 0,
- 255, 0, 0, 0, 0, 0, 0, 234, 234, 234,
- 234, 234, 234, 234, 234, 0, 0, 235, 235, 0,
- 0, 235, 235, 235, 235, 235, 235, 235, 0, 0,
- 0, 0, 255, 0, 0, 0, 0, 209, 0, 235,
- 235, 0, 235, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 255, 198, 0, 0, 209, 209, 209, 209,
- 209, 0, 209, 209, 235, 0, 0, 0, 0, 0,
- 210, 210, 0, 0, 210, 210, 210, 210, 210, 210,
- 210, 0, 198, 198, 198, 198, 241, 198, 198, 198,
- 242, 0, 210, 210, 276, 210, 0, 276, 0, 276,
- 276, 276, 276, 0, 0, 288, 0, 0, 0, 0,
- 294, 0, 0, 0, 0, 276, 276, 0, 276, 242,
- 242, 242, 242, 242, 242, 242, 242, 210, 0, 247,
- 275, 275, 0, 0, 275, 275, 0, 275, 0, 275,
- 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 276, 0, 275, 275, 0, 275, 0, 210, 247, 247,
- 247, 247, 247, 247, 247, 247, 0, 264, 264, 0,
- 0, 264, 264, 264, 264, 264, 264, 264, 0, 0,
- 276, 0, 0, 0, 0, 0, 0, 275, 0, 264,
- 264, 0, 264, 0, 0, 0, 338, 339, 0, 0,
- 0, 255, 0, 0, 265, 265, 0, 0, 265, 265,
- 265, 265, 265, 265, 265, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 264, 0, 265, 265, 0, 265,
- 255, 255, 255, 255, 255, 255, 255, 255, 364, 0,
- 266, 266, 367, 235, 266, 266, 266, 266, 266, 266,
- 266, 0, 0, 0, 264, 0, 0, 0, 0, 267,
- 267, 265, 266, 267, 267, 267, 267, 267, 267, 267,
- 0, 0, 235, 235, 235, 235, 235, 235, 235, 235,
- 0, 267, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 265, 0, 0, 0, 268, 268, 266, 0, 268,
- 268, 268, 268, 268, 268, 268, 210, 0, 0, 0,
- 0, 0, 413, 414, 0, 0, 267, 268, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 266, 0, 276,
- 164, 0, 0, 0, 0, 210, 210, 210, 210, 210,
- 0, 210, 210, 0, 0, 0, 267, 0, 0, 164,
- 0, 0, 268, 0, 0, 0, 0, 0, 276, 276,
- 276, 276, 276, 276, 276, 276, 275, 277, 0, 0,
- 277, 0, 277, 277, 277, 277, 0, 0, 0, 0,
- 0, 0, 268, 0, 0, 0, 0, 0, 277, 277,
- 0, 277, 0, 0, 0, 275, 275, 275, 275, 275,
- 275, 275, 275, 264, 278, 0, 0, 278, 0, 278,
- 278, 278, 278, 164, 0, 164, 0, 0, 0, 0,
- 0, 0, 0, 277, 0, 278, 278, 0, 278, 0,
- 0, 0, 0, 264, 264, 0, 264, 264, 264, 264,
- 265, 0, 0, 0, 0, 0, 0, 0, 0, 207,
- 0, 0, 0, 277, 0, 0, 0, 252, 252, 0,
- 278, 252, 252, 252, 252, 252, 252, 252, 205, 0,
- 265, 265, 0, 265, 265, 265, 265, 0, 0, 252,
- 252, 0, 252, 0, 0, 0, 0, 0, 0, 0,
- 278, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 266, 0, 0, 266, 266,
- 266, 266, 266, 0, 252, 0, 0, 0, 207, 0,
- 0, 0, 0, 0, 267, 0, 0, 267, 267, 267,
- 267, 267, 136, 0, 206, 0, 0, 205, 0, 0,
- 0, 0, 0, 0, 252, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 195, 0, 207,
- 268, 164, 164, 268, 268, 268, 268, 268, 0, 0,
- 0, 0, 0, 164, 0, 164, 0, 164, 205, 0,
- 0, 0, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 0, 207, 0, 0, 0, 0, 164, 164,
- 0, 136, 277, 298, 0, 0, 0, 0, 0, 0,
- 0, 0, 205, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 207, 0,
- 0, 277, 277, 277, 277, 277, 277, 277, 277, 278,
- 0, 0, 136, 0, 318, 0, 0, 205, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 207, 0, 0, 0, 0, 0, 0, 0, 278, 278,
- 278, 278, 278, 278, 278, 278, 136, 0, 369, 205,
- 188, 189, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 190, 252, 191, 0, 192, 0, 0, 0,
- 207, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 136, 0, 370, 0, 0, 0, 203, 204, 205,
- 0, 0, 252, 252, 252, 252, 252, 252, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 207,
- 0, 0, 0, 136, 0, 415, 0, 0, 0, 188,
- 189, 0, 0, 0, 0, 0, 0, 0, 205, 0,
- 0, 190, 0, 191, 0, 192, 0, 0, 0, 0,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 0, 0, 0, 136, 0, 0, 203, 204, 0, 0,
- 188, 189, 136, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 190, 0, 191, 0, 192, 0, 0, 0,
- 136, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 0, 136, 0, 188, 189, 0, 203, 204, 0,
- 0, 0, 0, 0, 84, 0, 190, 84, 191, 0,
- 192, 0, 0, 0, 0, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 0, 0, 0, 0, 188,
- 189, 203, 204, 84, 0, 0, 0, 61, 0, 0,
- 0, 190, 0, 191, 0, 192, 0, 0, 0, 0,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 0, 188, 189, 0, 0, 0, 203, 204, 0, 150,
- 0, 0, 171, 190, 0, 191, 0, 192, 0, 0,
- 0, 0, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 0, 0, 0, 0, 0, 0, 203, 204,
- 0, 188, 437, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 190, 0, 191, 0, 192, 0, 0,
- 0, 0, 438, 194, 195, 196, 197, 198, 199, 200,
- 201, 11, 0, 0, 0, 0, 0, 0, 203, 204,
- 188, 189, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 190, 0, 191, 0, 192, 0, 0, 0,
- 0, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 11, 0, 0, 0, 0, 136, 0, 203, 204, 0,
- 0, 136, 0, 0, 0, 0, 0, 136, 0, 0,
- 0, 0, 0, 0, 136, 136, 136, 136, 136, 136,
- 0, 1, 136, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 0, 0, 3, 0, 0, 136,
- 4, 5, 6, 4, 5, 6, 0, 0, 81, 0,
- 1, 10, 0, 0, 61, 82, 0, 0, 82, 0,
- 0, 0, 3, 0, 0, 83, 61, 0, 112, 4,
- 5, 6, 139, 61, 61, 61, 144, 10, 0, 0,
- 0, 61, 0, 0, 161, 440, 0, 0, 61, 158,
- 163, 447, 0, 0, 112, 0, 0, 451, 61, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 144, 0,
- 158, 163, 0, 0, 0, 0, 0, 462, 463, 0,
- 465, 0, 0, 0, 0, 471, 0, 0, 0, 472,
- 0, 473, 474, 249, 0, 250, 0, 0, 0, 0,
- 478, 440, 447, 0, 0, 0, 471, 0, 0, 0,
- 0, 291, 0, 0, 295, 0, 0, 0, 0, 0,
- 0, 0, 0, 250, 0, 295, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 365, 366,
- };
- protected short yyCheck[] = new short[2845];
-}
-class yyCheck0 {
- protected static final short yyCheck0 [] = { 42,
- 0, 140, 46, 213, 49, 50, 41, 7, 8, 60,
- 46, 41, 81, 46, 59, 59, 63, 156, 41, 88,
- 166, 61, 22, 148, 84, 46, 123, 60, 155, 123,
- 123, 44, 44, 46, 59, 123, 40, 41, 38, 60,
- 44, 41, 46, 59, 59, 123, 59, 60, 61, 49,
- 50, 51, 44, 62, 51, 59, 60, 61, 91, 59,
- 60, 106, 71, 190, 59, 309, 23, 268, 207, 40,
- 91, 53, 316, 60, 125, 46, 301, 122, 91, 0,
- 136, 43, 59, 45, 285, 59, 86, 91, 70, 299,
- 60, 91, 301, 60, 91, 62, 59, 51, 40, 136,
- 100, 22, 99, 148, 156, 244, 106, 123, 59, 59,
- 166, 123, 41, 100, 114, 44, 301, 38, 118, 61,
- 41, 121, 122, 132, 124, 125, 126, 114, 123, 166,
- 51, 123, 257, 133, 121, 59, 136, 91, 136, 60,
- 140, 124, 125, 100, 114, 99, 123, 129, 148, 123,
- 133, 395, 51, 59, 300, 207, 156, 213, 59, 59,
- 123, 371, 162, 91, 121, 86, 166, 164, 166, 60,
- 91, 268, 123, 123, 268, 59, 213, 304, 305, 100,
- 268, 420, 99, 310, 428, 282, 46, 247, 282, 282,
- 268, 145, 91, 114, 60, 322, 335, 118, 152, 123,
- 121, 100, 136, 203, 204, 126, 257, 207, 18, 25,
- 46, 44, 257, 213, 211, 213, 341, 123, 269, 140,
- 36, 136, 123, 123, 60, 276, 277, 278, 145, 62,
- 44, 47, 166, 284, 301, 156, 46, 476, 477, 136,
- 291, 162, 481, 299, 300, 372, 93, 374, 62, 44,
- 301, 166, 44, 322, 301, 301, 72, 257, 301, 259,
- 260, 261, 299, 300, 308, 309, 301, 62, 301, 166,
- 62, 301, 308, 309, 314, 315, 316, 317, 301, 213,
- 301, 321, 51, 308, 309, 123, 207, 268, 301, 40,
- 417, 60, 419, 308, 309, 422, 341, 301, 213, 299,
- 300, 299, 300, 303, 308, 309, 273, 434, 435, 136,
- 314, 315, 316, 317, 44, 371, 213, 321, 40, 59,
- 303, 301, 91, 291, 46, 59, 44, 44, 44, 59,
- 457, 458, 459, 301, 371, 335, 303, 304, 60, 166,
- 289, 341, 59, 59, 62, 114, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 61, 420, 299, 300, 44, 351, 61,
- 426, 371, 106, 371, 44, 40, 432, 46, 46, 18,
- 44, 301, 59, 420, 299, 300, 213, 26, 122, 426,
- 59, 59, 62, 91, 123, 432, 452, 453, 62, 455,
- 476, 477, 299, 300, 460, 481, 59, 46, 464, 44,
- 466, 467, 308, 309, 335, 452, 453, 59, 455, 475,
- 476, 477, 420, 460, 59, 481, 61, 464, 426, 466,
- 467, 38, 302, 291, 432, 305, 301, 371, 475, 476,
- 477, 33, 37, 301, 481, 349, 350, 42, 40, 356,
- 357, 43, 47, 45, 452, 453, 371, 455, 352, 353,
- 354, 355, 460, 40, 301, 40, 464, 59, 466, 467,
- 40, 40, 299, 300, 371, 40, 44, 475, 476, 477,
- 59, 33, 41, 481, 41, 44, 420, 44, 40, 257,
- 329, 43, 426, 45, 41, 263, 41, 44, 432, 44,
- 41, 269, 46, 44, 59, 420, 59, 59, 276, 277,
- 278, 426, 280, 281, 44, 38, 284, 432, 452, 453,
- 94, 455, 41, 420, 33, 44, 460, 124, 307, 426,
- 464, 40, 466, 467, 43, 432, 45, 452, 453, 306,
- 455, 475, 476, 477, 371, 460, 59, 481, 301, 464,
- 59, 466, 467, 301, 41, 452, 453, 44, 455, 40,
- 475, 476, 477, 460, 59, 41, 481, 464, 59, 466,
- 467, 59, 41, 40, 59, 33, 59, 59, 475, 476,
- 477, 59, 40, 41, 481, 43, 41, 45, 203, 204,
- 37, 38, 40, 420, 41, 42, 43, 44, 45, 426,
- 47, 40, 59, 301, 267, 432, 41, 41, 41, 41,
- 308, 309, 59, 60, 61, 62, 314, 315, 316, 317,
- 41, 267, 33, 321, 0, 452, 453, 0, 455, 40,
- 41, 0, 43, 460, 45, 59, 0, 464, 41, 466,
- 467, 59, 59, 114, 259, 260, 261, 94, 475, 476,
- 477, 33, 42, 91, 481, 43, 26, 70, 40, 41,
- 335, 43, 71, 45, 358, 360, 359, 257, 33, 134,
- 361, 333, 362, 263, 333, 40, 165, 124, 43, 269,
- 45, 58, 166, 275, 100, 126, 276, 277, 278, 279,
- 280, 281, -1, -1, 284, 287, -1, -1, 53, 54,
- -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, 301, 33, -1, -1, 70, 308, 309, -1, 40,
- 41, -1, 43, 275, 45, -1, -1, -1, -1, -1,
- -1, 346, 347, 348, -1, 287, -1, -1, -1, -1,
- 60, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- 105, -1, 33, -1, -1, -1, 308, 309, 123, 40,
- 41, -1, 43, -1, 45, -1, 275, -1, -1, 33,
- -1, -1, -1, -1, 129, 130, 40, -1, 287, 43,
- -1, 45, -1, -1, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, -1, -1, 59, 33, -1, -1, 308,
- 309, -1, -1, 40, 41, 125, 43, -1, 45, -1,
- -1, -1, -1, 33, -1, -1, -1, 275, -1, -1,
- 40, 41, -1, 43, -1, 45, 273, 182, -1, 287,
- -1, -1, -1, -1, -1, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, -1, -1, -1, -1, -1, -1,
- 308, 309, -1, -1, -1, 302, 303, 304, 305, 306,
- 307, 308, 309, -1, 275, 33, -1, 314, 315, 316,
- 317, -1, 40, 41, 321, 43, 287, 45, -1, -1,
- -1, -1, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, -1, 33, 275, -1, -1, -1, 308, 309, 40,
- 41, -1, 43, -1, 45, 287, -1, -1, -1, -1,
- 275, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, 287, -1, -1, -1, 308, 309, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 257, 33, -1,
- -1, -1, -1, 308, 309, 40, -1, -1, 43, 269,
- 45, -1, -1, -1, 275, 33, 276, 277, 278, -1,
- -1, -1, 40, -1, 284, 43, 287, 45, -1, -1,
- -1, 291, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 301, -1, 257, -1, -1, -1, 308, 309, 263,
- -1, -1, -1, -1, 275, 269, -1, -1, -1, -1,
- };
-}
-class yyCheck1 {
- protected static final short yyCheck1 [] = { -1,
- -1, 276, 277, 278, -1, 287, 281, -1, -1, 284,
- 275, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, 287, -1, -1, -1, 308, 309, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 275, -1, -1,
- -1, -1, -1, 308, 309, -1, -1, -1, -1, 287,
- -1, -1, -1, -1, 275, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, -1, -1, 287, -1, -1, -1,
- 308, 309, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, -1, -1, -1, -1, -1, -1, 308, 309, 37,
- 38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
- -1, -1, -1, -1, -1, -1, 275, -1, -1, -1,
- -1, 59, -1, -1, 62, -1, -1, -1, 287, -1,
- -1, -1, -1, -1, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 275, -1, -1, -1, -1, -1, 308,
- 309, -1, -1, 91, -1, 287, 94, -1, -1, -1,
- -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, -1, -1, 37, 38, 308, 309, 41, 42,
- 43, 44, 45, 46, 47, 123, 124, -1, -1, 275,
- -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
- -1, 287, -1, -1, -1, -1, -1, 293, 294, 295,
- 296, 297, 298, 299, 300, 301, -1, -1, 287, -1,
- -1, -1, 308, 309, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, -1, -1, -1, -1, 37, 38, 308,
- 309, 41, 42, 43, 44, 45, 37, 47, -1, -1,
- 41, 42, 43, 44, 45, 46, 47, -1, 257, 59,
- 60, 124, 62, -1, 263, -1, -1, -1, 59, 60,
- 269, 62, -1, -1, -1, -1, -1, 276, 277, 278,
- -1, -1, 281, -1, -1, 284, -1, -1, -1, -1,
- -1, 37, 38, -1, 94, 41, 42, 43, 44, 45,
- 46, 47, -1, 94, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, 60, -1, 62, -1, -1, 257,
- -1, -1, -1, -1, 124, 263, -1, -1, -1, -1,
- -1, 269, -1, 124, -1, 273, -1, -1, 276, 277,
- 278, 279, 280, 281, 282, -1, 284, -1, 94, -1,
- 37, 38, -1, -1, 41, 42, 43, 44, 45, 46,
- 47, -1, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 59, 60, -1, 62, 37, 38, -1, -1,
- 41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 59, 60,
- -1, 62, -1, -1, -1, -1, -1, 94, -1, -1,
- 273, -1, -1, 37, 38, -1, -1, 41, 42, 43,
- 44, 45, -1, 47, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 94, -1, 59, 60, 124, 62, 302,
- 303, 304, 305, 306, 307, 308, 309, -1, -1, -1,
- -1, -1, 37, 38, -1, -1, 41, 42, 43, 44,
- 45, 46, 47, 124, -1, -1, -1, -1, -1, -1,
- 94, -1, -1, 273, 59, 60, -1, 62, -1, -1,
- -1, -1, 273, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 124, -1, 302, 303, 304, 305, 306, 307, 308, 309,
- -1, 302, 303, 304, 305, 306, 307, 308, 309, -1,
- -1, -1, -1, -1, 37, -1, -1, 273, 41, 42,
- 43, 44, 45, 46, 47, -1, -1, -1, -1, 124,
- -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
- -1, -1, -1, -1, -1, -1, 302, 303, 304, 305,
- 306, 307, 308, 309, -1, -1, 37, 38, -1, -1,
- 41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
- -1, 94, -1, -1, -1, -1, 273, -1, 59, 60,
- -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 124, 273, -1, -1, 302, 303, 304, 305, 306,
- -1, 308, 309, 94, -1, -1, -1, -1, -1, 37,
- 38, -1, -1, 41, 42, 43, 44, 45, 46, 47,
- -1, 302, 303, 304, 305, 139, 307, 308, 309, 273,
- -1, 59, 60, 38, 62, -1, 41, -1, 43, 44,
- 45, 46, -1, -1, 158, -1, -1, -1, -1, 163,
- -1, -1, -1, -1, 59, 60, -1, 62, 302, 303,
- 304, 305, 306, 307, 308, 309, 94, -1, 273, 37,
- 38, -1, -1, 41, 42, -1, 44, -1, 46, 47,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
- -1, 59, 60, -1, 62, -1, 124, 302, 303, 304,
- 305, 306, 307, 308, 309, -1, 37, 38, -1, -1,
- 41, 42, 43, 44, 45, 46, 47, -1, -1, 124,
- -1, -1, -1, -1, -1, -1, 94, -1, 59, 60,
- -1, 62, -1, -1, -1, 249, 250, -1, -1, -1,
- 273, -1, -1, 37, 38, -1, -1, 41, 42, 43,
- 44, 45, 46, 47, -1, -1, 124, -1, -1, -1,
- -1, -1, -1, 94, -1, 59, 60, -1, 62, 302,
- 303, 304, 305, 306, 307, 308, 309, 291, -1, 37,
- 38, 295, 273, 41, 42, 43, 44, 45, 46, 47,
- -1, -1, -1, 124, -1, -1, -1, -1, 37, 38,
- 94, 59, 41, 42, 43, 44, 45, 46, 47, -1,
- -1, 302, 303, 304, 305, 306, 307, 308, 309, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 124, -1, -1, -1, 37, 38, 94, -1, 41, 42,
- 43, 44, 45, 46, 47, 273, -1, -1, -1, -1,
- -1, 365, 366, -1, -1, 94, 59, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 124, -1, 273, 40,
- -1, -1, -1, -1, 302, 303, 304, 305, 306, -1,
- 308, 309, -1, -1, -1, 124, -1, -1, 59, -1,
- -1, 94, -1, -1, -1, -1, -1, 302, 303, 304,
- 305, 306, 307, 308, 309, 273, 38, -1, -1, 41,
- -1, 43, 44, 45, 46, -1, -1, -1, -1, -1,
- -1, 124, -1, -1, -1, -1, -1, 59, 60, -1,
- 62, -1, -1, -1, 302, 303, 304, 305, 306, 307,
- 308, 309, 273, 38, -1, -1, 41, -1, 43, 44,
- 45, 46, 123, -1, 125, -1, -1, -1, -1, -1,
- -1, -1, 94, -1, 59, 60, -1, 62, -1, -1,
- -1, -1, 303, 304, -1, 306, 307, 308, 309, 273,
- -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
- };
-}
-class yyCheck2 {
- protected static final short yyCheck2 [] = { -1,
- -1, 124, -1, -1, -1, 37, 38, -1, 94, 41,
- 42, 43, 44, 45, 46, 47, 59, -1, 303, 304,
- -1, 306, 307, 308, 309, -1, -1, 59, 60, -1,
- 62, -1, -1, -1, -1, -1, -1, -1, 124, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 302, -1, -1, 305, 306, 307, 308,
- 309, -1, 94, -1, -1, -1, 40, -1, -1, -1,
- -1, -1, 302, -1, -1, 305, 306, 307, 308, 309,
- 123, -1, 125, -1, -1, 59, -1, -1, -1, -1,
- -1, -1, 124, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 267, -1, 40, 302, 271,
- 272, 305, 306, 307, 308, 309, -1, -1, -1, -1,
- -1, 283, -1, 285, -1, 287, 59, -1, -1, -1,
- 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, 40, -1, -1, -1, -1, 308, 309, -1, 123,
- 273, 125, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 40, -1, -1, 302,
- 303, 304, 305, 306, 307, 308, 309, 273, -1, -1,
- 123, -1, 125, -1, -1, 59, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
- -1, -1, -1, -1, -1, -1, 302, 303, 304, 305,
- 306, 307, 308, 309, 123, -1, 125, 59, 271, 272,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 283, 273, 285, -1, 287, -1, -1, -1, 40, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 123,
- -1, 125, -1, -1, -1, 308, 309, 59, -1, -1,
- 302, 303, 304, 305, 306, 307, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
- -1, 123, -1, 125, -1, -1, -1, 271, 272, -1,
- -1, -1, -1, -1, -1, -1, 59, -1, -1, 283,
- -1, 285, -1, 287, -1, -1, -1, -1, 292, 293,
- 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
- -1, 123, -1, -1, 308, 309, -1, -1, 271, 272,
- 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 283, -1, 285, -1, 287, -1, -1, -1, 62, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
- 123, -1, 271, 272, -1, 308, 309, -1, -1, -1,
- -1, -1, 60, -1, 283, 60, 285, -1, 287, -1,
- -1, -1, -1, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, -1, -1, -1, -1, 271, 272, 308,
- 309, 60, -1, -1, -1, 60, -1, -1, -1, 283,
- -1, 285, -1, 287, -1, -1, -1, -1, 292, 293,
- 294, 295, 296, 297, 298, 299, 300, 301, -1, 271,
- 272, -1, -1, -1, 308, 309, -1, 125, -1, -1,
- 125, 283, -1, 285, -1, 287, -1, -1, -1, -1,
- 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, -1, -1, -1, -1, 308, 309, -1, 271,
- 272, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 283, -1, 285, -1, 287, -1, -1, -1, -1,
- 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, -1, -1, -1, -1, 308, 309, 271, 272,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 283, -1, 285, -1, 287, -1, -1, -1, -1, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
- -1, -1, -1, 257, -1, 308, 309, -1, -1, 263,
- -1, -1, -1, -1, -1, 269, -1, -1, -1, -1,
- -1, -1, 276, 277, 278, 279, 280, 281, -1, 257,
- 284, -1, 257, -1, -1, -1, -1, -1, -1, -1,
- -1, 269, -1, -1, 269, -1, -1, 301, 276, 277,
- 278, 276, 277, 278, -1, -1, 284, -1, 257, 284,
- -1, -1, 257, 291, -1, -1, 291, -1, -1, -1,
- 269, -1, -1, 301, 269, -1, 301, 276, 277, 278,
- 82, 276, 277, 278, 86, 284, -1, -1, -1, 284,
- -1, -1, 291, 420, -1, -1, 291, 99, 100, 426,
- -1, -1, 301, -1, -1, 432, 301, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 118, -1, 120, 121,
- -1, -1, -1, -1, -1, 452, 453, -1, 455, -1,
- -1, -1, -1, 460, -1, -1, -1, 464, -1, 466,
- 467, 143, -1, 145, -1, -1, -1, -1, 475, 476,
- 477, -1, -1, -1, 481, -1, -1, -1, -1, 161,
- -1, -1, 164, -1, -1, -1, -1, -1, -1, -1,
- -1, 173, -1, 175, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 292, 293,
- };
-}
-class yyCheckInit {
- static short[] yyCheck = new short[2845];
- protected static void yyCheckInit () {
- int numyycheck;
- int yyCheckerun = 0;
- for (numyycheck = 0; numyycheck <= 1000; numyycheck++) {
- if (yyCheckerun < 2845) {
- yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck];
- yyCheckerun++;
- }
- }
- for (numyycheck = 0; numyycheck <= 1000; numyycheck++) {
- if (yyCheckerun < 2845) {
- yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck];
- yyCheckerun++;
- }
- }
- for (numyycheck = 0; numyycheck <= 1000; numyycheck++) {
- if (yyCheckerun < 2845) {
- yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck];
- yyCheckerun++;
- }
- }
-}
-}
-
diff --git a/src/de/dhbwstuttgart/parser/JavaParser.jay b/src/de/dhbwstuttgart/parser/JavaParser.jay
deleted file mode 100755
index db28b802..00000000
--- a/src/de/dhbwstuttgart/parser/JavaParser.jay
+++ /dev/null
@@ -1,2381 +0,0 @@
-%{
-
-/*
-Backup von JavaParser.jay 10.April 17 Uhr
-*/
-
-package de.dhbwstuttgart.parser;
-
-import de.dhbwstuttgart.core.AClassOrInterface;
-import de.dhbwstuttgart.syntaxtree.Class;
-import de.dhbwstuttgart.logger.Section;
-import de.dhbwstuttgart.syntaxtree.ImportDeclarations;
-import de.dhbwstuttgart.syntaxtree.Interface;
-import de.dhbwstuttgart.syntaxtree.SourceFile;
-import de.dhbwstuttgart.syntaxtree.misc.UsedId;
-import de.dhbwstuttgart.typeinference.Pair;
-import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.Void;
-import de.dhbwstuttgart.*;
-import de.dhbwstuttgart.syntaxtree.*;
-import de.dhbwstuttgart.syntaxtree.misc.*;
-import de.dhbwstuttgart.syntaxtree.modifier.*;
-import de.dhbwstuttgart.syntaxtree.operator.*;
-import de.dhbwstuttgart.syntaxtree.type.*;
-import de.dhbwstuttgart.syntaxtree.statement.*;
-import de.dhbwstuttgart.typeinference.Menge;
-
-public class JavaParser{
-public Menge path = new Menge();
-
-//PL 05-07-30 eingefuegt. ANFANG
-private Menge containedTypes = new Menge();
-private Menge usedIdsToCheck = new Menge();
- //Vektor aller Typdeklarationen die in aktueller Klasse vorkommen.
- //wird nach Beendigung der Klasse des Attributs der jeweiligen
- //Klasse zugeordnet
- //nach dem Parsen wird mit wandleGeneric2RefType die
- //die RefTypes gesetzt.
-void initContainedTypes() {
- this.containedTypes = new Menge();
-}
-void initUsedIdsToCheck() {
- this.usedIdsToCheck = new Menge();
-}
-//PL 05-07-30 eingefuegt. ENDE
-
-//LUAR 07-05-29 Anfang f�r Wildcard Test
-public Menge testPair = new Menge();
-//LUAR 07-05-29 Ende
-%}
-
-%token ABSTRACT
-%token BOOLEAN
-%token BREAK
-%token CASE
-%token CATCH
-%token CHAR
-%token CLASS
-%token CONTINUE
-%token DEFAULT
-%token DO
-%token ELSE
-%token EXTENDS
-%token FINAL
-%token FINALLY
-%token FOR
-%token IF
-%token INSTANCEOF
-%token INT
-%token NEW
-%token PRIVATE
-%token PROTECTED
-%token PUBLIC
-%token PACKAGE
-%token IMPORT
-%token INTERFACE
-%token IMPLEMENTS
-%token RETURN
-%token STATIC
-%token SUPER
-%token SWITCH
-%token THIS
-%token THROW
-%token THROWS
-%token TRY
-%token VOID
-%token WHILE
-%token INTLITERAL
-%token LONGLITERAL
-%token DOUBLELITERAL
-%token FLOATLITERAL
-%token BOOLLITERAL
-%token JNULL
-%token CHARLITERAL
-%token STRINGLITERAL
-%token IDENTIFIER
-%token EQUAL
-%token LESSEQUAL
-%token GREATEREQUAL
-%token NOTEQUAL
-%token LOGICALOR
-%token LOGICALAND
-%token INCREMENT
-%token DECREMENT
-%token SHIFTLEFT
-%token SHIFTRIGHT
-%token UNSIGNEDSHIFTRIGHT
-%token SIGNEDSHIFTRIGHT
-%token PLUSEQUAL
-%token MINUSEQUAL
-%token TIMESEQUAL
-%token DIVIDEEQUAL
-%token ANDEQUAL
-%token OREQUAL
-%token XOREQUAL
-%token MODULOEQUAL
-%token SHIFTLEFTEQUAL
-%token SIGNEDSHIFTRIGHTEQUAL
-%token UNSIGNEDSHIFTRIGHTEQUAL
-%token BRACE
-%token RELOP
-%token OP
-%token EOF
-%token LAMBDAASSIGNMENT
-%token ENDOFGENERICVARDECLARATION
-
-%type classdeclaration
-%type interfacedeclaration
-%type interfacebody
-%type interfacememberdeclarations
-%type interfacememberdeclaration
-%type abstractmethoddeclaration
-%type classbody
-%type classidentifier
-%type interfaceidentifier
-%type constantdeclaration
-%type genericdeclarationlist
-%type fielddeclaration
-%type methodheader
-%type methoddeclaration
-%type methoddeclarator
-%type classbodydeclarations
-%type classbodydeclaration
-%type classmemberdeclaration
-%type variabledeclarators
-%type fielddeclarator;
-%type variabledeclarator
-%type variabledeclaratorid
-%type simplename
-%type qualifiedname
-%type importqualifiedname
-%type importdeclaration
-%type importdeclarations
-%type name
-%type super
-%type classtype
-%type classorinterfacetype
-%type interfacetype
-%type interfaces
-%type extendsinterfaces
-/*
-%type integraltype
-%type numerictype
-%type primitivetype
-*/
-%type referencetype
-%type classtypelist
-%type type
-%type modifiers
-%type modifier
-%type block
-%type methodbody
-%type blockstatements
-%type lambdabody
-%type localvariabledeclarationstatement
-%type localvariabledeclaration
-%type throws
-%type formalparameter
-%type formalparameterlist
-%type lambdaexpressionparameter
-%type literal
-%type primarynonewarray
-%type primary
-%type postfixexpression
-%type unaryexpressionnotplusminus
-%type unaryexpression
-%type multiplicativeexpression
-%type additiveexpression
-%type shiftexpression
-%type relationalexpression
-%type equalityexpression
-%type andexpression
-%type exclusiveorexpression
-%type inclusiveorexpression
-%type conditionalandexpression
-%type conditionalorexpression
-%type conditionalexpression
-%type assignmentexpression
-%type lambdaexpression /*added by Andreas Stadelmeier*/
-%type expression
-%type statementexpression
-%type preincrementexpression
-%type predecrementexpression
-%type postincrementexpression
-%type postdecrementexpression
-%type expressionstatement
-%type variableinitializer
-%type statementwithouttrailingsubstatement
-%type blockstatement
-%type statement
-%type statementnoshortif
-%type whilestatement
-%type forstatement
-%type whilestatementnoshortif
-%type ifthenstatement
-%type ifthenelsestatement
-%type ifthenelsestatementnoshortif
-%type emptystatement
-%type returnstatement
-%type classinstancecreationexpression
-%type compilationunit
-%type typedeclarations
-%type boundedMethodParameter;
-%type boundedClassParameter;
-%type