// Generated from Java8.g4 by ANTLR 4.5.1 package ceylon.tool.converter.java2ceylon; 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.1", 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_declaration = 33, RULE_singleStatement = 34, RULE_packageDeclaration = 35, RULE_packageModifier = 36, RULE_importDeclaration = 37, RULE_singleTypeImportDeclaration = 38, RULE_typeImportOnDemandDeclaration = 39, RULE_singleStaticImportDeclaration = 40, RULE_staticImportOnDemandDeclaration = 41, RULE_typeDeclaration = 42, RULE_classDeclaration = 43, RULE_normalClassDeclaration = 44, RULE_classModifier = 45, RULE_typeParameters = 46, RULE_typeParameterList = 47, RULE_superclass = 48, RULE_superinterfaces = 49, RULE_interfaceTypeList = 50, RULE_classBody = 51, RULE_classBodyDeclaration = 52, RULE_classMemberDeclaration = 53, RULE_fieldDeclaration = 54, RULE_fieldModifier = 55, RULE_variableDeclaratorList = 56, RULE_variableDeclarator = 57, RULE_variableDeclaratorId = 58, RULE_variableInitializer = 59, RULE_unannType = 60, RULE_unannPrimitiveType = 61, RULE_unannReferenceType = 62, RULE_unannClassOrInterfaceType = 63, RULE_unannClassType = 64, RULE_unannClassType_lf_unannClassOrInterfaceType = 65, RULE_unannClassType_lfno_unannClassOrInterfaceType = 66, RULE_unannInterfaceType = 67, RULE_unannInterfaceType_lf_unannClassOrInterfaceType = 68, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType = 69, RULE_unannTypeVariable = 70, RULE_unannArrayType = 71, RULE_methodDeclaration = 72, RULE_methodModifier = 73, RULE_methodHeader = 74, RULE_result = 75, RULE_methodDeclarator = 76, RULE_formalParameterList = 77, RULE_formalParameters = 78, RULE_formalParameter = 79, RULE_variableModifier = 80, RULE_lastFormalParameter = 81, RULE_receiverParameter = 82, RULE_throws_ = 83, RULE_exceptionTypeList = 84, RULE_exceptionType = 85, RULE_methodBody = 86, RULE_instanceInitializer = 87, RULE_staticInitializer = 88, RULE_constructorDeclaration = 89, RULE_constructorModifier = 90, RULE_constructorDeclarator = 91, RULE_simpleTypeName = 92, RULE_constructorBody = 93, RULE_explicitConstructorInvocation = 94, RULE_enumDeclaration = 95, RULE_enumBody = 96, RULE_enumConstantList = 97, RULE_enumConstant = 98, RULE_enumConstantModifier = 99, RULE_enumBodyDeclarations = 100, RULE_interfaceDeclaration = 101, RULE_normalInterfaceDeclaration = 102, RULE_interfaceModifier = 103, RULE_extendsInterfaces = 104, RULE_interfaceBody = 105, RULE_interfaceMemberDeclaration = 106, RULE_constantDeclaration = 107, RULE_constantModifier = 108, RULE_interfaceMethodDeclaration = 109, RULE_interfaceMethodModifier = 110, RULE_annotationTypeDeclaration = 111, RULE_annotationTypeBody = 112, RULE_annotationTypeMemberDeclaration = 113, RULE_annotationTypeElementDeclaration = 114, RULE_annotationTypeElementModifier = 115, RULE_defaultValue = 116, RULE_annotation = 117, RULE_normalAnnotation = 118, RULE_elementValuePairList = 119, RULE_elementValuePair = 120, RULE_elementValue = 121, RULE_elementValueArrayInitializer = 122, RULE_elementValueList = 123, RULE_markerAnnotation = 124, RULE_singleElementAnnotation = 125, RULE_arrayInitializer = 126, RULE_variableInitializerList = 127, RULE_block = 128, RULE_blockStatements = 129, RULE_blockStatement = 130, RULE_localVariableDeclarationStatement = 131, RULE_localVariableDeclaration = 132, RULE_statement = 133, RULE_statementNoShortIf = 134, RULE_statementWithoutTrailingSubstatement = 135, RULE_emptyStatement = 136, RULE_labeledStatement = 137, RULE_labeledStatementNoShortIf = 138, RULE_expressionStatement = 139, RULE_statementExpression = 140, RULE_ifThenStatement = 141, RULE_ifThenElseStatement = 142, RULE_ifThenElseStatementNoShortIf = 143, RULE_assertStatement = 144, RULE_switchStatement = 145, RULE_switchBlock = 146, RULE_switchBlockStatementGroup = 147, RULE_switchLabels = 148, RULE_switchLabel = 149, RULE_enumConstantName = 150, RULE_whileStatement = 151, RULE_whileStatementNoShortIf = 152, RULE_doStatement = 153, RULE_forStatement = 154, RULE_forStatementNoShortIf = 155, RULE_basicForStatement = 156, RULE_basicForStatementNoShortIf = 157, RULE_forInit = 158, RULE_forUpdate = 159, RULE_statementExpressionList = 160, RULE_enhancedForStatement = 161, RULE_enhancedForStatementNoShortIf = 162, RULE_breakStatement = 163, RULE_continueStatement = 164, RULE_returnStatement = 165, RULE_throwStatement = 166, RULE_synchronizedStatement = 167, RULE_tryStatement = 168, RULE_catches = 169, RULE_catchClause = 170, RULE_catchFormalParameter = 171, RULE_catchType = 172, RULE_finally_ = 173, RULE_tryWithResourcesStatement = 174, RULE_resourceSpecification = 175, RULE_resourceList = 176, RULE_resource = 177, RULE_primary = 178, RULE_primaryNoNewArray = 179, RULE_primaryNoNewArray_lf_arrayAccess = 180, RULE_primaryNoNewArray_lfno_arrayAccess = 181, RULE_primaryNoNewArray_lf_primary = 182, RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary = 183, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary = 184, RULE_primaryNoNewArray_lfno_primary = 185, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary = 186, RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary = 187, RULE_classInstanceCreationExpression = 188, RULE_classInstanceCreationExpression_lf_primary = 189, RULE_classInstanceCreationExpression_lfno_primary = 190, RULE_typeArgumentsOrDiamond = 191, RULE_fieldAccess = 192, RULE_fieldAccess_lf_primary = 193, RULE_fieldAccess_lfno_primary = 194, RULE_arrayAccess = 195, RULE_arrayAccess_lf_primary = 196, RULE_arrayAccess_lfno_primary = 197, RULE_methodInvocation = 198, RULE_methodInvocation_lf_primary = 199, RULE_methodInvocation_lfno_primary = 200, RULE_argumentList = 201, RULE_methodReference = 202, RULE_methodReference_lf_primary = 203, RULE_methodReference_lfno_primary = 204, RULE_arrayCreationExpression = 205, RULE_dimExprs = 206, RULE_dimExpr = 207, RULE_constantExpression = 208, RULE_expression = 209, RULE_lambdaExpression = 210, RULE_lambdaParameters = 211, RULE_inferredFormalParameterList = 212, RULE_lambdaBody = 213, RULE_assignmentExpression = 214, RULE_assignment = 215, RULE_leftHandSide = 216, RULE_assignmentOperator = 217, RULE_conditionalExpression = 218, RULE_conditionalOrExpression = 219, RULE_conditionalAndExpression = 220, RULE_inclusiveOrExpression = 221, RULE_exclusiveOrExpression = 222, RULE_andExpression = 223, RULE_equalityExpression = 224, RULE_relationalExpression = 225, RULE_shiftExpression = 226, RULE_additiveExpression = 227, RULE_multiplicativeExpression = 228, RULE_unaryExpression = 229, RULE_preIncrementExpression = 230, RULE_preDecrementExpression = 231, RULE_unaryExpressionNotPlusMinus = 232, RULE_postfixExpression = 233, RULE_postIncrementExpression = 234, RULE_postIncrementExpression_lf_postfixExpression = 235, RULE_postDecrementExpression = 236, RULE_postDecrementExpression_lf_postfixExpression = 237, RULE_castExpression = 238; 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", "declaration", "singleStatement", "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] = "<INVALID>"; } } } @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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLiteral(this); else return visitor.visitChildren(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(478); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitType(this); else return visitor.visitChildren(this); } } public final TypeContext type() throws RecognitionException { TypeContext _localctx = new TypeContext(_ctx, getState()); enterRule(_localctx, 2, RULE_type); try { setState(482); switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(480); primitiveType(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(481); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimitiveType(this); else return visitor.visitChildren(this); } } public final PrimitiveTypeContext primitiveType() throws RecognitionException { PrimitiveTypeContext _localctx = new PrimitiveTypeContext(_ctx, getState()); enterRule(_localctx, 4, RULE_primitiveType); int _la; try { setState(498); switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(487); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(484); annotation(); } } setState(489); _errHandler.sync(this); _la = _input.LA(1); } setState(490); numericType(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(494); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(491); annotation(); } } setState(496); _errHandler.sync(this); _la = _input.LA(1); } setState(497); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitNumericType(this); else return visitor.visitChildren(this); } } public final NumericTypeContext numericType() throws RecognitionException { NumericTypeContext _localctx = new NumericTypeContext(_ctx, getState()); enterRule(_localctx, 6, RULE_numericType); try { setState(502); switch (_input.LA(1)) { case BYTE: case CHAR: case INT: case LONG: case SHORT: enterOuterAlt(_localctx, 1); { setState(500); integralType(); } break; case DOUBLE: case FLOAT: enterOuterAlt(_localctx, 2); { setState(501); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitIntegralType(this); else return visitor.visitChildren(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(504); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFloatingPointType(this); else return visitor.visitChildren(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(506); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitReferenceType(this); else return visitor.visitChildren(this); } } public final ReferenceTypeContext referenceType() throws RecognitionException { ReferenceTypeContext _localctx = new ReferenceTypeContext(_ctx, getState()); enterRule(_localctx, 12, RULE_referenceType); try { setState(511); switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(508); classOrInterfaceType(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(509); typeVariable(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(510); 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_classOrInterfaceTypeContext> 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_classOrInterfaceTypeContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassOrInterfaceType(this); else return visitor.visitChildren(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(515); switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) { case 1: { setState(513); classType_lfno_classOrInterfaceType(); } break; case 2: { setState(514); interfaceType_lfno_classOrInterfaceType(); } break; } setState(521); _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(519); switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) { case 1: { setState(517); classType_lf_classOrInterfaceType(); } break; case 2: { setState(518); interfaceType_lf_classOrInterfaceType(); } break; } } } setState(523); _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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassType(this); else return visitor.visitChildren(this); } } public final ClassTypeContext classType() throws RecognitionException { ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState()); enterRule(_localctx, 16, RULE_classType); int _la; try { setState(546); switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(527); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(524); annotation(); } } setState(529); _errHandler.sync(this); _la = _input.LA(1); } setState(530); match(Identifier); setState(532); _la = _input.LA(1); if (_la==LT) { { setState(531); typeArguments(); } } } break; case 2: enterOuterAlt(_localctx, 2); { setState(534); classOrInterfaceType(); setState(535); match(DOT); setState(539); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(536); annotation(); } } setState(541); _errHandler.sync(this); _la = _input.LA(1); } setState(542); match(Identifier); setState(544); _la = _input.LA(1); if (_la==LT) { { setState(543); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassType_lf_classOrInterfaceType(this); else return visitor.visitChildren(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(548); match(DOT); setState(552); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(549); annotation(); } } setState(554); _errHandler.sync(this); _la = _input.LA(1); } setState(555); match(Identifier); setState(557); switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) { case 1: { setState(556); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassType_lfno_classOrInterfaceType(this); else return visitor.visitChildren(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(562); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(559); annotation(); } } setState(564); _errHandler.sync(this); _la = _input.LA(1); } setState(565); match(Identifier); setState(567); switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) { case 1: { setState(566); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceType(this); else return visitor.visitChildren(this); } } public final InterfaceTypeContext interfaceType() throws RecognitionException { InterfaceTypeContext _localctx = new InterfaceTypeContext(_ctx, getState()); enterRule(_localctx, 22, RULE_interfaceType); try { enterOuterAlt(_localctx, 1); { setState(569); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceType_lf_classOrInterfaceType(this); else return visitor.visitChildren(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(571); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceType_lfno_classOrInterfaceType(this); else return visitor.visitChildren(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(573); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeVariable(this); else return visitor.visitChildren(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(578); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(575); annotation(); } } setState(580); _errHandler.sync(this); _la = _input.LA(1); } setState(581); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitArrayType(this); else return visitor.visitChildren(this); } } public final ArrayTypeContext arrayType() throws RecognitionException { ArrayTypeContext _localctx = new ArrayTypeContext(_ctx, getState()); enterRule(_localctx, 30, RULE_arrayType); try { setState(592); switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(583); primitiveType(); setState(584); dims(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(586); classOrInterfaceType(); setState(587); dims(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(589); typeVariable(); setState(590); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitDims(this); else return visitor.visitChildren(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(597); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(594); annotation(); } } setState(599); _errHandler.sync(this); _la = _input.LA(1); } setState(600); match(LBRACK); setState(601); match(RBRACK); setState(612); _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(605); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(602); annotation(); } } setState(607); _errHandler.sync(this); _la = _input.LA(1); } setState(608); match(LBRACK); setState(609); match(RBRACK); } } } setState(614); _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<TypeParameterModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeParameter(this); else return visitor.visitChildren(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(618); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(615); typeParameterModifier(); } } setState(620); _errHandler.sync(this); _la = _input.LA(1); } setState(621); match(Identifier); setState(623); _la = _input.LA(1); if (_la==EXTENDS) { { setState(622); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeParameterModifier(this); else return visitor.visitChildren(this); } } public final TypeParameterModifierContext typeParameterModifier() throws RecognitionException { TypeParameterModifierContext _localctx = new TypeParameterModifierContext(_ctx, getState()); enterRule(_localctx, 36, RULE_typeParameterModifier); try { enterOuterAlt(_localctx, 1); { setState(625); 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<AdditionalBoundContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeBound(this); else return visitor.visitChildren(this); } } public final TypeBoundContext typeBound() throws RecognitionException { TypeBoundContext _localctx = new TypeBoundContext(_ctx, getState()); enterRule(_localctx, 38, RULE_typeBound); int _la; try { setState(637); switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(627); match(EXTENDS); setState(628); typeVariable(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(629); match(EXTENDS); setState(630); classOrInterfaceType(); setState(634); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITAND) { { { setState(631); additionalBound(); } } setState(636); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAdditionalBound(this); else return visitor.visitChildren(this); } } public final AdditionalBoundContext additionalBound() throws RecognitionException { AdditionalBoundContext _localctx = new AdditionalBoundContext(_ctx, getState()); enterRule(_localctx, 40, RULE_additionalBound); try { enterOuterAlt(_localctx, 1); { setState(639); match(BITAND); setState(640); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeArguments(this); else return visitor.visitChildren(this); } } public final TypeArgumentsContext typeArguments() throws RecognitionException { TypeArgumentsContext _localctx = new TypeArgumentsContext(_ctx, getState()); enterRule(_localctx, 42, RULE_typeArguments); try { enterOuterAlt(_localctx, 1); { setState(642); match(LT); setState(643); typeArgumentList(); setState(644); 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<TypeArgumentContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeArgumentList(this); else return visitor.visitChildren(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(646); typeArgument(); setState(651); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(647); match(COMMA); setState(648); typeArgument(); } } setState(653); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeArgument(this); else return visitor.visitChildren(this); } } public final TypeArgumentContext typeArgument() throws RecognitionException { TypeArgumentContext _localctx = new TypeArgumentContext(_ctx, getState()); enterRule(_localctx, 46, RULE_typeArgument); try { setState(656); switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(654); referenceType(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(655); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitWildcard(this); else return visitor.visitChildren(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(661); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(658); annotation(); } } setState(663); _errHandler.sync(this); _la = _input.LA(1); } setState(664); match(QUESTION); setState(666); _la = _input.LA(1); if (_la==EXTENDS || _la==SUPER) { { setState(665); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitWildcardBounds(this); else return visitor.visitChildren(this); } } public final WildcardBoundsContext wildcardBounds() throws RecognitionException { WildcardBoundsContext _localctx = new WildcardBoundsContext(_ctx, getState()); enterRule(_localctx, 50, RULE_wildcardBounds); try { setState(672); switch (_input.LA(1)) { case EXTENDS: enterOuterAlt(_localctx, 1); { setState(668); match(EXTENDS); setState(669); referenceType(); } break; case SUPER: enterOuterAlt(_localctx, 2); { setState(670); match(SUPER); setState(671); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPackageName(this); else return visitor.visitChildren(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(675); match(Identifier); } _ctx.stop = _input.LT(-1); setState(682); _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(677); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(678); match(DOT); setState(679); match(Identifier); } } } setState(684); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeName(this); else return visitor.visitChildren(this); } } public final TypeNameContext typeName() throws RecognitionException { TypeNameContext _localctx = new TypeNameContext(_ctx, getState()); enterRule(_localctx, 54, RULE_typeName); try { setState(690); switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(685); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { setState(686); packageOrTypeName(0); setState(687); match(DOT); setState(688); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPackageOrTypeName(this); else return visitor.visitChildren(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(693); match(Identifier); } _ctx.stop = _input.LT(-1); setState(700); _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(695); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(696); match(DOT); setState(697); match(Identifier); } } } setState(702); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitExpressionName(this); else return visitor.visitChildren(this); } } public final ExpressionNameContext expressionName() throws RecognitionException { ExpressionNameContext _localctx = new ExpressionNameContext(_ctx, getState()); enterRule(_localctx, 58, RULE_expressionName); try { setState(708); switch ( getInterpreter().adaptivePredict(_input,35,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(703); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { setState(704); ambiguousName(0); setState(705); match(DOT); setState(706); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodName(this); else return visitor.visitChildren(this); } } public final MethodNameContext methodName() throws RecognitionException { MethodNameContext _localctx = new MethodNameContext(_ctx, getState()); enterRule(_localctx, 60, RULE_methodName); try { enterOuterAlt(_localctx, 1); { setState(710); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAmbiguousName(this); else return visitor.visitChildren(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(713); match(Identifier); } _ctx.stop = _input.LT(-1); setState(720); _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(715); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(716); match(DOT); setState(717); match(Identifier); } } } setState(722); _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 List<DeclarationContext> declaration() { return getRuleContexts(DeclarationContext.class); } public DeclarationContext declaration(int i) { return getRuleContext(DeclarationContext.class,i); } public List<SingleStatementContext> singleStatement() { return getRuleContexts(SingleStatementContext.class); } public SingleStatementContext singleStatement(int i) { return getRuleContext(SingleStatementContext.class,i); } public TerminalNode EOF() { return getToken(Java8Parser.EOF, 0); } public PackageDeclarationContext packageDeclaration() { return getRuleContext(PackageDeclarationContext.class,0); } public List<ImportDeclarationContext> importDeclaration() { return getRuleContexts(ImportDeclarationContext.class); } public ImportDeclarationContext importDeclaration(int i) { return getRuleContext(ImportDeclarationContext.class,i); } public List<TypeDeclarationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitCompilationUnit(this); else return visitor.visitChildren(this); } } public final CompilationUnitContext compilationUnit() throws RecognitionException { CompilationUnitContext _localctx = new CompilationUnitContext(_ctx, getState()); enterRule(_localctx, 64, RULE_compilationUnit); int _la; try { setState(749); switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(724); _errHandler.sync(this); _la = _input.LA(1); do { { { setState(723); declaration(); } } setState(726); _errHandler.sync(this); _la = _input.LA(1); } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0) ); } break; case 2: enterOuterAlt(_localctx, 2); { setState(729); _errHandler.sync(this); _la = _input.LA(1); do { { { setState(728); singleStatement(); } } setState(731); _errHandler.sync(this); _la = _input.LA(1); } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << RETURN) | (1L << SHORT) | (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) ); } break; case 3: enterOuterAlt(_localctx, 3); { { setState(734); switch ( getInterpreter().adaptivePredict(_input,39,_ctx) ) { case 1: { setState(733); packageDeclaration(); } break; } setState(739); _errHandler.sync(this); _la = _input.LA(1); while (_la==IMPORT) { { { setState(736); importDeclaration(); } } setState(741); _errHandler.sync(this); _la = _input.LA(1); } setState(745); _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(742); typeDeclaration(); } } setState(747); _errHandler.sync(this); _la = _input.LA(1); } } setState(748); match(EOF); } break; } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { exitRule(); } return _localctx; } public static class DeclarationContext extends ParserRuleContext { public MethodDeclarationContext methodDeclaration() { return getRuleContext(MethodDeclarationContext.class,0); } public FieldDeclarationContext fieldDeclaration() { return getRuleContext(FieldDeclarationContext.class,0); } public DeclarationContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); } @Override public int getRuleIndex() { return RULE_declaration; } @Override public void enterRule(ParseTreeListener listener) { if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDeclaration(this); } @Override public void exitRule(ParseTreeListener listener) { if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDeclaration(this); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitDeclaration(this); else return visitor.visitChildren(this); } } public final DeclarationContext declaration() throws RecognitionException { DeclarationContext _localctx = new DeclarationContext(_ctx, getState()); enterRule(_localctx, 66, RULE_declaration); try { setState(753); switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(751); methodDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(752); fieldDeclaration(); } break; } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { exitRule(); } return _localctx; } public static class SingleStatementContext extends ParserRuleContext { public StatementContext statement() { return getRuleContext(StatementContext.class,0); } public LocalVariableDeclarationStatementContext localVariableDeclarationStatement() { return getRuleContext(LocalVariableDeclarationStatementContext.class,0); } public SingleStatementContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); } @Override public int getRuleIndex() { return RULE_singleStatement; } @Override public void enterRule(ParseTreeListener listener) { if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleStatement(this); } @Override public void exitRule(ParseTreeListener listener) { if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleStatement(this); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSingleStatement(this); else return visitor.visitChildren(this); } } public final SingleStatementContext singleStatement() throws RecognitionException { SingleStatementContext _localctx = new SingleStatementContext(_ctx, getState()); enterRule(_localctx, 68, RULE_singleStatement); try { setState(757); switch ( getInterpreter().adaptivePredict(_input,44,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(755); statement(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(756); localVariableDeclarationStatement(); } break; } } 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<TerminalNode> Identifier() { return getTokens(Java8Parser.Identifier); } public TerminalNode Identifier(int i) { return getToken(Java8Parser.Identifier, i); } public List<PackageModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPackageDeclaration(this); else return visitor.visitChildren(this); } } public final PackageDeclarationContext packageDeclaration() throws RecognitionException { PackageDeclarationContext _localctx = new PackageDeclarationContext(_ctx, getState()); enterRule(_localctx, 70, RULE_packageDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(762); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(759); packageModifier(); } } setState(764); _errHandler.sync(this); _la = _input.LA(1); } setState(765); match(PACKAGE); setState(766); match(Identifier); setState(771); _errHandler.sync(this); _la = _input.LA(1); while (_la==DOT) { { { setState(767); match(DOT); setState(768); match(Identifier); } } setState(773); _errHandler.sync(this); _la = _input.LA(1); } setState(774); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPackageModifier(this); else return visitor.visitChildren(this); } } public final PackageModifierContext packageModifier() throws RecognitionException { PackageModifierContext _localctx = new PackageModifierContext(_ctx, getState()); enterRule(_localctx, 72, RULE_packageModifier); try { enterOuterAlt(_localctx, 1); { setState(776); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitImportDeclaration(this); else return visitor.visitChildren(this); } } public final ImportDeclarationContext importDeclaration() throws RecognitionException { ImportDeclarationContext _localctx = new ImportDeclarationContext(_ctx, getState()); enterRule(_localctx, 74, RULE_importDeclaration); try { setState(782); switch ( getInterpreter().adaptivePredict(_input,47,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(778); singleTypeImportDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(779); typeImportOnDemandDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(780); singleStaticImportDeclaration(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(781); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSingleTypeImportDeclaration(this); else return visitor.visitChildren(this); } } public final SingleTypeImportDeclarationContext singleTypeImportDeclaration() throws RecognitionException { SingleTypeImportDeclarationContext _localctx = new SingleTypeImportDeclarationContext(_ctx, getState()); enterRule(_localctx, 76, RULE_singleTypeImportDeclaration); try { enterOuterAlt(_localctx, 1); { setState(784); match(IMPORT); setState(785); typeName(); setState(786); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeImportOnDemandDeclaration(this); else return visitor.visitChildren(this); } } public final TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() throws RecognitionException { TypeImportOnDemandDeclarationContext _localctx = new TypeImportOnDemandDeclarationContext(_ctx, getState()); enterRule(_localctx, 78, RULE_typeImportOnDemandDeclaration); try { enterOuterAlt(_localctx, 1); { setState(788); match(IMPORT); setState(789); packageOrTypeName(0); setState(790); match(DOT); setState(791); match(MUL); setState(792); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSingleStaticImportDeclaration(this); else return visitor.visitChildren(this); } } public final SingleStaticImportDeclarationContext singleStaticImportDeclaration() throws RecognitionException { SingleStaticImportDeclarationContext _localctx = new SingleStaticImportDeclarationContext(_ctx, getState()); enterRule(_localctx, 80, RULE_singleStaticImportDeclaration); try { enterOuterAlt(_localctx, 1); { setState(794); match(IMPORT); setState(795); match(STATIC); setState(796); typeName(); setState(797); match(DOT); setState(798); match(Identifier); setState(799); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitStaticImportOnDemandDeclaration(this); else return visitor.visitChildren(this); } } public final StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() throws RecognitionException { StaticImportOnDemandDeclarationContext _localctx = new StaticImportOnDemandDeclarationContext(_ctx, getState()); enterRule(_localctx, 82, RULE_staticImportOnDemandDeclaration); try { enterOuterAlt(_localctx, 1); { setState(801); match(IMPORT); setState(802); match(STATIC); setState(803); typeName(); setState(804); match(DOT); setState(805); match(MUL); setState(806); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeDeclaration(this); else return visitor.visitChildren(this); } } public final TypeDeclarationContext typeDeclaration() throws RecognitionException { TypeDeclarationContext _localctx = new TypeDeclarationContext(_ctx, getState()); enterRule(_localctx, 84, RULE_typeDeclaration); try { setState(811); switch ( getInterpreter().adaptivePredict(_input,48,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(808); classDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(809); interfaceDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(810); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassDeclaration(this); else return visitor.visitChildren(this); } } public final ClassDeclarationContext classDeclaration() throws RecognitionException { ClassDeclarationContext _localctx = new ClassDeclarationContext(_ctx, getState()); enterRule(_localctx, 86, RULE_classDeclaration); try { setState(815); switch ( getInterpreter().adaptivePredict(_input,49,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(813); normalClassDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(814); 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<ClassModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitNormalClassDeclaration(this); else return visitor.visitChildren(this); } } public final NormalClassDeclarationContext normalClassDeclaration() throws RecognitionException { NormalClassDeclarationContext _localctx = new NormalClassDeclarationContext(_ctx, getState()); enterRule(_localctx, 88, RULE_normalClassDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(820); _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(817); classModifier(); } } setState(822); _errHandler.sync(this); _la = _input.LA(1); } setState(823); match(CLASS); setState(824); match(Identifier); setState(826); _la = _input.LA(1); if (_la==LT) { { setState(825); typeParameters(); } } setState(829); _la = _input.LA(1); if (_la==EXTENDS) { { setState(828); superclass(); } } setState(832); _la = _input.LA(1); if (_la==IMPLEMENTS) { { setState(831); superinterfaces(); } } setState(834); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassModifier(this); else return visitor.visitChildren(this); } } public final ClassModifierContext classModifier() throws RecognitionException { ClassModifierContext _localctx = new ClassModifierContext(_ctx, getState()); enterRule(_localctx, 90, RULE_classModifier); try { setState(844); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(836); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { setState(837); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { setState(838); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { setState(839); match(PRIVATE); } break; case ABSTRACT: enterOuterAlt(_localctx, 5); { setState(840); match(ABSTRACT); } break; case STATIC: enterOuterAlt(_localctx, 6); { setState(841); match(STATIC); } break; case FINAL: enterOuterAlt(_localctx, 7); { setState(842); match(FINAL); } break; case STRICTFP: enterOuterAlt(_localctx, 8); { setState(843); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeParameters(this); else return visitor.visitChildren(this); } } public final TypeParametersContext typeParameters() throws RecognitionException { TypeParametersContext _localctx = new TypeParametersContext(_ctx, getState()); enterRule(_localctx, 92, RULE_typeParameters); try { enterOuterAlt(_localctx, 1); { setState(846); match(LT); setState(847); typeParameterList(); setState(848); 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<TypeParameterContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeParameterList(this); else return visitor.visitChildren(this); } } public final TypeParameterListContext typeParameterList() throws RecognitionException { TypeParameterListContext _localctx = new TypeParameterListContext(_ctx, getState()); enterRule(_localctx, 94, RULE_typeParameterList); int _la; try { enterOuterAlt(_localctx, 1); { setState(850); typeParameter(); setState(855); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(851); match(COMMA); setState(852); typeParameter(); } } setState(857); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSuperclass(this); else return visitor.visitChildren(this); } } public final SuperclassContext superclass() throws RecognitionException { SuperclassContext _localctx = new SuperclassContext(_ctx, getState()); enterRule(_localctx, 96, RULE_superclass); try { enterOuterAlt(_localctx, 1); { setState(858); match(EXTENDS); setState(859); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSuperinterfaces(this); else return visitor.visitChildren(this); } } public final SuperinterfacesContext superinterfaces() throws RecognitionException { SuperinterfacesContext _localctx = new SuperinterfacesContext(_ctx, getState()); enterRule(_localctx, 98, RULE_superinterfaces); try { enterOuterAlt(_localctx, 1); { setState(861); match(IMPLEMENTS); setState(862); 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<InterfaceTypeContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceTypeList(this); else return visitor.visitChildren(this); } } public final InterfaceTypeListContext interfaceTypeList() throws RecognitionException { InterfaceTypeListContext _localctx = new InterfaceTypeListContext(_ctx, getState()); enterRule(_localctx, 100, RULE_interfaceTypeList); int _la; try { enterOuterAlt(_localctx, 1); { setState(864); interfaceType(); setState(869); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(865); match(COMMA); setState(866); interfaceType(); } } setState(871); _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<ClassBodyDeclarationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassBody(this); else return visitor.visitChildren(this); } } public final ClassBodyContext classBody() throws RecognitionException { ClassBodyContext _localctx = new ClassBodyContext(_ctx, getState()); enterRule(_localctx, 102, RULE_classBody); int _la; try { enterOuterAlt(_localctx, 1); { setState(872); match(LBRACE); setState(876); _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(873); classBodyDeclaration(); } } setState(878); _errHandler.sync(this); _la = _input.LA(1); } setState(879); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassBodyDeclaration(this); else return visitor.visitChildren(this); } } public final ClassBodyDeclarationContext classBodyDeclaration() throws RecognitionException { ClassBodyDeclarationContext _localctx = new ClassBodyDeclarationContext(_ctx, getState()); enterRule(_localctx, 104, RULE_classBodyDeclaration); try { setState(885); switch ( getInterpreter().adaptivePredict(_input,58,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(881); classMemberDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(882); instanceInitializer(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(883); staticInitializer(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(884); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassMemberDeclaration(this); else return visitor.visitChildren(this); } } public final ClassMemberDeclarationContext classMemberDeclaration() throws RecognitionException { ClassMemberDeclarationContext _localctx = new ClassMemberDeclarationContext(_ctx, getState()); enterRule(_localctx, 106, RULE_classMemberDeclaration); try { setState(892); switch ( getInterpreter().adaptivePredict(_input,59,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(887); fieldDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(888); methodDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(889); classDeclaration(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(890); interfaceDeclaration(); } break; case 5: enterOuterAlt(_localctx, 5); { setState(891); 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<FieldModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFieldDeclaration(this); else return visitor.visitChildren(this); } } public final FieldDeclarationContext fieldDeclaration() throws RecognitionException { FieldDeclarationContext _localctx = new FieldDeclarationContext(_ctx, getState()); enterRule(_localctx, 108, RULE_fieldDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(897); _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(894); fieldModifier(); } } setState(899); _errHandler.sync(this); _la = _input.LA(1); } setState(900); unannType(); setState(901); variableDeclaratorList(); setState(902); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFieldModifier(this); else return visitor.visitChildren(this); } } public final FieldModifierContext fieldModifier() throws RecognitionException { FieldModifierContext _localctx = new FieldModifierContext(_ctx, getState()); enterRule(_localctx, 110, RULE_fieldModifier); try { setState(912); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(904); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { setState(905); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { setState(906); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { setState(907); match(PRIVATE); } break; case STATIC: enterOuterAlt(_localctx, 5); { setState(908); match(STATIC); } break; case FINAL: enterOuterAlt(_localctx, 6); { setState(909); match(FINAL); } break; case TRANSIENT: enterOuterAlt(_localctx, 7); { setState(910); match(TRANSIENT); } break; case VOLATILE: enterOuterAlt(_localctx, 8); { setState(911); 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<VariableDeclaratorContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitVariableDeclaratorList(this); else return visitor.visitChildren(this); } } public final VariableDeclaratorListContext variableDeclaratorList() throws RecognitionException { VariableDeclaratorListContext _localctx = new VariableDeclaratorListContext(_ctx, getState()); enterRule(_localctx, 112, RULE_variableDeclaratorList); int _la; try { enterOuterAlt(_localctx, 1); { setState(914); variableDeclarator(); setState(919); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(915); match(COMMA); setState(916); variableDeclarator(); } } setState(921); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitVariableDeclarator(this); else return visitor.visitChildren(this); } } public final VariableDeclaratorContext variableDeclarator() throws RecognitionException { VariableDeclaratorContext _localctx = new VariableDeclaratorContext(_ctx, getState()); enterRule(_localctx, 114, RULE_variableDeclarator); int _la; try { enterOuterAlt(_localctx, 1); { setState(922); variableDeclaratorId(); setState(925); _la = _input.LA(1); if (_la==ASSIGN) { { setState(923); match(ASSIGN); setState(924); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitVariableDeclaratorId(this); else return visitor.visitChildren(this); } } public final VariableDeclaratorIdContext variableDeclaratorId() throws RecognitionException { VariableDeclaratorIdContext _localctx = new VariableDeclaratorIdContext(_ctx, getState()); enterRule(_localctx, 116, RULE_variableDeclaratorId); int _la; try { enterOuterAlt(_localctx, 1); { setState(927); match(Identifier); setState(929); _la = _input.LA(1); if (_la==LBRACK || _la==AT) { { setState(928); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitVariableInitializer(this); else return visitor.visitChildren(this); } } public final VariableInitializerContext variableInitializer() throws RecognitionException { VariableInitializerContext _localctx = new VariableInitializerContext(_ctx, getState()); enterRule(_localctx, 118, RULE_variableInitializer); try { setState(933); 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(931); expression(); } break; case LBRACE: enterOuterAlt(_localctx, 2); { setState(932); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannType(this); else return visitor.visitChildren(this); } } public final UnannTypeContext unannType() throws RecognitionException { UnannTypeContext _localctx = new UnannTypeContext(_ctx, getState()); enterRule(_localctx, 120, RULE_unannType); try { setState(937); switch ( getInterpreter().adaptivePredict(_input,66,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(935); unannPrimitiveType(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(936); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannPrimitiveType(this); else return visitor.visitChildren(this); } } public final UnannPrimitiveTypeContext unannPrimitiveType() throws RecognitionException { UnannPrimitiveTypeContext _localctx = new UnannPrimitiveTypeContext(_ctx, getState()); enterRule(_localctx, 122, RULE_unannPrimitiveType); try { setState(941); switch (_input.LA(1)) { case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: enterOuterAlt(_localctx, 1); { setState(939); numericType(); } break; case BOOLEAN: enterOuterAlt(_localctx, 2); { setState(940); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannReferenceType(this); else return visitor.visitChildren(this); } } public final UnannReferenceTypeContext unannReferenceType() throws RecognitionException { UnannReferenceTypeContext _localctx = new UnannReferenceTypeContext(_ctx, getState()); enterRule(_localctx, 124, RULE_unannReferenceType); try { setState(946); switch ( getInterpreter().adaptivePredict(_input,68,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(943); unannClassOrInterfaceType(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(944); unannTypeVariable(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(945); 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_unannClassOrInterfaceTypeContext> 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_unannClassOrInterfaceTypeContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannClassOrInterfaceType(this); else return visitor.visitChildren(this); } } public final UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() throws RecognitionException { UnannClassOrInterfaceTypeContext _localctx = new UnannClassOrInterfaceTypeContext(_ctx, getState()); enterRule(_localctx, 126, RULE_unannClassOrInterfaceType); try { int _alt; enterOuterAlt(_localctx, 1); { setState(950); switch ( getInterpreter().adaptivePredict(_input,69,_ctx) ) { case 1: { setState(948); unannClassType_lfno_unannClassOrInterfaceType(); } break; case 2: { setState(949); unannInterfaceType_lfno_unannClassOrInterfaceType(); } break; } setState(956); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,71,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { setState(954); switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) { case 1: { setState(952); unannClassType_lf_unannClassOrInterfaceType(); } break; case 2: { setState(953); unannInterfaceType_lf_unannClassOrInterfaceType(); } break; } } } setState(958); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,71,_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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannClassType(this); else return visitor.visitChildren(this); } } public final UnannClassTypeContext unannClassType() throws RecognitionException { UnannClassTypeContext _localctx = new UnannClassTypeContext(_ctx, getState()); enterRule(_localctx, 128, RULE_unannClassType); int _la; try { setState(975); switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(959); match(Identifier); setState(961); _la = _input.LA(1); if (_la==LT) { { setState(960); typeArguments(); } } } break; case 2: enterOuterAlt(_localctx, 2); { setState(963); unannClassOrInterfaceType(); setState(964); match(DOT); setState(968); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(965); annotation(); } } setState(970); _errHandler.sync(this); _la = _input.LA(1); } setState(971); match(Identifier); setState(973); _la = _input.LA(1); if (_la==LT) { { setState(972); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannClassType_lf_unannClassOrInterfaceType(this); else return visitor.visitChildren(this); } } public final UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() throws RecognitionException { UnannClassType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); enterRule(_localctx, 130, RULE_unannClassType_lf_unannClassOrInterfaceType); int _la; try { enterOuterAlt(_localctx, 1); { setState(977); match(DOT); setState(981); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(978); annotation(); } } setState(983); _errHandler.sync(this); _la = _input.LA(1); } setState(984); match(Identifier); setState(986); _la = _input.LA(1); if (_la==LT) { { setState(985); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannClassType_lfno_unannClassOrInterfaceType(this); else return visitor.visitChildren(this); } } public final UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() throws RecognitionException { UnannClassType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); enterRule(_localctx, 132, RULE_unannClassType_lfno_unannClassOrInterfaceType); int _la; try { enterOuterAlt(_localctx, 1); { setState(988); match(Identifier); setState(990); _la = _input.LA(1); if (_la==LT) { { setState(989); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannInterfaceType(this); else return visitor.visitChildren(this); } } public final UnannInterfaceTypeContext unannInterfaceType() throws RecognitionException { UnannInterfaceTypeContext _localctx = new UnannInterfaceTypeContext(_ctx, getState()); enterRule(_localctx, 134, RULE_unannInterfaceType); try { enterOuterAlt(_localctx, 1); { setState(992); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannInterfaceType_lf_unannClassOrInterfaceType(this); else return visitor.visitChildren(this); } } public final UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType() throws RecognitionException { UnannInterfaceType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); enterRule(_localctx, 136, RULE_unannInterfaceType_lf_unannClassOrInterfaceType); try { enterOuterAlt(_localctx, 1); { setState(994); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannInterfaceType_lfno_unannClassOrInterfaceType(this); else return visitor.visitChildren(this); } } public final UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() throws RecognitionException { UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); enterRule(_localctx, 138, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType); try { enterOuterAlt(_localctx, 1); { setState(996); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannTypeVariable(this); else return visitor.visitChildren(this); } } public final UnannTypeVariableContext unannTypeVariable() throws RecognitionException { UnannTypeVariableContext _localctx = new UnannTypeVariableContext(_ctx, getState()); enterRule(_localctx, 140, RULE_unannTypeVariable); try { enterOuterAlt(_localctx, 1); { setState(998); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnannArrayType(this); else return visitor.visitChildren(this); } } public final UnannArrayTypeContext unannArrayType() throws RecognitionException { UnannArrayTypeContext _localctx = new UnannArrayTypeContext(_ctx, getState()); enterRule(_localctx, 142, RULE_unannArrayType); try { setState(1009); switch ( getInterpreter().adaptivePredict(_input,79,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1000); unannPrimitiveType(); setState(1001); dims(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1003); unannClassOrInterfaceType(); setState(1004); dims(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1006); unannTypeVariable(); setState(1007); 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<MethodModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodDeclaration(this); else return visitor.visitChildren(this); } } public final MethodDeclarationContext methodDeclaration() throws RecognitionException { MethodDeclarationContext _localctx = new MethodDeclarationContext(_ctx, getState()); enterRule(_localctx, 144, RULE_methodDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(1014); _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(1011); methodModifier(); } } setState(1016); _errHandler.sync(this); _la = _input.LA(1); } setState(1017); methodHeader(); setState(1018); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodModifier(this); else return visitor.visitChildren(this); } } public final MethodModifierContext methodModifier() throws RecognitionException { MethodModifierContext _localctx = new MethodModifierContext(_ctx, getState()); enterRule(_localctx, 146, RULE_methodModifier); try { setState(1030); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(1020); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { setState(1021); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { setState(1022); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { setState(1023); match(PRIVATE); } break; case ABSTRACT: enterOuterAlt(_localctx, 5); { setState(1024); match(ABSTRACT); } break; case STATIC: enterOuterAlt(_localctx, 6); { setState(1025); match(STATIC); } break; case FINAL: enterOuterAlt(_localctx, 7); { setState(1026); match(FINAL); } break; case SYNCHRONIZED: enterOuterAlt(_localctx, 8); { setState(1027); match(SYNCHRONIZED); } break; case NATIVE: enterOuterAlt(_localctx, 9); { setState(1028); match(NATIVE); } break; case STRICTFP: enterOuterAlt(_localctx, 10); { setState(1029); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodHeader(this); else return visitor.visitChildren(this); } } public final MethodHeaderContext methodHeader() throws RecognitionException { MethodHeaderContext _localctx = new MethodHeaderContext(_ctx, getState()); enterRule(_localctx, 148, RULE_methodHeader); int _la; try { setState(1049); 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(1032); result(); setState(1033); methodDeclarator(); setState(1035); _la = _input.LA(1); if (_la==THROWS) { { setState(1034); throws_(); } } } break; case LT: enterOuterAlt(_localctx, 2); { setState(1037); typeParameters(); setState(1041); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(1038); annotation(); } } setState(1043); _errHandler.sync(this); _la = _input.LA(1); } setState(1044); result(); setState(1045); methodDeclarator(); setState(1047); _la = _input.LA(1); if (_la==THROWS) { { setState(1046); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitResult(this); else return visitor.visitChildren(this); } } public final ResultContext result() throws RecognitionException { ResultContext _localctx = new ResultContext(_ctx, getState()); enterRule(_localctx, 150, RULE_result); try { setState(1053); 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(1051); unannType(); } break; case VOID: enterOuterAlt(_localctx, 2); { setState(1052); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodDeclarator(this); else return visitor.visitChildren(this); } } public final MethodDeclaratorContext methodDeclarator() throws RecognitionException { MethodDeclaratorContext _localctx = new MethodDeclaratorContext(_ctx, getState()); enterRule(_localctx, 152, RULE_methodDeclarator); int _la; try { enterOuterAlt(_localctx, 1); { setState(1055); match(Identifier); setState(1056); match(LPAREN); setState(1058); _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(1057); formalParameterList(); } } setState(1060); match(RPAREN); setState(1062); _la = _input.LA(1); if (_la==LBRACK || _la==AT) { { setState(1061); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFormalParameterList(this); else return visitor.visitChildren(this); } } public final FormalParameterListContext formalParameterList() throws RecognitionException { FormalParameterListContext _localctx = new FormalParameterListContext(_ctx, getState()); enterRule(_localctx, 154, RULE_formalParameterList); try { setState(1069); switch ( getInterpreter().adaptivePredict(_input,89,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1064); formalParameters(); setState(1065); match(COMMA); setState(1066); lastFormalParameter(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1068); 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<FormalParameterContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFormalParameters(this); else return visitor.visitChildren(this); } } public final FormalParametersContext formalParameters() throws RecognitionException { FormalParametersContext _localctx = new FormalParametersContext(_ctx, getState()); enterRule(_localctx, 156, RULE_formalParameters); try { int _alt; setState(1087); switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1071); formalParameter(); setState(1076); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,90,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1072); match(COMMA); setState(1073); formalParameter(); } } } setState(1078); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,90,_ctx); } } break; case 2: enterOuterAlt(_localctx, 2); { setState(1079); receiverParameter(); setState(1084); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,91,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1080); match(COMMA); setState(1081); formalParameter(); } } } setState(1086); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,91,_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<VariableModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFormalParameter(this); else return visitor.visitChildren(this); } } public final FormalParameterContext formalParameter() throws RecognitionException { FormalParameterContext _localctx = new FormalParameterContext(_ctx, getState()); enterRule(_localctx, 158, RULE_formalParameter); int _la; try { enterOuterAlt(_localctx, 1); { setState(1092); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { setState(1089); variableModifier(); } } setState(1094); _errHandler.sync(this); _la = _input.LA(1); } setState(1095); unannType(); setState(1096); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitVariableModifier(this); else return visitor.visitChildren(this); } } public final VariableModifierContext variableModifier() throws RecognitionException { VariableModifierContext _localctx = new VariableModifierContext(_ctx, getState()); enterRule(_localctx, 160, RULE_variableModifier); try { setState(1100); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(1098); annotation(); } break; case FINAL: enterOuterAlt(_localctx, 2); { setState(1099); 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<VariableModifierContext> variableModifier() { return getRuleContexts(VariableModifierContext.class); } public VariableModifierContext variableModifier(int i) { return getRuleContext(VariableModifierContext.class,i); } public List<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLastFormalParameter(this); else return visitor.visitChildren(this); } } public final LastFormalParameterContext lastFormalParameter() throws RecognitionException { LastFormalParameterContext _localctx = new LastFormalParameterContext(_ctx, getState()); enterRule(_localctx, 162, RULE_lastFormalParameter); int _la; try { setState(1119); switch ( getInterpreter().adaptivePredict(_input,97,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1105); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { setState(1102); variableModifier(); } } setState(1107); _errHandler.sync(this); _la = _input.LA(1); } setState(1108); unannType(); setState(1112); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(1109); annotation(); } } setState(1114); _errHandler.sync(this); _la = _input.LA(1); } setState(1115); match(ELLIPSIS); setState(1116); variableDeclaratorId(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1118); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitReceiverParameter(this); else return visitor.visitChildren(this); } } public final ReceiverParameterContext receiverParameter() throws RecognitionException { ReceiverParameterContext _localctx = new ReceiverParameterContext(_ctx, getState()); enterRule(_localctx, 164, RULE_receiverParameter); int _la; try { enterOuterAlt(_localctx, 1); { setState(1124); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(1121); annotation(); } } setState(1126); _errHandler.sync(this); _la = _input.LA(1); } setState(1127); unannType(); setState(1130); _la = _input.LA(1); if (_la==Identifier) { { setState(1128); match(Identifier); setState(1129); match(DOT); } } setState(1132); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitThrows_(this); else return visitor.visitChildren(this); } } public final Throws_Context throws_() throws RecognitionException { Throws_Context _localctx = new Throws_Context(_ctx, getState()); enterRule(_localctx, 166, RULE_throws_); try { enterOuterAlt(_localctx, 1); { setState(1134); match(THROWS); setState(1135); 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<ExceptionTypeContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitExceptionTypeList(this); else return visitor.visitChildren(this); } } public final ExceptionTypeListContext exceptionTypeList() throws RecognitionException { ExceptionTypeListContext _localctx = new ExceptionTypeListContext(_ctx, getState()); enterRule(_localctx, 168, RULE_exceptionTypeList); int _la; try { enterOuterAlt(_localctx, 1); { setState(1137); exceptionType(); setState(1142); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(1138); match(COMMA); setState(1139); exceptionType(); } } setState(1144); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitExceptionType(this); else return visitor.visitChildren(this); } } public final ExceptionTypeContext exceptionType() throws RecognitionException { ExceptionTypeContext _localctx = new ExceptionTypeContext(_ctx, getState()); enterRule(_localctx, 170, RULE_exceptionType); try { setState(1147); switch ( getInterpreter().adaptivePredict(_input,101,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1145); classType(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1146); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodBody(this); else return visitor.visitChildren(this); } } public final MethodBodyContext methodBody() throws RecognitionException { MethodBodyContext _localctx = new MethodBodyContext(_ctx, getState()); enterRule(_localctx, 172, RULE_methodBody); try { setState(1151); switch (_input.LA(1)) { case LBRACE: enterOuterAlt(_localctx, 1); { setState(1149); block(); } break; case SEMI: enterOuterAlt(_localctx, 2); { setState(1150); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInstanceInitializer(this); else return visitor.visitChildren(this); } } public final InstanceInitializerContext instanceInitializer() throws RecognitionException { InstanceInitializerContext _localctx = new InstanceInitializerContext(_ctx, getState()); enterRule(_localctx, 174, RULE_instanceInitializer); try { enterOuterAlt(_localctx, 1); { setState(1153); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitStaticInitializer(this); else return visitor.visitChildren(this); } } public final StaticInitializerContext staticInitializer() throws RecognitionException { StaticInitializerContext _localctx = new StaticInitializerContext(_ctx, getState()); enterRule(_localctx, 176, RULE_staticInitializer); try { enterOuterAlt(_localctx, 1); { setState(1155); match(STATIC); setState(1156); 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<ConstructorModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConstructorDeclaration(this); else return visitor.visitChildren(this); } } public final ConstructorDeclarationContext constructorDeclaration() throws RecognitionException { ConstructorDeclarationContext _localctx = new ConstructorDeclarationContext(_ctx, getState()); enterRule(_localctx, 178, RULE_constructorDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(1161); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC))) != 0) || _la==AT) { { { setState(1158); constructorModifier(); } } setState(1163); _errHandler.sync(this); _la = _input.LA(1); } setState(1164); constructorDeclarator(); setState(1166); _la = _input.LA(1); if (_la==THROWS) { { setState(1165); throws_(); } } setState(1168); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConstructorModifier(this); else return visitor.visitChildren(this); } } public final ConstructorModifierContext constructorModifier() throws RecognitionException { ConstructorModifierContext _localctx = new ConstructorModifierContext(_ctx, getState()); enterRule(_localctx, 180, RULE_constructorModifier); try { setState(1174); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(1170); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { setState(1171); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { setState(1172); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { setState(1173); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConstructorDeclarator(this); else return visitor.visitChildren(this); } } public final ConstructorDeclaratorContext constructorDeclarator() throws RecognitionException { ConstructorDeclaratorContext _localctx = new ConstructorDeclaratorContext(_ctx, getState()); enterRule(_localctx, 182, RULE_constructorDeclarator); int _la; try { enterOuterAlt(_localctx, 1); { setState(1177); _la = _input.LA(1); if (_la==LT) { { setState(1176); typeParameters(); } } setState(1179); simpleTypeName(); setState(1180); match(LPAREN); setState(1182); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { { setState(1181); formalParameterList(); } } setState(1184); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSimpleTypeName(this); else return visitor.visitChildren(this); } } public final SimpleTypeNameContext simpleTypeName() throws RecognitionException { SimpleTypeNameContext _localctx = new SimpleTypeNameContext(_ctx, getState()); enterRule(_localctx, 184, RULE_simpleTypeName); try { enterOuterAlt(_localctx, 1); { setState(1186); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConstructorBody(this); else return visitor.visitChildren(this); } } public final ConstructorBodyContext constructorBody() throws RecognitionException { ConstructorBodyContext _localctx = new ConstructorBodyContext(_ctx, getState()); enterRule(_localctx, 186, RULE_constructorBody); int _la; try { enterOuterAlt(_localctx, 1); { setState(1188); match(LBRACE); setState(1190); switch ( getInterpreter().adaptivePredict(_input,108,_ctx) ) { case 1: { setState(1189); explicitConstructorInvocation(); } break; } setState(1193); _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(1192); blockStatements(); } } setState(1195); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitExplicitConstructorInvocation(this); else return visitor.visitChildren(this); } } public final ExplicitConstructorInvocationContext explicitConstructorInvocation() throws RecognitionException { ExplicitConstructorInvocationContext _localctx = new ExplicitConstructorInvocationContext(_ctx, getState()); enterRule(_localctx, 188, RULE_explicitConstructorInvocation); int _la; try { setState(1243); switch ( getInterpreter().adaptivePredict(_input,118,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1198); _la = _input.LA(1); if (_la==LT) { { setState(1197); typeArguments(); } } setState(1200); match(THIS); setState(1201); match(LPAREN); setState(1203); _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(1202); argumentList(); } } setState(1205); match(RPAREN); setState(1206); match(SEMI); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1208); _la = _input.LA(1); if (_la==LT) { { setState(1207); typeArguments(); } } setState(1210); match(SUPER); setState(1211); match(LPAREN); setState(1213); _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(1212); argumentList(); } } setState(1215); match(RPAREN); setState(1216); match(SEMI); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1217); expressionName(); setState(1218); match(DOT); setState(1220); _la = _input.LA(1); if (_la==LT) { { setState(1219); typeArguments(); } } setState(1222); match(SUPER); setState(1223); match(LPAREN); setState(1225); _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(1224); argumentList(); } } setState(1227); match(RPAREN); setState(1228); match(SEMI); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1230); primary(); setState(1231); match(DOT); setState(1233); _la = _input.LA(1); if (_la==LT) { { setState(1232); typeArguments(); } } setState(1235); match(SUPER); setState(1236); match(LPAREN); setState(1238); _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(1237); argumentList(); } } setState(1240); match(RPAREN); setState(1241); 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<ClassModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnumDeclaration(this); else return visitor.visitChildren(this); } } public final EnumDeclarationContext enumDeclaration() throws RecognitionException { EnumDeclarationContext _localctx = new EnumDeclarationContext(_ctx, getState()); enterRule(_localctx, 190, RULE_enumDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(1248); _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(1245); classModifier(); } } setState(1250); _errHandler.sync(this); _la = _input.LA(1); } setState(1251); match(ENUM); setState(1252); match(Identifier); setState(1254); _la = _input.LA(1); if (_la==IMPLEMENTS) { { setState(1253); superinterfaces(); } } setState(1256); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnumBody(this); else return visitor.visitChildren(this); } } public final EnumBodyContext enumBody() throws RecognitionException { EnumBodyContext _localctx = new EnumBodyContext(_ctx, getState()); enterRule(_localctx, 192, RULE_enumBody); int _la; try { enterOuterAlt(_localctx, 1); { setState(1258); match(LBRACE); setState(1260); _la = _input.LA(1); if (_la==Identifier || _la==AT) { { setState(1259); enumConstantList(); } } setState(1263); _la = _input.LA(1); if (_la==COMMA) { { setState(1262); match(COMMA); } } setState(1266); _la = _input.LA(1); if (_la==SEMI) { { setState(1265); enumBodyDeclarations(); } } setState(1268); 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<EnumConstantContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnumConstantList(this); else return visitor.visitChildren(this); } } public final EnumConstantListContext enumConstantList() throws RecognitionException { EnumConstantListContext _localctx = new EnumConstantListContext(_ctx, getState()); enterRule(_localctx, 194, RULE_enumConstantList); try { int _alt; enterOuterAlt(_localctx, 1); { setState(1270); enumConstant(); setState(1275); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,124,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1271); match(COMMA); setState(1272); enumConstant(); } } } setState(1277); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,124,_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<EnumConstantModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnumConstant(this); else return visitor.visitChildren(this); } } public final EnumConstantContext enumConstant() throws RecognitionException { EnumConstantContext _localctx = new EnumConstantContext(_ctx, getState()); enterRule(_localctx, 196, RULE_enumConstant); int _la; try { enterOuterAlt(_localctx, 1); { setState(1281); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(1278); enumConstantModifier(); } } setState(1283); _errHandler.sync(this); _la = _input.LA(1); } setState(1284); match(Identifier); setState(1290); _la = _input.LA(1); if (_la==LPAREN) { { setState(1285); match(LPAREN); setState(1287); _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(1286); argumentList(); } } setState(1289); match(RPAREN); } } setState(1293); _la = _input.LA(1); if (_la==LBRACE) { { setState(1292); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnumConstantModifier(this); else return visitor.visitChildren(this); } } public final EnumConstantModifierContext enumConstantModifier() throws RecognitionException { EnumConstantModifierContext _localctx = new EnumConstantModifierContext(_ctx, getState()); enterRule(_localctx, 198, RULE_enumConstantModifier); try { enterOuterAlt(_localctx, 1); { setState(1295); 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<ClassBodyDeclarationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnumBodyDeclarations(this); else return visitor.visitChildren(this); } } public final EnumBodyDeclarationsContext enumBodyDeclarations() throws RecognitionException { EnumBodyDeclarationsContext _localctx = new EnumBodyDeclarationsContext(_ctx, getState()); enterRule(_localctx, 200, RULE_enumBodyDeclarations); int _la; try { enterOuterAlt(_localctx, 1); { setState(1297); match(SEMI); setState(1301); _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(1298); classBodyDeclaration(); } } setState(1303); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceDeclaration(this); else return visitor.visitChildren(this); } } public final InterfaceDeclarationContext interfaceDeclaration() throws RecognitionException { InterfaceDeclarationContext _localctx = new InterfaceDeclarationContext(_ctx, getState()); enterRule(_localctx, 202, RULE_interfaceDeclaration); try { setState(1306); switch ( getInterpreter().adaptivePredict(_input,130,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1304); normalInterfaceDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1305); 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<InterfaceModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitNormalInterfaceDeclaration(this); else return visitor.visitChildren(this); } } public final NormalInterfaceDeclarationContext normalInterfaceDeclaration() throws RecognitionException { NormalInterfaceDeclarationContext _localctx = new NormalInterfaceDeclarationContext(_ctx, getState()); enterRule(_localctx, 204, RULE_normalInterfaceDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(1311); _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(1308); interfaceModifier(); } } setState(1313); _errHandler.sync(this); _la = _input.LA(1); } setState(1314); match(INTERFACE); setState(1315); match(Identifier); setState(1317); _la = _input.LA(1); if (_la==LT) { { setState(1316); typeParameters(); } } setState(1320); _la = _input.LA(1); if (_la==EXTENDS) { { setState(1319); extendsInterfaces(); } } setState(1322); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceModifier(this); else return visitor.visitChildren(this); } } public final InterfaceModifierContext interfaceModifier() throws RecognitionException { InterfaceModifierContext _localctx = new InterfaceModifierContext(_ctx, getState()); enterRule(_localctx, 206, RULE_interfaceModifier); try { setState(1331); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(1324); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { setState(1325); match(PUBLIC); } break; case PROTECTED: enterOuterAlt(_localctx, 3); { setState(1326); match(PROTECTED); } break; case PRIVATE: enterOuterAlt(_localctx, 4); { setState(1327); match(PRIVATE); } break; case ABSTRACT: enterOuterAlt(_localctx, 5); { setState(1328); match(ABSTRACT); } break; case STATIC: enterOuterAlt(_localctx, 6); { setState(1329); match(STATIC); } break; case STRICTFP: enterOuterAlt(_localctx, 7); { setState(1330); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitExtendsInterfaces(this); else return visitor.visitChildren(this); } } public final ExtendsInterfacesContext extendsInterfaces() throws RecognitionException { ExtendsInterfacesContext _localctx = new ExtendsInterfacesContext(_ctx, getState()); enterRule(_localctx, 208, RULE_extendsInterfaces); try { enterOuterAlt(_localctx, 1); { setState(1333); match(EXTENDS); setState(1334); 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<InterfaceMemberDeclarationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceBody(this); else return visitor.visitChildren(this); } } public final InterfaceBodyContext interfaceBody() throws RecognitionException { InterfaceBodyContext _localctx = new InterfaceBodyContext(_ctx, getState()); enterRule(_localctx, 210, RULE_interfaceBody); int _la; try { enterOuterAlt(_localctx, 1); { setState(1336); match(LBRACE); setState(1340); _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(1337); interfaceMemberDeclaration(); } } setState(1342); _errHandler.sync(this); _la = _input.LA(1); } setState(1343); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceMemberDeclaration(this); else return visitor.visitChildren(this); } } public final InterfaceMemberDeclarationContext interfaceMemberDeclaration() throws RecognitionException { InterfaceMemberDeclarationContext _localctx = new InterfaceMemberDeclarationContext(_ctx, getState()); enterRule(_localctx, 212, RULE_interfaceMemberDeclaration); try { setState(1350); switch ( getInterpreter().adaptivePredict(_input,136,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1345); constantDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1346); interfaceMethodDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1347); classDeclaration(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1348); interfaceDeclaration(); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1349); 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<ConstantModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConstantDeclaration(this); else return visitor.visitChildren(this); } } public final ConstantDeclarationContext constantDeclaration() throws RecognitionException { ConstantDeclarationContext _localctx = new ConstantDeclarationContext(_ctx, getState()); enterRule(_localctx, 214, RULE_constantDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(1355); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PUBLIC) | (1L << STATIC))) != 0) || _la==AT) { { { setState(1352); constantModifier(); } } setState(1357); _errHandler.sync(this); _la = _input.LA(1); } setState(1358); unannType(); setState(1359); variableDeclaratorList(); setState(1360); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConstantModifier(this); else return visitor.visitChildren(this); } } public final ConstantModifierContext constantModifier() throws RecognitionException { ConstantModifierContext _localctx = new ConstantModifierContext(_ctx, getState()); enterRule(_localctx, 216, RULE_constantModifier); try { setState(1366); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(1362); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { setState(1363); match(PUBLIC); } break; case STATIC: enterOuterAlt(_localctx, 3); { setState(1364); match(STATIC); } break; case FINAL: enterOuterAlt(_localctx, 4); { setState(1365); 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<InterfaceMethodModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceMethodDeclaration(this); else return visitor.visitChildren(this); } } public final InterfaceMethodDeclarationContext interfaceMethodDeclaration() throws RecognitionException { InterfaceMethodDeclarationContext _localctx = new InterfaceMethodDeclarationContext(_ctx, getState()); enterRule(_localctx, 218, RULE_interfaceMethodDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(1371); _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(1368); interfaceMethodModifier(); } } setState(1373); _errHandler.sync(this); _la = _input.LA(1); } setState(1374); methodHeader(); setState(1375); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInterfaceMethodModifier(this); else return visitor.visitChildren(this); } } public final InterfaceMethodModifierContext interfaceMethodModifier() throws RecognitionException { InterfaceMethodModifierContext _localctx = new InterfaceMethodModifierContext(_ctx, getState()); enterRule(_localctx, 220, RULE_interfaceMethodModifier); try { setState(1383); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(1377); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { setState(1378); match(PUBLIC); } break; case ABSTRACT: enterOuterAlt(_localctx, 3); { setState(1379); match(ABSTRACT); } break; case DEFAULT: enterOuterAlt(_localctx, 4); { setState(1380); match(DEFAULT); } break; case STATIC: enterOuterAlt(_localctx, 5); { setState(1381); match(STATIC); } break; case STRICTFP: enterOuterAlt(_localctx, 6); { setState(1382); 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<InterfaceModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAnnotationTypeDeclaration(this); else return visitor.visitChildren(this); } } public final AnnotationTypeDeclarationContext annotationTypeDeclaration() throws RecognitionException { AnnotationTypeDeclarationContext _localctx = new AnnotationTypeDeclarationContext(_ctx, getState()); enterRule(_localctx, 222, RULE_annotationTypeDeclaration); try { int _alt; enterOuterAlt(_localctx, 1); { setState(1388); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,141,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1385); interfaceModifier(); } } } setState(1390); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,141,_ctx); } setState(1391); match(AT); setState(1392); match(INTERFACE); setState(1393); match(Identifier); setState(1394); 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<AnnotationTypeMemberDeclarationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAnnotationTypeBody(this); else return visitor.visitChildren(this); } } public final AnnotationTypeBodyContext annotationTypeBody() throws RecognitionException { AnnotationTypeBodyContext _localctx = new AnnotationTypeBodyContext(_ctx, getState()); enterRule(_localctx, 224, RULE_annotationTypeBody); int _la; try { enterOuterAlt(_localctx, 1); { setState(1396); match(LBRACE); setState(1400); _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(1397); annotationTypeMemberDeclaration(); } } setState(1402); _errHandler.sync(this); _la = _input.LA(1); } setState(1403); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAnnotationTypeMemberDeclaration(this); else return visitor.visitChildren(this); } } public final AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration() throws RecognitionException { AnnotationTypeMemberDeclarationContext _localctx = new AnnotationTypeMemberDeclarationContext(_ctx, getState()); enterRule(_localctx, 226, RULE_annotationTypeMemberDeclaration); try { setState(1410); switch ( getInterpreter().adaptivePredict(_input,143,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1405); annotationTypeElementDeclaration(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1406); constantDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1407); classDeclaration(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1408); interfaceDeclaration(); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1409); 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<AnnotationTypeElementModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAnnotationTypeElementDeclaration(this); else return visitor.visitChildren(this); } } public final AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() throws RecognitionException { AnnotationTypeElementDeclarationContext _localctx = new AnnotationTypeElementDeclarationContext(_ctx, getState()); enterRule(_localctx, 228, RULE_annotationTypeElementDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(1415); _errHandler.sync(this); _la = _input.LA(1); while (_la==ABSTRACT || _la==PUBLIC || _la==AT) { { { setState(1412); annotationTypeElementModifier(); } } setState(1417); _errHandler.sync(this); _la = _input.LA(1); } setState(1418); unannType(); setState(1419); match(Identifier); setState(1420); match(LPAREN); setState(1421); match(RPAREN); setState(1423); _la = _input.LA(1); if (_la==LBRACK || _la==AT) { { setState(1422); dims(); } } setState(1426); _la = _input.LA(1); if (_la==DEFAULT) { { setState(1425); defaultValue(); } } setState(1428); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAnnotationTypeElementModifier(this); else return visitor.visitChildren(this); } } public final AnnotationTypeElementModifierContext annotationTypeElementModifier() throws RecognitionException { AnnotationTypeElementModifierContext _localctx = new AnnotationTypeElementModifierContext(_ctx, getState()); enterRule(_localctx, 230, RULE_annotationTypeElementModifier); try { setState(1433); switch (_input.LA(1)) { case AT: enterOuterAlt(_localctx, 1); { setState(1430); annotation(); } break; case PUBLIC: enterOuterAlt(_localctx, 2); { setState(1431); match(PUBLIC); } break; case ABSTRACT: enterOuterAlt(_localctx, 3); { setState(1432); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitDefaultValue(this); else return visitor.visitChildren(this); } } public final DefaultValueContext defaultValue() throws RecognitionException { DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState()); enterRule(_localctx, 232, RULE_defaultValue); try { enterOuterAlt(_localctx, 1); { setState(1435); match(DEFAULT); setState(1436); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAnnotation(this); else return visitor.visitChildren(this); } } public final AnnotationContext annotation() throws RecognitionException { AnnotationContext _localctx = new AnnotationContext(_ctx, getState()); enterRule(_localctx, 234, RULE_annotation); try { setState(1441); switch ( getInterpreter().adaptivePredict(_input,148,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1438); normalAnnotation(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1439); markerAnnotation(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1440); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitNormalAnnotation(this); else return visitor.visitChildren(this); } } public final NormalAnnotationContext normalAnnotation() throws RecognitionException { NormalAnnotationContext _localctx = new NormalAnnotationContext(_ctx, getState()); enterRule(_localctx, 236, RULE_normalAnnotation); int _la; try { enterOuterAlt(_localctx, 1); { setState(1443); match(AT); setState(1444); typeName(); setState(1445); match(LPAREN); setState(1447); _la = _input.LA(1); if (_la==Identifier) { { setState(1446); elementValuePairList(); } } setState(1449); 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<ElementValuePairContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitElementValuePairList(this); else return visitor.visitChildren(this); } } public final ElementValuePairListContext elementValuePairList() throws RecognitionException { ElementValuePairListContext _localctx = new ElementValuePairListContext(_ctx, getState()); enterRule(_localctx, 238, RULE_elementValuePairList); int _la; try { enterOuterAlt(_localctx, 1); { setState(1451); elementValuePair(); setState(1456); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(1452); match(COMMA); setState(1453); elementValuePair(); } } setState(1458); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitElementValuePair(this); else return visitor.visitChildren(this); } } public final ElementValuePairContext elementValuePair() throws RecognitionException { ElementValuePairContext _localctx = new ElementValuePairContext(_ctx, getState()); enterRule(_localctx, 240, RULE_elementValuePair); try { enterOuterAlt(_localctx, 1); { setState(1459); match(Identifier); setState(1460); match(ASSIGN); setState(1461); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitElementValue(this); else return visitor.visitChildren(this); } } public final ElementValueContext elementValue() throws RecognitionException { ElementValueContext _localctx = new ElementValueContext(_ctx, getState()); enterRule(_localctx, 242, RULE_elementValue); try { setState(1466); switch ( getInterpreter().adaptivePredict(_input,151,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1463); conditionalExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1464); elementValueArrayInitializer(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1465); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitElementValueArrayInitializer(this); else return visitor.visitChildren(this); } } public final ElementValueArrayInitializerContext elementValueArrayInitializer() throws RecognitionException { ElementValueArrayInitializerContext _localctx = new ElementValueArrayInitializerContext(_ctx, getState()); enterRule(_localctx, 244, RULE_elementValueArrayInitializer); int _la; try { enterOuterAlt(_localctx, 1); { setState(1468); match(LBRACE); setState(1470); _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(1469); elementValueList(); } } setState(1473); _la = _input.LA(1); if (_la==COMMA) { { setState(1472); match(COMMA); } } setState(1475); 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<ElementValueContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitElementValueList(this); else return visitor.visitChildren(this); } } public final ElementValueListContext elementValueList() throws RecognitionException { ElementValueListContext _localctx = new ElementValueListContext(_ctx, getState()); enterRule(_localctx, 246, RULE_elementValueList); try { int _alt; enterOuterAlt(_localctx, 1); { setState(1477); elementValue(); setState(1482); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,154,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1478); match(COMMA); setState(1479); elementValue(); } } } setState(1484); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,154,_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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMarkerAnnotation(this); else return visitor.visitChildren(this); } } public final MarkerAnnotationContext markerAnnotation() throws RecognitionException { MarkerAnnotationContext _localctx = new MarkerAnnotationContext(_ctx, getState()); enterRule(_localctx, 248, RULE_markerAnnotation); try { enterOuterAlt(_localctx, 1); { setState(1485); match(AT); setState(1486); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSingleElementAnnotation(this); else return visitor.visitChildren(this); } } public final SingleElementAnnotationContext singleElementAnnotation() throws RecognitionException { SingleElementAnnotationContext _localctx = new SingleElementAnnotationContext(_ctx, getState()); enterRule(_localctx, 250, RULE_singleElementAnnotation); try { enterOuterAlt(_localctx, 1); { setState(1488); match(AT); setState(1489); typeName(); setState(1490); match(LPAREN); setState(1491); elementValue(); setState(1492); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitArrayInitializer(this); else return visitor.visitChildren(this); } } public final ArrayInitializerContext arrayInitializer() throws RecognitionException { ArrayInitializerContext _localctx = new ArrayInitializerContext(_ctx, getState()); enterRule(_localctx, 252, RULE_arrayInitializer); int _la; try { enterOuterAlt(_localctx, 1); { setState(1494); match(LBRACE); setState(1496); _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(1495); variableInitializerList(); } } setState(1499); _la = _input.LA(1); if (_la==COMMA) { { setState(1498); match(COMMA); } } setState(1501); 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<VariableInitializerContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitVariableInitializerList(this); else return visitor.visitChildren(this); } } public final VariableInitializerListContext variableInitializerList() throws RecognitionException { VariableInitializerListContext _localctx = new VariableInitializerListContext(_ctx, getState()); enterRule(_localctx, 254, RULE_variableInitializerList); try { int _alt; enterOuterAlt(_localctx, 1); { setState(1503); variableInitializer(); setState(1508); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,157,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1504); match(COMMA); setState(1505); variableInitializer(); } } } setState(1510); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,157,_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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitBlock(this); else return visitor.visitChildren(this); } } public final BlockContext block() throws RecognitionException { BlockContext _localctx = new BlockContext(_ctx, getState()); enterRule(_localctx, 256, RULE_block); int _la; try { enterOuterAlt(_localctx, 1); { setState(1511); match(LBRACE); setState(1513); _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(1512); blockStatements(); } } setState(1515); 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<BlockStatementContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitBlockStatements(this); else return visitor.visitChildren(this); } } public final BlockStatementsContext blockStatements() throws RecognitionException { BlockStatementsContext _localctx = new BlockStatementsContext(_ctx, getState()); enterRule(_localctx, 258, RULE_blockStatements); int _la; try { enterOuterAlt(_localctx, 1); { setState(1517); blockStatement(); setState(1521); _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(1518); blockStatement(); } } setState(1523); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitBlockStatement(this); else return visitor.visitChildren(this); } } public final BlockStatementContext blockStatement() throws RecognitionException { BlockStatementContext _localctx = new BlockStatementContext(_ctx, getState()); enterRule(_localctx, 260, RULE_blockStatement); try { setState(1527); switch ( getInterpreter().adaptivePredict(_input,160,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1524); localVariableDeclarationStatement(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1525); classDeclaration(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1526); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLocalVariableDeclarationStatement(this); else return visitor.visitChildren(this); } } public final LocalVariableDeclarationStatementContext localVariableDeclarationStatement() throws RecognitionException { LocalVariableDeclarationStatementContext _localctx = new LocalVariableDeclarationStatementContext(_ctx, getState()); enterRule(_localctx, 262, RULE_localVariableDeclarationStatement); try { enterOuterAlt(_localctx, 1); { setState(1529); localVariableDeclaration(); setState(1530); 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<VariableModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLocalVariableDeclaration(this); else return visitor.visitChildren(this); } } public final LocalVariableDeclarationContext localVariableDeclaration() throws RecognitionException { LocalVariableDeclarationContext _localctx = new LocalVariableDeclarationContext(_ctx, getState()); enterRule(_localctx, 264, RULE_localVariableDeclaration); int _la; try { enterOuterAlt(_localctx, 1); { setState(1535); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { setState(1532); variableModifier(); } } setState(1537); _errHandler.sync(this); _la = _input.LA(1); } setState(1538); unannType(); setState(1539); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitStatement(this); else return visitor.visitChildren(this); } } public final StatementContext statement() throws RecognitionException { StatementContext _localctx = new StatementContext(_ctx, getState()); enterRule(_localctx, 266, RULE_statement); try { setState(1547); switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1541); statementWithoutTrailingSubstatement(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1542); labeledStatement(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1543); ifThenStatement(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1544); ifThenElseStatement(); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1545); whileStatement(); } break; case 6: enterOuterAlt(_localctx, 6); { setState(1546); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitStatementNoShortIf(this); else return visitor.visitChildren(this); } } public final StatementNoShortIfContext statementNoShortIf() throws RecognitionException { StatementNoShortIfContext _localctx = new StatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 268, RULE_statementNoShortIf); try { setState(1554); switch ( getInterpreter().adaptivePredict(_input,163,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1549); statementWithoutTrailingSubstatement(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1550); labeledStatementNoShortIf(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1551); ifThenElseStatementNoShortIf(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1552); whileStatementNoShortIf(); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1553); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitStatementWithoutTrailingSubstatement(this); else return visitor.visitChildren(this); } } public final StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() throws RecognitionException { StatementWithoutTrailingSubstatementContext _localctx = new StatementWithoutTrailingSubstatementContext(_ctx, getState()); enterRule(_localctx, 270, RULE_statementWithoutTrailingSubstatement); try { setState(1568); switch (_input.LA(1)) { case LBRACE: enterOuterAlt(_localctx, 1); { setState(1556); block(); } break; case SEMI: enterOuterAlt(_localctx, 2); { setState(1557); 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(1558); expressionStatement(); } break; case ASSERT: enterOuterAlt(_localctx, 4); { setState(1559); assertStatement(); } break; case SWITCH: enterOuterAlt(_localctx, 5); { setState(1560); switchStatement(); } break; case DO: enterOuterAlt(_localctx, 6); { setState(1561); doStatement(); } break; case BREAK: enterOuterAlt(_localctx, 7); { setState(1562); breakStatement(); } break; case CONTINUE: enterOuterAlt(_localctx, 8); { setState(1563); continueStatement(); } break; case RETURN: enterOuterAlt(_localctx, 9); { setState(1564); returnStatement(); } break; case SYNCHRONIZED: enterOuterAlt(_localctx, 10); { setState(1565); synchronizedStatement(); } break; case THROW: enterOuterAlt(_localctx, 11); { setState(1566); throwStatement(); } break; case TRY: enterOuterAlt(_localctx, 12); { setState(1567); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEmptyStatement(this); else return visitor.visitChildren(this); } } public final EmptyStatementContext emptyStatement() throws RecognitionException { EmptyStatementContext _localctx = new EmptyStatementContext(_ctx, getState()); enterRule(_localctx, 272, RULE_emptyStatement); try { enterOuterAlt(_localctx, 1); { setState(1570); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLabeledStatement(this); else return visitor.visitChildren(this); } } public final LabeledStatementContext labeledStatement() throws RecognitionException { LabeledStatementContext _localctx = new LabeledStatementContext(_ctx, getState()); enterRule(_localctx, 274, RULE_labeledStatement); try { enterOuterAlt(_localctx, 1); { setState(1572); match(Identifier); setState(1573); match(COLON); setState(1574); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLabeledStatementNoShortIf(this); else return visitor.visitChildren(this); } } public final LabeledStatementNoShortIfContext labeledStatementNoShortIf() throws RecognitionException { LabeledStatementNoShortIfContext _localctx = new LabeledStatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 276, RULE_labeledStatementNoShortIf); try { enterOuterAlt(_localctx, 1); { setState(1576); match(Identifier); setState(1577); match(COLON); setState(1578); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitExpressionStatement(this); else return visitor.visitChildren(this); } } public final ExpressionStatementContext expressionStatement() throws RecognitionException { ExpressionStatementContext _localctx = new ExpressionStatementContext(_ctx, getState()); enterRule(_localctx, 278, RULE_expressionStatement); try { enterOuterAlt(_localctx, 1); { setState(1580); statementExpression(); setState(1581); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitStatementExpression(this); else return visitor.visitChildren(this); } } public final StatementExpressionContext statementExpression() throws RecognitionException { StatementExpressionContext _localctx = new StatementExpressionContext(_ctx, getState()); enterRule(_localctx, 280, RULE_statementExpression); try { setState(1590); switch ( getInterpreter().adaptivePredict(_input,165,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1583); assignment(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1584); preIncrementExpression(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1585); preDecrementExpression(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1586); postIncrementExpression(); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1587); postDecrementExpression(); } break; case 6: enterOuterAlt(_localctx, 6); { setState(1588); methodInvocation(); } break; case 7: enterOuterAlt(_localctx, 7); { setState(1589); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitIfThenStatement(this); else return visitor.visitChildren(this); } } public final IfThenStatementContext ifThenStatement() throws RecognitionException { IfThenStatementContext _localctx = new IfThenStatementContext(_ctx, getState()); enterRule(_localctx, 282, RULE_ifThenStatement); try { enterOuterAlt(_localctx, 1); { setState(1592); match(IF); setState(1593); match(LPAREN); setState(1594); expression(); setState(1595); match(RPAREN); setState(1596); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitIfThenElseStatement(this); else return visitor.visitChildren(this); } } public final IfThenElseStatementContext ifThenElseStatement() throws RecognitionException { IfThenElseStatementContext _localctx = new IfThenElseStatementContext(_ctx, getState()); enterRule(_localctx, 284, RULE_ifThenElseStatement); try { enterOuterAlt(_localctx, 1); { setState(1598); match(IF); setState(1599); match(LPAREN); setState(1600); expression(); setState(1601); match(RPAREN); setState(1602); statementNoShortIf(); setState(1603); match(ELSE); setState(1604); 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<StatementNoShortIfContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitIfThenElseStatementNoShortIf(this); else return visitor.visitChildren(this); } } public final IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() throws RecognitionException { IfThenElseStatementNoShortIfContext _localctx = new IfThenElseStatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 286, RULE_ifThenElseStatementNoShortIf); try { enterOuterAlt(_localctx, 1); { setState(1606); match(IF); setState(1607); match(LPAREN); setState(1608); expression(); setState(1609); match(RPAREN); setState(1610); statementNoShortIf(); setState(1611); match(ELSE); setState(1612); 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<ExpressionContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAssertStatement(this); else return visitor.visitChildren(this); } } public final AssertStatementContext assertStatement() throws RecognitionException { AssertStatementContext _localctx = new AssertStatementContext(_ctx, getState()); enterRule(_localctx, 288, RULE_assertStatement); try { setState(1624); switch ( getInterpreter().adaptivePredict(_input,166,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1614); match(ASSERT); setState(1615); expression(); setState(1616); match(SEMI); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1618); match(ASSERT); setState(1619); expression(); setState(1620); match(COLON); setState(1621); expression(); setState(1622); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSwitchStatement(this); else return visitor.visitChildren(this); } } public final SwitchStatementContext switchStatement() throws RecognitionException { SwitchStatementContext _localctx = new SwitchStatementContext(_ctx, getState()); enterRule(_localctx, 290, RULE_switchStatement); try { enterOuterAlt(_localctx, 1); { setState(1626); match(SWITCH); setState(1627); match(LPAREN); setState(1628); expression(); setState(1629); match(RPAREN); setState(1630); 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<SwitchBlockStatementGroupContext> switchBlockStatementGroup() { return getRuleContexts(SwitchBlockStatementGroupContext.class); } public SwitchBlockStatementGroupContext switchBlockStatementGroup(int i) { return getRuleContext(SwitchBlockStatementGroupContext.class,i); } public List<SwitchLabelContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSwitchBlock(this); else return visitor.visitChildren(this); } } public final SwitchBlockContext switchBlock() throws RecognitionException { SwitchBlockContext _localctx = new SwitchBlockContext(_ctx, getState()); enterRule(_localctx, 292, RULE_switchBlock); int _la; try { int _alt; enterOuterAlt(_localctx, 1); { setState(1632); match(LBRACE); setState(1636); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,167,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1633); switchBlockStatementGroup(); } } } setState(1638); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,167,_ctx); } setState(1642); _errHandler.sync(this); _la = _input.LA(1); while (_la==CASE || _la==DEFAULT) { { { setState(1639); switchLabel(); } } setState(1644); _errHandler.sync(this); _la = _input.LA(1); } setState(1645); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSwitchBlockStatementGroup(this); else return visitor.visitChildren(this); } } public final SwitchBlockStatementGroupContext switchBlockStatementGroup() throws RecognitionException { SwitchBlockStatementGroupContext _localctx = new SwitchBlockStatementGroupContext(_ctx, getState()); enterRule(_localctx, 294, RULE_switchBlockStatementGroup); try { enterOuterAlt(_localctx, 1); { setState(1647); switchLabels(); setState(1648); 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<SwitchLabelContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSwitchLabels(this); else return visitor.visitChildren(this); } } public final SwitchLabelsContext switchLabels() throws RecognitionException { SwitchLabelsContext _localctx = new SwitchLabelsContext(_ctx, getState()); enterRule(_localctx, 296, RULE_switchLabels); int _la; try { enterOuterAlt(_localctx, 1); { setState(1650); switchLabel(); setState(1654); _errHandler.sync(this); _la = _input.LA(1); while (_la==CASE || _la==DEFAULT) { { { setState(1651); switchLabel(); } } setState(1656); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSwitchLabel(this); else return visitor.visitChildren(this); } } public final SwitchLabelContext switchLabel() throws RecognitionException { SwitchLabelContext _localctx = new SwitchLabelContext(_ctx, getState()); enterRule(_localctx, 298, RULE_switchLabel); try { setState(1667); switch ( getInterpreter().adaptivePredict(_input,170,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1657); match(CASE); setState(1658); constantExpression(); setState(1659); match(COLON); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1661); match(CASE); setState(1662); enumConstantName(); setState(1663); match(COLON); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1665); match(DEFAULT); setState(1666); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnumConstantName(this); else return visitor.visitChildren(this); } } public final EnumConstantNameContext enumConstantName() throws RecognitionException { EnumConstantNameContext _localctx = new EnumConstantNameContext(_ctx, getState()); enterRule(_localctx, 300, RULE_enumConstantName); try { enterOuterAlt(_localctx, 1); { setState(1669); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitWhileStatement(this); else return visitor.visitChildren(this); } } public final WhileStatementContext whileStatement() throws RecognitionException { WhileStatementContext _localctx = new WhileStatementContext(_ctx, getState()); enterRule(_localctx, 302, RULE_whileStatement); try { enterOuterAlt(_localctx, 1); { setState(1671); match(WHILE); setState(1672); match(LPAREN); setState(1673); expression(); setState(1674); match(RPAREN); setState(1675); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitWhileStatementNoShortIf(this); else return visitor.visitChildren(this); } } public final WhileStatementNoShortIfContext whileStatementNoShortIf() throws RecognitionException { WhileStatementNoShortIfContext _localctx = new WhileStatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 304, RULE_whileStatementNoShortIf); try { enterOuterAlt(_localctx, 1); { setState(1677); match(WHILE); setState(1678); match(LPAREN); setState(1679); expression(); setState(1680); match(RPAREN); setState(1681); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitDoStatement(this); else return visitor.visitChildren(this); } } public final DoStatementContext doStatement() throws RecognitionException { DoStatementContext _localctx = new DoStatementContext(_ctx, getState()); enterRule(_localctx, 306, RULE_doStatement); try { enterOuterAlt(_localctx, 1); { setState(1683); match(DO); setState(1684); statement(); setState(1685); match(WHILE); setState(1686); match(LPAREN); setState(1687); expression(); setState(1688); match(RPAREN); setState(1689); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitForStatement(this); else return visitor.visitChildren(this); } } public final ForStatementContext forStatement() throws RecognitionException { ForStatementContext _localctx = new ForStatementContext(_ctx, getState()); enterRule(_localctx, 308, RULE_forStatement); try { setState(1693); switch ( getInterpreter().adaptivePredict(_input,171,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1691); basicForStatement(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1692); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitForStatementNoShortIf(this); else return visitor.visitChildren(this); } } public final ForStatementNoShortIfContext forStatementNoShortIf() throws RecognitionException { ForStatementNoShortIfContext _localctx = new ForStatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 310, RULE_forStatementNoShortIf); try { setState(1697); switch ( getInterpreter().adaptivePredict(_input,172,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1695); basicForStatementNoShortIf(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1696); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitBasicForStatement(this); else return visitor.visitChildren(this); } } public final BasicForStatementContext basicForStatement() throws RecognitionException { BasicForStatementContext _localctx = new BasicForStatementContext(_ctx, getState()); enterRule(_localctx, 312, RULE_basicForStatement); int _la; try { enterOuterAlt(_localctx, 1); { setState(1699); match(FOR); setState(1700); match(LPAREN); setState(1702); _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(1701); forInit(); } } setState(1704); match(SEMI); setState(1706); _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(1705); expression(); } } setState(1708); match(SEMI); setState(1710); _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(1709); forUpdate(); } } setState(1712); match(RPAREN); setState(1713); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitBasicForStatementNoShortIf(this); else return visitor.visitChildren(this); } } public final BasicForStatementNoShortIfContext basicForStatementNoShortIf() throws RecognitionException { BasicForStatementNoShortIfContext _localctx = new BasicForStatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 314, RULE_basicForStatementNoShortIf); int _la; try { enterOuterAlt(_localctx, 1); { setState(1715); match(FOR); setState(1716); match(LPAREN); setState(1718); _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(1717); forInit(); } } setState(1720); match(SEMI); setState(1722); _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(1721); expression(); } } setState(1724); match(SEMI); setState(1726); _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(1725); forUpdate(); } } setState(1728); match(RPAREN); setState(1729); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitForInit(this); else return visitor.visitChildren(this); } } public final ForInitContext forInit() throws RecognitionException { ForInitContext _localctx = new ForInitContext(_ctx, getState()); enterRule(_localctx, 316, RULE_forInit); try { setState(1733); switch ( getInterpreter().adaptivePredict(_input,179,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1731); statementExpressionList(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1732); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitForUpdate(this); else return visitor.visitChildren(this); } } public final ForUpdateContext forUpdate() throws RecognitionException { ForUpdateContext _localctx = new ForUpdateContext(_ctx, getState()); enterRule(_localctx, 318, RULE_forUpdate); try { enterOuterAlt(_localctx, 1); { setState(1735); 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<StatementExpressionContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitStatementExpressionList(this); else return visitor.visitChildren(this); } } public final StatementExpressionListContext statementExpressionList() throws RecognitionException { StatementExpressionListContext _localctx = new StatementExpressionListContext(_ctx, getState()); enterRule(_localctx, 320, RULE_statementExpressionList); int _la; try { enterOuterAlt(_localctx, 1); { setState(1737); statementExpression(); setState(1742); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(1738); match(COMMA); setState(1739); statementExpression(); } } setState(1744); _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<VariableModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnhancedForStatement(this); else return visitor.visitChildren(this); } } public final EnhancedForStatementContext enhancedForStatement() throws RecognitionException { EnhancedForStatementContext _localctx = new EnhancedForStatementContext(_ctx, getState()); enterRule(_localctx, 322, RULE_enhancedForStatement); int _la; try { enterOuterAlt(_localctx, 1); { setState(1745); match(FOR); setState(1746); match(LPAREN); setState(1750); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { setState(1747); variableModifier(); } } setState(1752); _errHandler.sync(this); _la = _input.LA(1); } setState(1753); unannType(); setState(1754); variableDeclaratorId(); setState(1755); match(COLON); setState(1756); expression(); setState(1757); match(RPAREN); setState(1758); 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<VariableModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEnhancedForStatementNoShortIf(this); else return visitor.visitChildren(this); } } public final EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() throws RecognitionException { EnhancedForStatementNoShortIfContext _localctx = new EnhancedForStatementNoShortIfContext(_ctx, getState()); enterRule(_localctx, 324, RULE_enhancedForStatementNoShortIf); int _la; try { enterOuterAlt(_localctx, 1); { setState(1760); match(FOR); setState(1761); match(LPAREN); setState(1765); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { setState(1762); variableModifier(); } } setState(1767); _errHandler.sync(this); _la = _input.LA(1); } setState(1768); unannType(); setState(1769); variableDeclaratorId(); setState(1770); match(COLON); setState(1771); expression(); setState(1772); match(RPAREN); setState(1773); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitBreakStatement(this); else return visitor.visitChildren(this); } } public final BreakStatementContext breakStatement() throws RecognitionException { BreakStatementContext _localctx = new BreakStatementContext(_ctx, getState()); enterRule(_localctx, 326, RULE_breakStatement); int _la; try { enterOuterAlt(_localctx, 1); { setState(1775); match(BREAK); setState(1777); _la = _input.LA(1); if (_la==Identifier) { { setState(1776); match(Identifier); } } setState(1779); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitContinueStatement(this); else return visitor.visitChildren(this); } } public final ContinueStatementContext continueStatement() throws RecognitionException { ContinueStatementContext _localctx = new ContinueStatementContext(_ctx, getState()); enterRule(_localctx, 328, RULE_continueStatement); int _la; try { enterOuterAlt(_localctx, 1); { setState(1781); match(CONTINUE); setState(1783); _la = _input.LA(1); if (_la==Identifier) { { setState(1782); match(Identifier); } } setState(1785); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitReturnStatement(this); else return visitor.visitChildren(this); } } public final ReturnStatementContext returnStatement() throws RecognitionException { ReturnStatementContext _localctx = new ReturnStatementContext(_ctx, getState()); enterRule(_localctx, 330, RULE_returnStatement); int _la; try { enterOuterAlt(_localctx, 1); { setState(1787); match(RETURN); setState(1789); _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(1788); expression(); } } setState(1791); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitThrowStatement(this); else return visitor.visitChildren(this); } } public final ThrowStatementContext throwStatement() throws RecognitionException { ThrowStatementContext _localctx = new ThrowStatementContext(_ctx, getState()); enterRule(_localctx, 332, RULE_throwStatement); try { enterOuterAlt(_localctx, 1); { setState(1793); match(THROW); setState(1794); expression(); setState(1795); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitSynchronizedStatement(this); else return visitor.visitChildren(this); } } public final SynchronizedStatementContext synchronizedStatement() throws RecognitionException { SynchronizedStatementContext _localctx = new SynchronizedStatementContext(_ctx, getState()); enterRule(_localctx, 334, RULE_synchronizedStatement); try { enterOuterAlt(_localctx, 1); { setState(1797); match(SYNCHRONIZED); setState(1798); match(LPAREN); setState(1799); expression(); setState(1800); match(RPAREN); setState(1801); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTryStatement(this); else return visitor.visitChildren(this); } } public final TryStatementContext tryStatement() throws RecognitionException { TryStatementContext _localctx = new TryStatementContext(_ctx, getState()); enterRule(_localctx, 336, RULE_tryStatement); int _la; try { setState(1815); switch ( getInterpreter().adaptivePredict(_input,187,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1803); match(TRY); setState(1804); block(); setState(1805); catches(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1807); match(TRY); setState(1808); block(); setState(1810); _la = _input.LA(1); if (_la==CATCH) { { setState(1809); catches(); } } setState(1812); finally_(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1814); 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<CatchClauseContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitCatches(this); else return visitor.visitChildren(this); } } public final CatchesContext catches() throws RecognitionException { CatchesContext _localctx = new CatchesContext(_ctx, getState()); enterRule(_localctx, 338, RULE_catches); int _la; try { enterOuterAlt(_localctx, 1); { setState(1817); catchClause(); setState(1821); _errHandler.sync(this); _la = _input.LA(1); while (_la==CATCH) { { { setState(1818); catchClause(); } } 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 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitCatchClause(this); else return visitor.visitChildren(this); } } public final CatchClauseContext catchClause() throws RecognitionException { CatchClauseContext _localctx = new CatchClauseContext(_ctx, getState()); enterRule(_localctx, 340, RULE_catchClause); try { enterOuterAlt(_localctx, 1); { setState(1824); match(CATCH); setState(1825); match(LPAREN); setState(1826); catchFormalParameter(); setState(1827); match(RPAREN); setState(1828); 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<VariableModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitCatchFormalParameter(this); else return visitor.visitChildren(this); } } public final CatchFormalParameterContext catchFormalParameter() throws RecognitionException { CatchFormalParameterContext _localctx = new CatchFormalParameterContext(_ctx, getState()); enterRule(_localctx, 342, RULE_catchFormalParameter); int _la; try { enterOuterAlt(_localctx, 1); { setState(1833); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { setState(1830); variableModifier(); } } setState(1835); _errHandler.sync(this); _la = _input.LA(1); } setState(1836); catchType(); setState(1837); 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<ClassTypeContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitCatchType(this); else return visitor.visitChildren(this); } } public final CatchTypeContext catchType() throws RecognitionException { CatchTypeContext _localctx = new CatchTypeContext(_ctx, getState()); enterRule(_localctx, 344, RULE_catchType); int _la; try { enterOuterAlt(_localctx, 1); { setState(1839); unannClassType(); setState(1844); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITOR) { { { setState(1840); match(BITOR); setState(1841); classType(); } } setState(1846); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFinally_(this); else return visitor.visitChildren(this); } } public final Finally_Context finally_() throws RecognitionException { Finally_Context _localctx = new Finally_Context(_ctx, getState()); enterRule(_localctx, 346, RULE_finally_); try { enterOuterAlt(_localctx, 1); { setState(1847); match(FINALLY); setState(1848); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTryWithResourcesStatement(this); else return visitor.visitChildren(this); } } public final TryWithResourcesStatementContext tryWithResourcesStatement() throws RecognitionException { TryWithResourcesStatementContext _localctx = new TryWithResourcesStatementContext(_ctx, getState()); enterRule(_localctx, 348, RULE_tryWithResourcesStatement); int _la; try { enterOuterAlt(_localctx, 1); { setState(1850); match(TRY); setState(1851); resourceSpecification(); setState(1852); block(); setState(1854); _la = _input.LA(1); if (_la==CATCH) { { setState(1853); catches(); } } setState(1857); _la = _input.LA(1); if (_la==FINALLY) { { setState(1856); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitResourceSpecification(this); else return visitor.visitChildren(this); } } public final ResourceSpecificationContext resourceSpecification() throws RecognitionException { ResourceSpecificationContext _localctx = new ResourceSpecificationContext(_ctx, getState()); enterRule(_localctx, 350, RULE_resourceSpecification); int _la; try { enterOuterAlt(_localctx, 1); { setState(1859); match(LPAREN); setState(1860); resourceList(); setState(1862); _la = _input.LA(1); if (_la==SEMI) { { setState(1861); match(SEMI); } } setState(1864); 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<ResourceContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitResourceList(this); else return visitor.visitChildren(this); } } public final ResourceListContext resourceList() throws RecognitionException { ResourceListContext _localctx = new ResourceListContext(_ctx, getState()); enterRule(_localctx, 352, RULE_resourceList); try { int _alt; enterOuterAlt(_localctx, 1); { setState(1866); resource(); setState(1871); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,194,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1867); match(SEMI); setState(1868); resource(); } } } setState(1873); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,194,_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<VariableModifierContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitResource(this); else return visitor.visitChildren(this); } } public final ResourceContext resource() throws RecognitionException { ResourceContext _localctx = new ResourceContext(_ctx, getState()); enterRule(_localctx, 354, RULE_resource); int _la; try { enterOuterAlt(_localctx, 1); { setState(1877); _errHandler.sync(this); _la = _input.LA(1); while (_la==FINAL || _la==AT) { { { setState(1874); variableModifier(); } } setState(1879); _errHandler.sync(this); _la = _input.LA(1); } setState(1880); unannType(); setState(1881); variableDeclaratorId(); setState(1882); match(ASSIGN); setState(1883); 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_primaryContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimary(this); else return visitor.visitChildren(this); } } public final PrimaryContext primary() throws RecognitionException { PrimaryContext _localctx = new PrimaryContext(_ctx, getState()); enterRule(_localctx, 356, RULE_primary); try { int _alt; enterOuterAlt(_localctx, 1); { setState(1887); switch ( getInterpreter().adaptivePredict(_input,196,_ctx) ) { case 1: { setState(1885); primaryNoNewArray_lfno_primary(); } break; case 2: { setState(1886); arrayCreationExpression(); } break; } setState(1892); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,197,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(1889); primaryNoNewArray_lf_primary(); } } } setState(1894); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,197,_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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray(this); else return visitor.visitChildren(this); } } public final PrimaryNoNewArrayContext primaryNoNewArray() throws RecognitionException { PrimaryNoNewArrayContext _localctx = new PrimaryNoNewArrayContext(_ctx, getState()); enterRule(_localctx, 358, RULE_primaryNoNewArray); int _la; try { setState(1924); switch ( getInterpreter().adaptivePredict(_input,199,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1895); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1896); typeName(); setState(1901); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { setState(1897); match(LBRACK); setState(1898); match(RBRACK); } } setState(1903); _errHandler.sync(this); _la = _input.LA(1); } setState(1904); match(DOT); setState(1905); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1907); match(VOID); setState(1908); match(DOT); setState(1909); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1910); match(THIS); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1911); typeName(); setState(1912); match(DOT); setState(1913); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { setState(1915); match(LPAREN); setState(1916); expression(); setState(1917); match(RPAREN); } break; case 7: enterOuterAlt(_localctx, 7); { setState(1919); classInstanceCreationExpression(); } break; case 8: enterOuterAlt(_localctx, 8); { setState(1920); fieldAccess(); } break; case 9: enterOuterAlt(_localctx, 9); { setState(1921); arrayAccess(); } break; case 10: enterOuterAlt(_localctx, 10); { setState(1922); methodInvocation(); } break; case 11: enterOuterAlt(_localctx, 11); { setState(1923); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray_lf_arrayAccess(this); else return visitor.visitChildren(this); } } public final PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess() throws RecognitionException { PrimaryNoNewArray_lf_arrayAccessContext _localctx = new PrimaryNoNewArray_lf_arrayAccessContext(_ctx, getState()); enterRule(_localctx, 360, 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray_lfno_arrayAccess(this); else return visitor.visitChildren(this); } } public final PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() throws RecognitionException { PrimaryNoNewArray_lfno_arrayAccessContext _localctx = new PrimaryNoNewArray_lfno_arrayAccessContext(_ctx, getState()); enterRule(_localctx, 362, RULE_primaryNoNewArray_lfno_arrayAccess); int _la; try { setState(1956); switch ( getInterpreter().adaptivePredict(_input,201,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1928); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1929); typeName(); setState(1934); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { setState(1930); match(LBRACK); setState(1931); match(RBRACK); } } setState(1936); _errHandler.sync(this); _la = _input.LA(1); } setState(1937); match(DOT); setState(1938); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1940); match(VOID); setState(1941); match(DOT); setState(1942); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1943); match(THIS); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1944); typeName(); setState(1945); match(DOT); setState(1946); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { setState(1948); match(LPAREN); setState(1949); expression(); setState(1950); match(RPAREN); } break; case 7: enterOuterAlt(_localctx, 7); { setState(1952); classInstanceCreationExpression(); } break; case 8: enterOuterAlt(_localctx, 8); { setState(1953); fieldAccess(); } break; case 9: enterOuterAlt(_localctx, 9); { setState(1954); methodInvocation(); } break; case 10: enterOuterAlt(_localctx, 10); { setState(1955); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray_lf_primary(this); else return visitor.visitChildren(this); } } public final PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary() throws RecognitionException { PrimaryNoNewArray_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 364, RULE_primaryNoNewArray_lf_primary); try { setState(1963); switch ( getInterpreter().adaptivePredict(_input,202,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1958); classInstanceCreationExpression_lf_primary(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1959); fieldAccess_lf_primary(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1960); arrayAccess_lf_primary(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1961); methodInvocation_lf_primary(); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1962); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); else return visitor.visitChildren(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, 366, 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); else return visitor.visitChildren(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, 368, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary); try { setState(1971); switch ( getInterpreter().adaptivePredict(_input,203,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1967); classInstanceCreationExpression_lf_primary(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1968); fieldAccess_lf_primary(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1969); methodInvocation_lf_primary(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1970); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray_lfno_primary(this); else return visitor.visitChildren(this); } } public final PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() throws RecognitionException { PrimaryNoNewArray_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primaryContext(_ctx, getState()); enterRule(_localctx, 370, RULE_primaryNoNewArray_lfno_primary); int _la; try { setState(2013); switch ( getInterpreter().adaptivePredict(_input,206,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(1973); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(1974); typeName(); setState(1979); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { setState(1975); match(LBRACK); setState(1976); match(RBRACK); } } setState(1981); _errHandler.sync(this); _la = _input.LA(1); } setState(1982); match(DOT); setState(1983); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { setState(1985); unannPrimitiveType(); setState(1990); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { setState(1986); match(LBRACK); setState(1987); match(RBRACK); } } setState(1992); _errHandler.sync(this); _la = _input.LA(1); } setState(1993); match(DOT); setState(1994); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { setState(1996); match(VOID); setState(1997); match(DOT); setState(1998); match(CLASS); } break; case 5: enterOuterAlt(_localctx, 5); { setState(1999); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { setState(2000); typeName(); setState(2001); match(DOT); setState(2002); match(THIS); } break; case 7: enterOuterAlt(_localctx, 7); { setState(2004); match(LPAREN); setState(2005); expression(); setState(2006); match(RPAREN); } break; case 8: enterOuterAlt(_localctx, 8); { setState(2008); classInstanceCreationExpression_lfno_primary(); } break; case 9: enterOuterAlt(_localctx, 9); { setState(2009); fieldAccess_lfno_primary(); } break; case 10: enterOuterAlt(_localctx, 10); { setState(2010); arrayAccess_lfno_primary(); } break; case 11: enterOuterAlt(_localctx, 11); { setState(2011); methodInvocation_lfno_primary(); } break; case 12: enterOuterAlt(_localctx, 12); { setState(2012); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); else return visitor.visitChildren(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, 372, 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); else return visitor.visitChildren(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, 374, RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary); int _la; try { setState(2056); switch ( getInterpreter().adaptivePredict(_input,209,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2017); literal(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2018); typeName(); setState(2023); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { setState(2019); match(LBRACK); setState(2020); match(RBRACK); } } setState(2025); _errHandler.sync(this); _la = _input.LA(1); } setState(2026); match(DOT); setState(2027); match(CLASS); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2029); unannPrimitiveType(); setState(2034); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { setState(2030); match(LBRACK); setState(2031); match(RBRACK); } } setState(2036); _errHandler.sync(this); _la = _input.LA(1); } setState(2037); match(DOT); setState(2038); match(CLASS); } break; case 4: enterOuterAlt(_localctx, 4); { setState(2040); match(VOID); setState(2041); match(DOT); setState(2042); match(CLASS); } break; case 5: enterOuterAlt(_localctx, 5); { setState(2043); match(THIS); } break; case 6: enterOuterAlt(_localctx, 6); { setState(2044); typeName(); setState(2045); match(DOT); setState(2046); match(THIS); } break; case 7: enterOuterAlt(_localctx, 7); { setState(2048); match(LPAREN); setState(2049); expression(); setState(2050); match(RPAREN); } break; case 8: enterOuterAlt(_localctx, 8); { setState(2052); classInstanceCreationExpression_lfno_primary(); } break; case 9: enterOuterAlt(_localctx, 9); { setState(2053); fieldAccess_lfno_primary(); } break; case 10: enterOuterAlt(_localctx, 10); { setState(2054); methodInvocation_lfno_primary(); } break; case 11: enterOuterAlt(_localctx, 11); { setState(2055); 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<TerminalNode> 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassInstanceCreationExpression(this); else return visitor.visitChildren(this); } } public final ClassInstanceCreationExpressionContext classInstanceCreationExpression() throws RecognitionException { ClassInstanceCreationExpressionContext _localctx = new ClassInstanceCreationExpressionContext(_ctx, getState()); enterRule(_localctx, 376, RULE_classInstanceCreationExpression); int _la; try { setState(2141); switch ( getInterpreter().adaptivePredict(_input,227,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2058); match(NEW); setState(2060); _la = _input.LA(1); if (_la==LT) { { setState(2059); typeArguments(); } } setState(2065); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2062); annotation(); } } setState(2067); _errHandler.sync(this); _la = _input.LA(1); } setState(2068); match(Identifier); setState(2079); _errHandler.sync(this); _la = _input.LA(1); while (_la==DOT) { { { setState(2069); match(DOT); setState(2073); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2070); annotation(); } } setState(2075); _errHandler.sync(this); _la = _input.LA(1); } setState(2076); match(Identifier); } } setState(2081); _errHandler.sync(this); _la = _input.LA(1); } setState(2083); _la = _input.LA(1); if (_la==LT) { { setState(2082); typeArgumentsOrDiamond(); } } setState(2085); match(LPAREN); setState(2087); _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(2086); argumentList(); } } setState(2089); match(RPAREN); setState(2091); _la = _input.LA(1); if (_la==LBRACE) { { setState(2090); classBody(); } } } break; case 2: enterOuterAlt(_localctx, 2); { setState(2093); expressionName(); setState(2094); match(DOT); setState(2095); match(NEW); setState(2097); _la = _input.LA(1); if (_la==LT) { { setState(2096); typeArguments(); } } setState(2102); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2099); annotation(); } } setState(2104); _errHandler.sync(this); _la = _input.LA(1); } setState(2105); match(Identifier); setState(2107); _la = _input.LA(1); if (_la==LT) { { setState(2106); typeArgumentsOrDiamond(); } } setState(2109); match(LPAREN); setState(2111); _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(2110); argumentList(); } } setState(2113); match(RPAREN); setState(2115); _la = _input.LA(1); if (_la==LBRACE) { { setState(2114); classBody(); } } } break; case 3: enterOuterAlt(_localctx, 3); { setState(2117); primary(); setState(2118); match(DOT); setState(2119); match(NEW); setState(2121); _la = _input.LA(1); if (_la==LT) { { setState(2120); typeArguments(); } } setState(2126); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2123); annotation(); } } setState(2128); _errHandler.sync(this); _la = _input.LA(1); } setState(2129); match(Identifier); setState(2131); _la = _input.LA(1); if (_la==LT) { { setState(2130); typeArgumentsOrDiamond(); } } setState(2133); match(LPAREN); setState(2135); _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(2134); argumentList(); } } setState(2137); match(RPAREN); setState(2139); _la = _input.LA(1); if (_la==LBRACE) { { setState(2138); 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassInstanceCreationExpression_lf_primary(this); else return visitor.visitChildren(this); } } public final ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() throws RecognitionException { ClassInstanceCreationExpression_lf_primaryContext _localctx = new ClassInstanceCreationExpression_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 378, RULE_classInstanceCreationExpression_lf_primary); int _la; try { enterOuterAlt(_localctx, 1); { setState(2143); match(DOT); setState(2144); match(NEW); setState(2146); _la = _input.LA(1); if (_la==LT) { { setState(2145); typeArguments(); } } setState(2151); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2148); annotation(); } } setState(2153); _errHandler.sync(this); _la = _input.LA(1); } setState(2154); match(Identifier); setState(2156); _la = _input.LA(1); if (_la==LT) { { setState(2155); typeArgumentsOrDiamond(); } } setState(2158); match(LPAREN); setState(2160); _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(2159); argumentList(); } } setState(2162); match(RPAREN); setState(2164); switch ( getInterpreter().adaptivePredict(_input,232,_ctx) ) { case 1: { setState(2163); 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<TerminalNode> 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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitClassInstanceCreationExpression_lfno_primary(this); else return visitor.visitChildren(this); } } public final ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() throws RecognitionException { ClassInstanceCreationExpression_lfno_primaryContext _localctx = new ClassInstanceCreationExpression_lfno_primaryContext(_ctx, getState()); enterRule(_localctx, 380, RULE_classInstanceCreationExpression_lfno_primary); int _la; try { setState(2225); switch (_input.LA(1)) { case NEW: enterOuterAlt(_localctx, 1); { setState(2166); match(NEW); setState(2168); _la = _input.LA(1); if (_la==LT) { { setState(2167); typeArguments(); } } setState(2173); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2170); annotation(); } } setState(2175); _errHandler.sync(this); _la = _input.LA(1); } setState(2176); match(Identifier); setState(2187); _errHandler.sync(this); _la = _input.LA(1); while (_la==DOT) { { { setState(2177); match(DOT); setState(2181); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2178); annotation(); } } setState(2183); _errHandler.sync(this); _la = _input.LA(1); } setState(2184); match(Identifier); } } setState(2189); _errHandler.sync(this); _la = _input.LA(1); } setState(2191); _la = _input.LA(1); if (_la==LT) { { setState(2190); typeArgumentsOrDiamond(); } } setState(2193); match(LPAREN); setState(2195); _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(2194); argumentList(); } } setState(2197); match(RPAREN); setState(2199); switch ( getInterpreter().adaptivePredict(_input,239,_ctx) ) { case 1: { setState(2198); classBody(); } break; } } break; case Identifier: enterOuterAlt(_localctx, 2); { setState(2201); expressionName(); setState(2202); match(DOT); setState(2203); match(NEW); setState(2205); _la = _input.LA(1); if (_la==LT) { { setState(2204); typeArguments(); } } setState(2210); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2207); annotation(); } } setState(2212); _errHandler.sync(this); _la = _input.LA(1); } setState(2213); match(Identifier); setState(2215); _la = _input.LA(1); if (_la==LT) { { setState(2214); typeArgumentsOrDiamond(); } } setState(2217); match(LPAREN); setState(2219); _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(2218); argumentList(); } } setState(2221); match(RPAREN); setState(2223); switch ( getInterpreter().adaptivePredict(_input,244,_ctx) ) { case 1: { setState(2222); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitTypeArgumentsOrDiamond(this); else return visitor.visitChildren(this); } } public final TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() throws RecognitionException { TypeArgumentsOrDiamondContext _localctx = new TypeArgumentsOrDiamondContext(_ctx, getState()); enterRule(_localctx, 382, RULE_typeArgumentsOrDiamond); try { setState(2230); switch ( getInterpreter().adaptivePredict(_input,246,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2227); typeArguments(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2228); match(LT); setState(2229); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFieldAccess(this); else return visitor.visitChildren(this); } } public final FieldAccessContext fieldAccess() throws RecognitionException { FieldAccessContext _localctx = new FieldAccessContext(_ctx, getState()); enterRule(_localctx, 384, RULE_fieldAccess); try { setState(2245); switch ( getInterpreter().adaptivePredict(_input,247,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2232); primary(); setState(2233); match(DOT); setState(2234); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2236); match(SUPER); setState(2237); match(DOT); setState(2238); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2239); typeName(); setState(2240); match(DOT); setState(2241); match(SUPER); setState(2242); match(DOT); setState(2243); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFieldAccess_lf_primary(this); else return visitor.visitChildren(this); } } public final FieldAccess_lf_primaryContext fieldAccess_lf_primary() throws RecognitionException { FieldAccess_lf_primaryContext _localctx = new FieldAccess_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 386, RULE_fieldAccess_lf_primary); try { enterOuterAlt(_localctx, 1); { setState(2247); match(DOT); setState(2248); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitFieldAccess_lfno_primary(this); else return visitor.visitChildren(this); } } public final FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() throws RecognitionException { FieldAccess_lfno_primaryContext _localctx = new FieldAccess_lfno_primaryContext(_ctx, getState()); enterRule(_localctx, 388, RULE_fieldAccess_lfno_primary); try { setState(2259); switch (_input.LA(1)) { case SUPER: enterOuterAlt(_localctx, 1); { setState(2250); match(SUPER); setState(2251); match(DOT); setState(2252); match(Identifier); } break; case Identifier: enterOuterAlt(_localctx, 2); { setState(2253); typeName(); setState(2254); match(DOT); setState(2255); match(SUPER); setState(2256); match(DOT); setState(2257); 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<ExpressionContext> 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_arrayAccessContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitArrayAccess(this); else return visitor.visitChildren(this); } } public final ArrayAccessContext arrayAccess() throws RecognitionException { ArrayAccessContext _localctx = new ArrayAccessContext(_ctx, getState()); enterRule(_localctx, 390, RULE_arrayAccess); int _la; try { enterOuterAlt(_localctx, 1); { setState(2271); switch ( getInterpreter().adaptivePredict(_input,249,_ctx) ) { case 1: { setState(2261); expressionName(); setState(2262); match(LBRACK); setState(2263); expression(); setState(2264); match(RBRACK); } break; case 2: { setState(2266); primaryNoNewArray_lfno_arrayAccess(); setState(2267); match(LBRACK); setState(2268); expression(); setState(2269); match(RBRACK); } break; } setState(2280); _errHandler.sync(this); _la = _input.LA(1); while (_la==LBRACK) { { { setState(2273); primaryNoNewArray_lf_arrayAccess(); setState(2274); match(LBRACK); setState(2275); expression(); setState(2276); match(RBRACK); } } setState(2282); _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<ExpressionContext> expression() { return getRuleContexts(ExpressionContext.class); } public ExpressionContext expression(int i) { return getRuleContext(ExpressionContext.class,i); } public List<PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitArrayAccess_lf_primary(this); else return visitor.visitChildren(this); } } public final ArrayAccess_lf_primaryContext arrayAccess_lf_primary() throws RecognitionException { ArrayAccess_lf_primaryContext _localctx = new ArrayAccess_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 392, RULE_arrayAccess_lf_primary); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2283); primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); setState(2284); match(LBRACK); setState(2285); expression(); setState(2286); match(RBRACK); } setState(2295); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,251,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(2288); primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); setState(2289); match(LBRACK); setState(2290); expression(); setState(2291); match(RBRACK); } } } setState(2297); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,251,_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<ExpressionContext> 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_primaryContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitArrayAccess_lfno_primary(this); else return visitor.visitChildren(this); } } public final ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() throws RecognitionException { ArrayAccess_lfno_primaryContext _localctx = new ArrayAccess_lfno_primaryContext(_ctx, getState()); enterRule(_localctx, 394, RULE_arrayAccess_lfno_primary); try { int _alt; enterOuterAlt(_localctx, 1); { setState(2308); switch ( getInterpreter().adaptivePredict(_input,252,_ctx) ) { case 1: { setState(2298); expressionName(); setState(2299); match(LBRACK); setState(2300); expression(); setState(2301); match(RBRACK); } break; case 2: { setState(2303); primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); setState(2304); match(LBRACK); setState(2305); expression(); setState(2306); match(RBRACK); } break; } setState(2317); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,253,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(2310); primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); setState(2311); match(LBRACK); setState(2312); expression(); setState(2313); match(RBRACK); } } } setState(2319); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,253,_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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodInvocation(this); else return visitor.visitChildren(this); } } public final MethodInvocationContext methodInvocation() throws RecognitionException { MethodInvocationContext _localctx = new MethodInvocationContext(_ctx, getState()); enterRule(_localctx, 396, RULE_methodInvocation); int _la; try { setState(2388); switch ( getInterpreter().adaptivePredict(_input,265,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2320); methodName(); setState(2321); match(LPAREN); setState(2323); _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(2322); argumentList(); } } setState(2325); match(RPAREN); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2327); typeName(); setState(2328); match(DOT); setState(2330); _la = _input.LA(1); if (_la==LT) { { setState(2329); typeArguments(); } } setState(2332); match(Identifier); setState(2333); match(LPAREN); setState(2335); _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(2334); argumentList(); } } setState(2337); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2339); expressionName(); setState(2340); match(DOT); setState(2342); _la = _input.LA(1); if (_la==LT) { { setState(2341); typeArguments(); } } setState(2344); match(Identifier); setState(2345); match(LPAREN); setState(2347); _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(2346); argumentList(); } } setState(2349); match(RPAREN); } break; case 4: enterOuterAlt(_localctx, 4); { setState(2351); primary(); setState(2352); match(DOT); setState(2354); _la = _input.LA(1); if (_la==LT) { { setState(2353); typeArguments(); } } setState(2356); match(Identifier); setState(2357); match(LPAREN); setState(2359); _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(2358); argumentList(); } } setState(2361); match(RPAREN); } break; case 5: enterOuterAlt(_localctx, 5); { setState(2363); match(SUPER); setState(2364); match(DOT); setState(2366); _la = _input.LA(1); if (_la==LT) { { setState(2365); typeArguments(); } } setState(2368); match(Identifier); setState(2369); match(LPAREN); setState(2371); _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(2370); argumentList(); } } setState(2373); match(RPAREN); } break; case 6: enterOuterAlt(_localctx, 6); { setState(2374); typeName(); setState(2375); match(DOT); setState(2376); match(SUPER); setState(2377); match(DOT); setState(2379); _la = _input.LA(1); if (_la==LT) { { setState(2378); typeArguments(); } } setState(2381); match(Identifier); setState(2382); match(LPAREN); setState(2384); _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(2383); argumentList(); } } setState(2386); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodInvocation_lf_primary(this); else return visitor.visitChildren(this); } } public final MethodInvocation_lf_primaryContext methodInvocation_lf_primary() throws RecognitionException { MethodInvocation_lf_primaryContext _localctx = new MethodInvocation_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 398, RULE_methodInvocation_lf_primary); int _la; try { enterOuterAlt(_localctx, 1); { setState(2390); match(DOT); setState(2392); _la = _input.LA(1); if (_la==LT) { { setState(2391); typeArguments(); } } setState(2394); match(Identifier); setState(2395); match(LPAREN); setState(2397); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { { setState(2396); argumentList(); } } setState(2399); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodInvocation_lfno_primary(this); else return visitor.visitChildren(this); } } public final MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() throws RecognitionException { MethodInvocation_lfno_primaryContext _localctx = new MethodInvocation_lfno_primaryContext(_ctx, getState()); enterRule(_localctx, 400, RULE_methodInvocation_lfno_primary); int _la; try { setState(2457); switch ( getInterpreter().adaptivePredict(_input,277,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2401); methodName(); setState(2402); match(LPAREN); setState(2404); _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(2403); argumentList(); } } setState(2406); match(RPAREN); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2408); typeName(); setState(2409); match(DOT); setState(2411); _la = _input.LA(1); if (_la==LT) { { setState(2410); typeArguments(); } } setState(2413); match(Identifier); setState(2414); match(LPAREN); setState(2416); _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(2415); argumentList(); } } setState(2418); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2420); expressionName(); setState(2421); match(DOT); setState(2423); _la = _input.LA(1); if (_la==LT) { { setState(2422); typeArguments(); } } setState(2425); match(Identifier); setState(2426); match(LPAREN); setState(2428); _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(2427); argumentList(); } } setState(2430); match(RPAREN); } break; case 4: enterOuterAlt(_localctx, 4); { setState(2432); match(SUPER); setState(2433); match(DOT); setState(2435); _la = _input.LA(1); if (_la==LT) { { setState(2434); typeArguments(); } } setState(2437); match(Identifier); setState(2438); match(LPAREN); setState(2440); _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(2439); argumentList(); } } setState(2442); match(RPAREN); } break; case 5: enterOuterAlt(_localctx, 5); { setState(2443); typeName(); setState(2444); match(DOT); setState(2445); match(SUPER); setState(2446); match(DOT); setState(2448); _la = _input.LA(1); if (_la==LT) { { setState(2447); typeArguments(); } } setState(2450); match(Identifier); setState(2451); match(LPAREN); setState(2453); _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(2452); argumentList(); } } setState(2455); 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<ExpressionContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitArgumentList(this); else return visitor.visitChildren(this); } } public final ArgumentListContext argumentList() throws RecognitionException { ArgumentListContext _localctx = new ArgumentListContext(_ctx, getState()); enterRule(_localctx, 402, RULE_argumentList); int _la; try { enterOuterAlt(_localctx, 1); { setState(2459); expression(); setState(2464); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(2460); match(COMMA); setState(2461); expression(); } } setState(2466); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodReference(this); else return visitor.visitChildren(this); } } public final MethodReferenceContext methodReference() throws RecognitionException { MethodReferenceContext _localctx = new MethodReferenceContext(_ctx, getState()); enterRule(_localctx, 404, RULE_methodReference); int _la; try { setState(2514); switch ( getInterpreter().adaptivePredict(_input,285,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2467); expressionName(); setState(2468); match(COLONCOLON); setState(2470); _la = _input.LA(1); if (_la==LT) { { setState(2469); typeArguments(); } } setState(2472); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2474); referenceType(); setState(2475); match(COLONCOLON); setState(2477); _la = _input.LA(1); if (_la==LT) { { setState(2476); typeArguments(); } } setState(2479); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2481); primary(); setState(2482); match(COLONCOLON); setState(2484); _la = _input.LA(1); if (_la==LT) { { setState(2483); typeArguments(); } } setState(2486); match(Identifier); } break; case 4: enterOuterAlt(_localctx, 4); { setState(2488); match(SUPER); setState(2489); match(COLONCOLON); setState(2491); _la = _input.LA(1); if (_la==LT) { { setState(2490); typeArguments(); } } setState(2493); match(Identifier); } break; case 5: enterOuterAlt(_localctx, 5); { setState(2494); typeName(); setState(2495); match(DOT); setState(2496); match(SUPER); setState(2497); match(COLONCOLON); setState(2499); _la = _input.LA(1); if (_la==LT) { { setState(2498); typeArguments(); } } setState(2501); match(Identifier); } break; case 6: enterOuterAlt(_localctx, 6); { setState(2503); classType(); setState(2504); match(COLONCOLON); setState(2506); _la = _input.LA(1); if (_la==LT) { { setState(2505); typeArguments(); } } setState(2508); match(NEW); } break; case 7: enterOuterAlt(_localctx, 7); { setState(2510); arrayType(); setState(2511); match(COLONCOLON); setState(2512); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodReference_lf_primary(this); else return visitor.visitChildren(this); } } public final MethodReference_lf_primaryContext methodReference_lf_primary() throws RecognitionException { MethodReference_lf_primaryContext _localctx = new MethodReference_lf_primaryContext(_ctx, getState()); enterRule(_localctx, 406, RULE_methodReference_lf_primary); int _la; try { enterOuterAlt(_localctx, 1); { setState(2516); match(COLONCOLON); setState(2518); _la = _input.LA(1); if (_la==LT) { { setState(2517); typeArguments(); } } setState(2520); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMethodReference_lfno_primary(this); else return visitor.visitChildren(this); } } public final MethodReference_lfno_primaryContext methodReference_lfno_primary() throws RecognitionException { MethodReference_lfno_primaryContext _localctx = new MethodReference_lfno_primaryContext(_ctx, getState()); enterRule(_localctx, 408, RULE_methodReference_lfno_primary); int _la; try { setState(2562); switch ( getInterpreter().adaptivePredict(_input,292,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2522); expressionName(); setState(2523); match(COLONCOLON); setState(2525); _la = _input.LA(1); if (_la==LT) { { setState(2524); typeArguments(); } } setState(2527); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2529); referenceType(); setState(2530); match(COLONCOLON); setState(2532); _la = _input.LA(1); if (_la==LT) { { setState(2531); typeArguments(); } } setState(2534); match(Identifier); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2536); match(SUPER); setState(2537); match(COLONCOLON); setState(2539); _la = _input.LA(1); if (_la==LT) { { setState(2538); typeArguments(); } } setState(2541); match(Identifier); } break; case 4: enterOuterAlt(_localctx, 4); { setState(2542); typeName(); setState(2543); match(DOT); setState(2544); match(SUPER); setState(2545); match(COLONCOLON); setState(2547); _la = _input.LA(1); if (_la==LT) { { setState(2546); typeArguments(); } } setState(2549); match(Identifier); } break; case 5: enterOuterAlt(_localctx, 5); { setState(2551); classType(); setState(2552); match(COLONCOLON); setState(2554); _la = _input.LA(1); if (_la==LT) { { setState(2553); typeArguments(); } } setState(2556); match(NEW); } break; case 6: enterOuterAlt(_localctx, 6); { setState(2558); arrayType(); setState(2559); match(COLONCOLON); setState(2560); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitArrayCreationExpression(this); else return visitor.visitChildren(this); } } public final ArrayCreationExpressionContext arrayCreationExpression() throws RecognitionException { ArrayCreationExpressionContext _localctx = new ArrayCreationExpressionContext(_ctx, getState()); enterRule(_localctx, 410, RULE_arrayCreationExpression); try { setState(2586); switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2564); match(NEW); setState(2565); primitiveType(); setState(2566); dimExprs(); setState(2568); switch ( getInterpreter().adaptivePredict(_input,293,_ctx) ) { case 1: { setState(2567); dims(); } break; } } break; case 2: enterOuterAlt(_localctx, 2); { setState(2570); match(NEW); setState(2571); classOrInterfaceType(); setState(2572); dimExprs(); setState(2574); switch ( getInterpreter().adaptivePredict(_input,294,_ctx) ) { case 1: { setState(2573); dims(); } break; } } break; case 3: enterOuterAlt(_localctx, 3); { setState(2576); match(NEW); setState(2577); primitiveType(); setState(2578); dims(); setState(2579); arrayInitializer(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(2581); match(NEW); setState(2582); classOrInterfaceType(); setState(2583); dims(); setState(2584); 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<DimExprContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitDimExprs(this); else return visitor.visitChildren(this); } } public final DimExprsContext dimExprs() throws RecognitionException { DimExprsContext _localctx = new DimExprsContext(_ctx, getState()); enterRule(_localctx, 412, RULE_dimExprs); try { int _alt; enterOuterAlt(_localctx, 1); { setState(2588); dimExpr(); setState(2592); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,296,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { setState(2589); dimExpr(); } } } setState(2594); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,296,_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<AnnotationContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitDimExpr(this); else return visitor.visitChildren(this); } } public final DimExprContext dimExpr() throws RecognitionException { DimExprContext _localctx = new DimExprContext(_ctx, getState()); enterRule(_localctx, 414, RULE_dimExpr); int _la; try { enterOuterAlt(_localctx, 1); { setState(2598); _errHandler.sync(this); _la = _input.LA(1); while (_la==AT) { { { setState(2595); annotation(); } } setState(2600); _errHandler.sync(this); _la = _input.LA(1); } setState(2601); match(LBRACK); setState(2602); expression(); setState(2603); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConstantExpression(this); else return visitor.visitChildren(this); } } public final ConstantExpressionContext constantExpression() throws RecognitionException { ConstantExpressionContext _localctx = new ConstantExpressionContext(_ctx, getState()); enterRule(_localctx, 416, RULE_constantExpression); try { enterOuterAlt(_localctx, 1); { setState(2605); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitExpression(this); else return visitor.visitChildren(this); } } public final ExpressionContext expression() throws RecognitionException { ExpressionContext _localctx = new ExpressionContext(_ctx, getState()); enterRule(_localctx, 418, RULE_expression); try { setState(2609); switch ( getInterpreter().adaptivePredict(_input,298,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2607); lambdaExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2608); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLambdaExpression(this); else return visitor.visitChildren(this); } } public final LambdaExpressionContext lambdaExpression() throws RecognitionException { LambdaExpressionContext _localctx = new LambdaExpressionContext(_ctx, getState()); enterRule(_localctx, 420, RULE_lambdaExpression); try { enterOuterAlt(_localctx, 1); { setState(2611); lambdaParameters(); setState(2612); match(ARROW); setState(2613); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLambdaParameters(this); else return visitor.visitChildren(this); } } public final LambdaParametersContext lambdaParameters() throws RecognitionException { LambdaParametersContext _localctx = new LambdaParametersContext(_ctx, getState()); enterRule(_localctx, 422, RULE_lambdaParameters); int _la; try { setState(2625); switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2615); match(Identifier); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2616); match(LPAREN); setState(2618); _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(2617); formalParameterList(); } } setState(2620); match(RPAREN); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2621); match(LPAREN); setState(2622); inferredFormalParameterList(); setState(2623); 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<TerminalNode> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInferredFormalParameterList(this); else return visitor.visitChildren(this); } } public final InferredFormalParameterListContext inferredFormalParameterList() throws RecognitionException { InferredFormalParameterListContext _localctx = new InferredFormalParameterListContext(_ctx, getState()); enterRule(_localctx, 424, RULE_inferredFormalParameterList); int _la; try { enterOuterAlt(_localctx, 1); { setState(2627); match(Identifier); setState(2632); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { setState(2628); match(COMMA); setState(2629); match(Identifier); } } setState(2634); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLambdaBody(this); else return visitor.visitChildren(this); } } public final LambdaBodyContext lambdaBody() throws RecognitionException { LambdaBodyContext _localctx = new LambdaBodyContext(_ctx, getState()); enterRule(_localctx, 426, RULE_lambdaBody); try { setState(2637); 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(2635); expression(); } break; case LBRACE: enterOuterAlt(_localctx, 2); { setState(2636); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAssignmentExpression(this); else return visitor.visitChildren(this); } } public final AssignmentExpressionContext assignmentExpression() throws RecognitionException { AssignmentExpressionContext _localctx = new AssignmentExpressionContext(_ctx, getState()); enterRule(_localctx, 428, RULE_assignmentExpression); try { setState(2641); switch ( getInterpreter().adaptivePredict(_input,303,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2639); conditionalExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2640); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAssignment(this); else return visitor.visitChildren(this); } } public final AssignmentContext assignment() throws RecognitionException { AssignmentContext _localctx = new AssignmentContext(_ctx, getState()); enterRule(_localctx, 430, RULE_assignment); try { enterOuterAlt(_localctx, 1); { setState(2643); leftHandSide(); setState(2644); assignmentOperator(); setState(2645); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitLeftHandSide(this); else return visitor.visitChildren(this); } } public final LeftHandSideContext leftHandSide() throws RecognitionException { LeftHandSideContext _localctx = new LeftHandSideContext(_ctx, getState()); enterRule(_localctx, 432, RULE_leftHandSide); try { setState(2650); switch ( getInterpreter().adaptivePredict(_input,304,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2647); expressionName(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2648); fieldAccess(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2649); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAssignmentOperator(this); else return visitor.visitChildren(this); } } public final AssignmentOperatorContext assignmentOperator() throws RecognitionException { AssignmentOperatorContext _localctx = new AssignmentOperatorContext(_ctx, getState()); enterRule(_localctx, 434, RULE_assignmentOperator); int _la; try { enterOuterAlt(_localctx, 1); { setState(2652); _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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConditionalExpression(this); else return visitor.visitChildren(this); } } public final ConditionalExpressionContext conditionalExpression() throws RecognitionException { ConditionalExpressionContext _localctx = new ConditionalExpressionContext(_ctx, getState()); enterRule(_localctx, 436, RULE_conditionalExpression); try { setState(2661); switch ( getInterpreter().adaptivePredict(_input,305,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2654); conditionalOrExpression(0); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2655); conditionalOrExpression(0); setState(2656); match(QUESTION); setState(2657); expression(); setState(2658); match(COLON); setState(2659); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConditionalOrExpression(this); else return visitor.visitChildren(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 = 438; enterRecursionRule(_localctx, 438, RULE_conditionalOrExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2664); conditionalAndExpression(0); } _ctx.stop = _input.LT(-1); setState(2671); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,306,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { { _localctx = new ConditionalOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_conditionalOrExpression); setState(2666); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2667); match(OR); setState(2668); conditionalAndExpression(0); } } } setState(2673); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,306,_ctx); } } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { unrollRecursionContexts(_parentctx); } return _localctx; } public static class 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitConditionalAndExpression(this); else return visitor.visitChildren(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 = 440; enterRecursionRule(_localctx, 440, RULE_conditionalAndExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2675); inclusiveOrExpression(0); } _ctx.stop = _input.LT(-1); setState(2682); _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; { { _localctx = new ConditionalAndExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_conditionalAndExpression); setState(2677); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2678); match(AND); setState(2679); inclusiveOrExpression(0); } } } setState(2684); _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 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitInclusiveOrExpression(this); else return visitor.visitChildren(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 = 442; enterRecursionRule(_localctx, 442, RULE_inclusiveOrExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2686); exclusiveOrExpression(0); } _ctx.stop = _input.LT(-1); setState(2693); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,308,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { { _localctx = new InclusiveOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_inclusiveOrExpression); setState(2688); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2689); match(BITOR); setState(2690); exclusiveOrExpression(0); } } } setState(2695); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,308,_ctx); } } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { unrollRecursionContexts(_parentctx); } return _localctx; } public static class 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitExclusiveOrExpression(this); else return visitor.visitChildren(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 = 444; enterRecursionRule(_localctx, 444, RULE_exclusiveOrExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2697); andExpression(0); } _ctx.stop = _input.LT(-1); setState(2704); _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; { { _localctx = new ExclusiveOrExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_exclusiveOrExpression); setState(2699); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2700); match(CARET); setState(2701); andExpression(0); } } } setState(2706); _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 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAndExpression(this); else return visitor.visitChildren(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 = 446; enterRecursionRule(_localctx, 446, RULE_andExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2708); equalityExpression(0); } _ctx.stop = _input.LT(-1); setState(2715); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,310,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { { _localctx = new AndExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_andExpression); setState(2710); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2711); match(BITAND); setState(2712); equalityExpression(0); } } } setState(2717); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,310,_ctx); } } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { unrollRecursionContexts(_parentctx); } return _localctx; } public static class 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitEqualityExpression(this); else return visitor.visitChildren(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 = 448; enterRecursionRule(_localctx, 448, RULE_equalityExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2719); relationalExpression(0); } _ctx.stop = _input.LT(-1); setState(2729); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,312,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { setState(2727); switch ( getInterpreter().adaptivePredict(_input,311,_ctx) ) { case 1: { _localctx = new EqualityExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); setState(2721); if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); setState(2722); match(EQUAL); setState(2723); relationalExpression(0); } break; case 2: { _localctx = new EqualityExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); setState(2724); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2725); match(NOTEQUAL); setState(2726); relationalExpression(0); } break; } } } setState(2731); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,312,_ctx); } } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { unrollRecursionContexts(_parentctx); } return _localctx; } public static class 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitRelationalExpression(this); else return visitor.visitChildren(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 = 450; enterRecursionRule(_localctx, 450, RULE_relationalExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2733); shiftExpression(0); } _ctx.stop = _input.LT(-1); setState(2752); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,314,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { setState(2750); switch ( getInterpreter().adaptivePredict(_input,313,_ctx) ) { case 1: { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); setState(2735); if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); setState(2736); match(LT); setState(2737); shiftExpression(0); } break; case 2: { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); setState(2738); if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); setState(2739); match(GT); setState(2740); shiftExpression(0); } break; case 3: { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); setState(2741); if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); setState(2742); match(LE); setState(2743); shiftExpression(0); } break; case 4: { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); setState(2744); if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); setState(2745); match(GE); setState(2746); shiftExpression(0); } break; case 5: { _localctx = new RelationalExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); setState(2747); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2748); match(INSTANCEOF); setState(2749); referenceType(); } break; } } } setState(2754); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,314,_ctx); } } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { unrollRecursionContexts(_parentctx); } return _localctx; } public static class 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitShiftExpression(this); else return visitor.visitChildren(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 = 452; enterRecursionRule(_localctx, 452, RULE_shiftExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2756); additiveExpression(0); } _ctx.stop = _input.LT(-1); setState(2773); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,316,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { setState(2771); switch ( getInterpreter().adaptivePredict(_input,315,_ctx) ) { case 1: { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); setState(2758); if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); setState(2759); match(LT); setState(2760); match(LT); setState(2761); additiveExpression(0); } break; case 2: { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); setState(2762); if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); setState(2763); match(GT); setState(2764); match(GT); setState(2765); additiveExpression(0); } break; case 3: { _localctx = new ShiftExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); setState(2766); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2767); match(GT); setState(2768); match(GT); setState(2769); match(GT); setState(2770); additiveExpression(0); } break; } } } setState(2775); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,316,_ctx); } } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { unrollRecursionContexts(_parentctx); } return _localctx; } public static class 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitAdditiveExpression(this); else return visitor.visitChildren(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 = 454; enterRecursionRule(_localctx, 454, RULE_additiveExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2777); multiplicativeExpression(0); } _ctx.stop = _input.LT(-1); setState(2787); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,318,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { setState(2785); switch ( getInterpreter().adaptivePredict(_input,317,_ctx) ) { case 1: { _localctx = new AdditiveExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); setState(2779); if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); setState(2780); match(ADD); setState(2781); multiplicativeExpression(0); } break; case 2: { _localctx = new AdditiveExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); setState(2782); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2783); match(SUB); setState(2784); multiplicativeExpression(0); } break; } } } setState(2789); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,318,_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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitMultiplicativeExpression(this); else return visitor.visitChildren(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 = 456; enterRecursionRule(_localctx, 456, RULE_multiplicativeExpression, _p); try { int _alt; enterOuterAlt(_localctx, 1); { { setState(2791); unaryExpression(); } _ctx.stop = _input.LT(-1); setState(2804); _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 ) { if ( _parseListeners!=null ) triggerExitRuleEvent(); _prevctx = _localctx; { setState(2802); switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) { case 1: { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); setState(2793); if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); setState(2794); match(MUL); setState(2795); unaryExpression(); } break; case 2: { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); setState(2796); if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); setState(2797); match(DIV); setState(2798); unaryExpression(); } break; case 3: { _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); setState(2799); if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); setState(2800); match(MOD); setState(2801); unaryExpression(); } break; } } } setState(2806); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,320,_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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnaryExpression(this); else return visitor.visitChildren(this); } } public final UnaryExpressionContext unaryExpression() throws RecognitionException { UnaryExpressionContext _localctx = new UnaryExpressionContext(_ctx, getState()); enterRule(_localctx, 458, RULE_unaryExpression); try { setState(2814); switch (_input.LA(1)) { case INC: enterOuterAlt(_localctx, 1); { setState(2807); preIncrementExpression(); } break; case DEC: enterOuterAlt(_localctx, 2); { setState(2808); preDecrementExpression(); } break; case ADD: enterOuterAlt(_localctx, 3); { setState(2809); match(ADD); setState(2810); unaryExpression(); } break; case SUB: enterOuterAlt(_localctx, 4); { setState(2811); match(SUB); setState(2812); 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(2813); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPreIncrementExpression(this); else return visitor.visitChildren(this); } } public final PreIncrementExpressionContext preIncrementExpression() throws RecognitionException { PreIncrementExpressionContext _localctx = new PreIncrementExpressionContext(_ctx, getState()); enterRule(_localctx, 460, RULE_preIncrementExpression); try { enterOuterAlt(_localctx, 1); { setState(2816); match(INC); setState(2817); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPreDecrementExpression(this); else return visitor.visitChildren(this); } } public final PreDecrementExpressionContext preDecrementExpression() throws RecognitionException { PreDecrementExpressionContext _localctx = new PreDecrementExpressionContext(_ctx, getState()); enterRule(_localctx, 462, RULE_preDecrementExpression); try { enterOuterAlt(_localctx, 1); { setState(2819); match(DEC); setState(2820); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitUnaryExpressionNotPlusMinus(this); else return visitor.visitChildren(this); } } public final UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() throws RecognitionException { UnaryExpressionNotPlusMinusContext _localctx = new UnaryExpressionNotPlusMinusContext(_ctx, getState()); enterRule(_localctx, 464, RULE_unaryExpressionNotPlusMinus); try { setState(2828); switch ( getInterpreter().adaptivePredict(_input,322,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2822); postfixExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2823); match(TILDE); setState(2824); unaryExpression(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2825); match(BANG); setState(2826); unaryExpression(); } break; case 4: enterOuterAlt(_localctx, 4); { setState(2827); 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_postfixExpressionContext> 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_postfixExpressionContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPostfixExpression(this); else return visitor.visitChildren(this); } } public final PostfixExpressionContext postfixExpression() throws RecognitionException { PostfixExpressionContext _localctx = new PostfixExpressionContext(_ctx, getState()); enterRule(_localctx, 466, RULE_postfixExpression); try { int _alt; enterOuterAlt(_localctx, 1); { setState(2832); switch ( getInterpreter().adaptivePredict(_input,323,_ctx) ) { case 1: { setState(2830); primary(); } break; case 2: { setState(2831); expressionName(); } break; } setState(2838); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,325,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { setState(2836); switch (_input.LA(1)) { case INC: { setState(2834); postIncrementExpression_lf_postfixExpression(); } break; case DEC: { setState(2835); postDecrementExpression_lf_postfixExpression(); } break; default: throw new NoViableAltException(this); } } } setState(2840); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,325,_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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPostIncrementExpression(this); else return visitor.visitChildren(this); } } public final PostIncrementExpressionContext postIncrementExpression() throws RecognitionException { PostIncrementExpressionContext _localctx = new PostIncrementExpressionContext(_ctx, getState()); enterRule(_localctx, 468, RULE_postIncrementExpression); try { enterOuterAlt(_localctx, 1); { setState(2841); postfixExpression(); setState(2842); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPostIncrementExpression_lf_postfixExpression(this); else return visitor.visitChildren(this); } } public final PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression() throws RecognitionException { PostIncrementExpression_lf_postfixExpressionContext _localctx = new PostIncrementExpression_lf_postfixExpressionContext(_ctx, getState()); enterRule(_localctx, 470, RULE_postIncrementExpression_lf_postfixExpression); try { enterOuterAlt(_localctx, 1); { setState(2844); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPostDecrementExpression(this); else return visitor.visitChildren(this); } } public final PostDecrementExpressionContext postDecrementExpression() throws RecognitionException { PostDecrementExpressionContext _localctx = new PostDecrementExpressionContext(_ctx, getState()); enterRule(_localctx, 472, RULE_postDecrementExpression); try { enterOuterAlt(_localctx, 1); { setState(2846); postfixExpression(); setState(2847); 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitPostDecrementExpression_lf_postfixExpression(this); else return visitor.visitChildren(this); } } public final PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression() throws RecognitionException { PostDecrementExpression_lf_postfixExpressionContext _localctx = new PostDecrementExpression_lf_postfixExpressionContext(_ctx, getState()); enterRule(_localctx, 474, RULE_postDecrementExpression_lf_postfixExpression); try { enterOuterAlt(_localctx, 1); { setState(2849); 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<AdditionalBoundContext> 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); } @Override public <T> T accept(ParseTreeVisitor<? extends T> visitor) { if ( visitor instanceof Java8Visitor ) return ((Java8Visitor<? extends T>)visitor).visitCastExpression(this); else return visitor.visitChildren(this); } } public final CastExpressionContext castExpression() throws RecognitionException { CastExpressionContext _localctx = new CastExpressionContext(_ctx, getState()); enterRule(_localctx, 476, RULE_castExpression); int _la; try { setState(2878); switch ( getInterpreter().adaptivePredict(_input,328,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { setState(2851); match(LPAREN); setState(2852); primitiveType(); setState(2853); match(RPAREN); setState(2854); unaryExpression(); } break; case 2: enterOuterAlt(_localctx, 2); { setState(2856); match(LPAREN); setState(2857); referenceType(); setState(2861); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITAND) { { { setState(2858); additionalBound(); } } setState(2863); _errHandler.sync(this); _la = _input.LA(1); } setState(2864); match(RPAREN); setState(2865); unaryExpressionNotPlusMinus(); } break; case 3: enterOuterAlt(_localctx, 3); { setState(2867); match(LPAREN); setState(2868); referenceType(); setState(2872); _errHandler.sync(this); _la = _input.LA(1); while (_la==BITAND) { { { setState(2869); additionalBound(); } } setState(2874); _errHandler.sync(this); _la = _input.LA(1); } setState(2875); match(RPAREN); setState(2876); 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 219: return conditionalOrExpression_sempred((ConditionalOrExpressionContext)_localctx, predIndex); case 220: return conditionalAndExpression_sempred((ConditionalAndExpressionContext)_localctx, predIndex); case 221: return inclusiveOrExpression_sempred((InclusiveOrExpressionContext)_localctx, predIndex); case 222: return exclusiveOrExpression_sempred((ExclusiveOrExpressionContext)_localctx, predIndex); case 223: return andExpression_sempred((AndExpressionContext)_localctx, predIndex); case 224: return equalityExpression_sempred((EqualityExpressionContext)_localctx, predIndex); case 225: return relationalExpression_sempred((RelationalExpressionContext)_localctx, predIndex); case 226: return shiftExpression_sempred((ShiftExpressionContext)_localctx, predIndex); case 227: return additiveExpression_sempred((AdditiveExpressionContext)_localctx, predIndex); case 228: 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\u0b43\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\4\u00ef\t\u00ef\4\u00f0\t\u00f0\3\2\3"+ "\2\3\3\3\3\5\3\u01e5\n\3\3\4\7\4\u01e8\n\4\f\4\16\4\u01eb\13\4\3\4\3\4"+ "\7\4\u01ef\n\4\f\4\16\4\u01f2\13\4\3\4\5\4\u01f5\n\4\3\5\3\5\5\5\u01f9"+ "\n\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\5\b\u0202\n\b\3\t\3\t\5\t\u0206\n\t\3"+ "\t\3\t\7\t\u020a\n\t\f\t\16\t\u020d\13\t\3\n\7\n\u0210\n\n\f\n\16\n\u0213"+ "\13\n\3\n\3\n\5\n\u0217\n\n\3\n\3\n\3\n\7\n\u021c\n\n\f\n\16\n\u021f\13"+ "\n\3\n\3\n\5\n\u0223\n\n\5\n\u0225\n\n\3\13\3\13\7\13\u0229\n\13\f\13"+ "\16\13\u022c\13\13\3\13\3\13\5\13\u0230\n\13\3\f\7\f\u0233\n\f\f\f\16"+ "\f\u0236\13\f\3\f\3\f\5\f\u023a\n\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\7"+ "\20\u0243\n\20\f\20\16\20\u0246\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\u0253\n\21\3\22\7\22\u0256\n\22\f\22\16\22"+ "\u0259\13\22\3\22\3\22\3\22\7\22\u025e\n\22\f\22\16\22\u0261\13\22\3\22"+ "\3\22\7\22\u0265\n\22\f\22\16\22\u0268\13\22\3\23\7\23\u026b\n\23\f\23"+ "\16\23\u026e\13\23\3\23\3\23\5\23\u0272\n\23\3\24\3\24\3\25\3\25\3\25"+ "\3\25\3\25\7\25\u027b\n\25\f\25\16\25\u027e\13\25\5\25\u0280\n\25\3\26"+ "\3\26\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3\30\7\30\u028c\n\30\f\30\16"+ "\30\u028f\13\30\3\31\3\31\5\31\u0293\n\31\3\32\7\32\u0296\n\32\f\32\16"+ "\32\u0299\13\32\3\32\3\32\5\32\u029d\n\32\3\33\3\33\3\33\3\33\5\33\u02a3"+ "\n\33\3\34\3\34\3\34\3\34\3\34\3\34\7\34\u02ab\n\34\f\34\16\34\u02ae\13"+ "\34\3\35\3\35\3\35\3\35\3\35\5\35\u02b5\n\35\3\36\3\36\3\36\3\36\3\36"+ "\3\36\7\36\u02bd\n\36\f\36\16\36\u02c0\13\36\3\37\3\37\3\37\3\37\3\37"+ "\5\37\u02c7\n\37\3 \3 \3!\3!\3!\3!\3!\3!\7!\u02d1\n!\f!\16!\u02d4\13!"+ "\3\"\6\"\u02d7\n\"\r\"\16\"\u02d8\3\"\6\"\u02dc\n\"\r\"\16\"\u02dd\3\""+ "\5\"\u02e1\n\"\3\"\7\"\u02e4\n\"\f\"\16\"\u02e7\13\"\3\"\7\"\u02ea\n\""+ "\f\"\16\"\u02ed\13\"\3\"\5\"\u02f0\n\"\3#\3#\5#\u02f4\n#\3$\3$\5$\u02f8"+ "\n$\3%\7%\u02fb\n%\f%\16%\u02fe\13%\3%\3%\3%\3%\7%\u0304\n%\f%\16%\u0307"+ "\13%\3%\3%\3&\3&\3\'\3\'\3\'\3\'\5\'\u0311\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,\u032e\n"+ ",\3-\3-\5-\u0332\n-\3.\7.\u0335\n.\f.\16.\u0338\13.\3.\3.\3.\5.\u033d"+ "\n.\3.\5.\u0340\n.\3.\5.\u0343\n.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3/\5/\u034f"+ "\n/\3\60\3\60\3\60\3\60\3\61\3\61\3\61\7\61\u0358\n\61\f\61\16\61\u035b"+ "\13\61\3\62\3\62\3\62\3\63\3\63\3\63\3\64\3\64\3\64\7\64\u0366\n\64\f"+ "\64\16\64\u0369\13\64\3\65\3\65\7\65\u036d\n\65\f\65\16\65\u0370\13\65"+ "\3\65\3\65\3\66\3\66\3\66\3\66\5\66\u0378\n\66\3\67\3\67\3\67\3\67\3\67"+ "\5\67\u037f\n\67\38\78\u0382\n8\f8\168\u0385\138\38\38\38\38\39\39\39"+ "\39\39\39\39\39\59\u0393\n9\3:\3:\3:\7:\u0398\n:\f:\16:\u039b\13:\3;\3"+ ";\3;\5;\u03a0\n;\3<\3<\5<\u03a4\n<\3=\3=\5=\u03a8\n=\3>\3>\5>\u03ac\n"+ ">\3?\3?\5?\u03b0\n?\3@\3@\3@\5@\u03b5\n@\3A\3A\5A\u03b9\nA\3A\3A\7A\u03bd"+ "\nA\fA\16A\u03c0\13A\3B\3B\5B\u03c4\nB\3B\3B\3B\7B\u03c9\nB\fB\16B\u03cc"+ "\13B\3B\3B\5B\u03d0\nB\5B\u03d2\nB\3C\3C\7C\u03d6\nC\fC\16C\u03d9\13C"+ "\3C\3C\5C\u03dd\nC\3D\3D\5D\u03e1\nD\3E\3E\3F\3F\3G\3G\3H\3H\3I\3I\3I"+ "\3I\3I\3I\3I\3I\3I\5I\u03f4\nI\3J\7J\u03f7\nJ\fJ\16J\u03fa\13J\3J\3J\3"+ "J\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\5K\u0409\nK\3L\3L\3L\5L\u040e\nL\3L\3"+ "L\7L\u0412\nL\fL\16L\u0415\13L\3L\3L\3L\5L\u041a\nL\5L\u041c\nL\3M\3M"+ "\5M\u0420\nM\3N\3N\3N\5N\u0425\nN\3N\3N\5N\u0429\nN\3O\3O\3O\3O\3O\5O"+ "\u0430\nO\3P\3P\3P\7P\u0435\nP\fP\16P\u0438\13P\3P\3P\3P\7P\u043d\nP\f"+ "P\16P\u0440\13P\5P\u0442\nP\3Q\7Q\u0445\nQ\fQ\16Q\u0448\13Q\3Q\3Q\3Q\3"+ "R\3R\5R\u044f\nR\3S\7S\u0452\nS\fS\16S\u0455\13S\3S\3S\7S\u0459\nS\fS"+ "\16S\u045c\13S\3S\3S\3S\3S\5S\u0462\nS\3T\7T\u0465\nT\fT\16T\u0468\13"+ "T\3T\3T\3T\5T\u046d\nT\3T\3T\3U\3U\3U\3V\3V\3V\7V\u0477\nV\fV\16V\u047a"+ "\13V\3W\3W\5W\u047e\nW\3X\3X\5X\u0482\nX\3Y\3Y\3Z\3Z\3Z\3[\7[\u048a\n"+ "[\f[\16[\u048d\13[\3[\3[\5[\u0491\n[\3[\3[\3\\\3\\\3\\\3\\\5\\\u0499\n"+ "\\\3]\5]\u049c\n]\3]\3]\3]\5]\u04a1\n]\3]\3]\3^\3^\3_\3_\5_\u04a9\n_\3"+ "_\5_\u04ac\n_\3_\3_\3`\5`\u04b1\n`\3`\3`\3`\5`\u04b6\n`\3`\3`\3`\5`\u04bb"+ "\n`\3`\3`\3`\5`\u04c0\n`\3`\3`\3`\3`\3`\5`\u04c7\n`\3`\3`\3`\5`\u04cc"+ "\n`\3`\3`\3`\3`\3`\3`\5`\u04d4\n`\3`\3`\3`\5`\u04d9\n`\3`\3`\3`\5`\u04de"+ "\n`\3a\7a\u04e1\na\fa\16a\u04e4\13a\3a\3a\3a\5a\u04e9\na\3a\3a\3b\3b\5"+ "b\u04ef\nb\3b\5b\u04f2\nb\3b\5b\u04f5\nb\3b\3b\3c\3c\3c\7c\u04fc\nc\f"+ "c\16c\u04ff\13c\3d\7d\u0502\nd\fd\16d\u0505\13d\3d\3d\3d\5d\u050a\nd\3"+ "d\5d\u050d\nd\3d\5d\u0510\nd\3e\3e\3f\3f\7f\u0516\nf\ff\16f\u0519\13f"+ "\3g\3g\5g\u051d\ng\3h\7h\u0520\nh\fh\16h\u0523\13h\3h\3h\3h\5h\u0528\n"+ "h\3h\5h\u052b\nh\3h\3h\3i\3i\3i\3i\3i\3i\3i\5i\u0536\ni\3j\3j\3j\3k\3"+ "k\7k\u053d\nk\fk\16k\u0540\13k\3k\3k\3l\3l\3l\3l\3l\5l\u0549\nl\3m\7m"+ "\u054c\nm\fm\16m\u054f\13m\3m\3m\3m\3m\3n\3n\3n\3n\5n\u0559\nn\3o\7o\u055c"+ "\no\fo\16o\u055f\13o\3o\3o\3o\3p\3p\3p\3p\3p\3p\5p\u056a\np\3q\7q\u056d"+ "\nq\fq\16q\u0570\13q\3q\3q\3q\3q\3q\3r\3r\7r\u0579\nr\fr\16r\u057c\13"+ "r\3r\3r\3s\3s\3s\3s\3s\5s\u0585\ns\3t\7t\u0588\nt\ft\16t\u058b\13t\3t"+ "\3t\3t\3t\3t\5t\u0592\nt\3t\5t\u0595\nt\3t\3t\3u\3u\3u\5u\u059c\nu\3v"+ "\3v\3v\3w\3w\3w\5w\u05a4\nw\3x\3x\3x\3x\5x\u05aa\nx\3x\3x\3y\3y\3y\7y"+ "\u05b1\ny\fy\16y\u05b4\13y\3z\3z\3z\3z\3{\3{\3{\5{\u05bd\n{\3|\3|\5|\u05c1"+ "\n|\3|\5|\u05c4\n|\3|\3|\3}\3}\3}\7}\u05cb\n}\f}\16}\u05ce\13}\3~\3~\3"+ "~\3\177\3\177\3\177\3\177\3\177\3\177\3\u0080\3\u0080\5\u0080\u05db\n"+ "\u0080\3\u0080\5\u0080\u05de\n\u0080\3\u0080\3\u0080\3\u0081\3\u0081\3"+ "\u0081\7\u0081\u05e5\n\u0081\f\u0081\16\u0081\u05e8\13\u0081\3\u0082\3"+ "\u0082\5\u0082\u05ec\n\u0082\3\u0082\3\u0082\3\u0083\3\u0083\7\u0083\u05f2"+ "\n\u0083\f\u0083\16\u0083\u05f5\13\u0083\3\u0084\3\u0084\3\u0084\5\u0084"+ "\u05fa\n\u0084\3\u0085\3\u0085\3\u0085\3\u0086\7\u0086\u0600\n\u0086\f"+ "\u0086\16\u0086\u0603\13\u0086\3\u0086\3\u0086\3\u0086\3\u0087\3\u0087"+ "\3\u0087\3\u0087\3\u0087\3\u0087\5\u0087\u060e\n\u0087\3\u0088\3\u0088"+ "\3\u0088\3\u0088\3\u0088\5\u0088\u0615\n\u0088\3\u0089\3\u0089\3\u0089"+ "\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089"+ "\5\u0089\u0623\n\u0089\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008b"+ "\3\u008c\3\u008c\3\u008c\3\u008c\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e"+ "\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\5\u008e\u0639\n\u008e\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\u0091\3\u0091\3\u0091\3\u0091\3\u0091"+ "\3\u0091\3\u0091\3\u0091\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092"+ "\3\u0092\3\u0092\3\u0092\3\u0092\5\u0092\u065b\n\u0092\3\u0093\3\u0093"+ "\3\u0093\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094\7\u0094\u0665\n\u0094"+ "\f\u0094\16\u0094\u0668\13\u0094\3\u0094\7\u0094\u066b\n\u0094\f\u0094"+ "\16\u0094\u066e\13\u0094\3\u0094\3\u0094\3\u0095\3\u0095\3\u0095\3\u0096"+ "\3\u0096\7\u0096\u0677\n\u0096\f\u0096\16\u0096\u067a\13\u0096\3\u0097"+ "\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097"+ "\5\u0097\u0686\n\u0097\3\u0098\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099"+ "\3\u0099\3\u0099\3\u009a\3\u009a\3\u009a\3\u009a\3\u009a\3\u009a\3\u009b"+ "\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009c\3\u009c"+ "\5\u009c\u06a0\n\u009c\3\u009d\3\u009d\5\u009d\u06a4\n\u009d\3\u009e\3"+ "\u009e\3\u009e\5\u009e\u06a9\n\u009e\3\u009e\3\u009e\5\u009e\u06ad\n\u009e"+ "\3\u009e\3\u009e\5\u009e\u06b1\n\u009e\3\u009e\3\u009e\3\u009e\3\u009f"+ "\3\u009f\3\u009f\5\u009f\u06b9\n\u009f\3\u009f\3\u009f\5\u009f\u06bd\n"+ "\u009f\3\u009f\3\u009f\5\u009f\u06c1\n\u009f\3\u009f\3\u009f\3\u009f\3"+ "\u00a0\3\u00a0\5\u00a0\u06c8\n\u00a0\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3"+ "\u00a2\7\u00a2\u06cf\n\u00a2\f\u00a2\16\u00a2\u06d2\13\u00a2\3\u00a3\3"+ "\u00a3\3\u00a3\7\u00a3\u06d7\n\u00a3\f\u00a3\16\u00a3\u06da\13\u00a3\3"+ "\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a4\3\u00a4"+ "\3\u00a4\7\u00a4\u06e6\n\u00a4\f\u00a4\16\u00a4\u06e9\13\u00a4\3\u00a4"+ "\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a5\3\u00a5\5\u00a5"+ "\u06f4\n\u00a5\3\u00a5\3\u00a5\3\u00a6\3\u00a6\5\u00a6\u06fa\n\u00a6\3"+ "\u00a6\3\u00a6\3\u00a7\3\u00a7\5\u00a7\u0700\n\u00a7\3\u00a7\3\u00a7\3"+ "\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a9\3\u00a9\3\u00a9\3\u00a9\3\u00a9"+ "\3\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\5\u00aa"+ "\u0715\n\u00aa\3\u00aa\3\u00aa\3\u00aa\5\u00aa\u071a\n\u00aa\3\u00ab\3"+ "\u00ab\7\u00ab\u071e\n\u00ab\f\u00ab\16\u00ab\u0721\13\u00ab\3\u00ac\3"+ "\u00ac\3\u00ac\3\u00ac\3\u00ac\3\u00ac\3\u00ad\7\u00ad\u072a\n\u00ad\f"+ "\u00ad\16\u00ad\u072d\13\u00ad\3\u00ad\3\u00ad\3\u00ad\3\u00ae\3\u00ae"+ "\3\u00ae\7\u00ae\u0735\n\u00ae\f\u00ae\16\u00ae\u0738\13\u00ae\3\u00af"+ "\3\u00af\3\u00af\3\u00b0\3\u00b0\3\u00b0\3\u00b0\5\u00b0\u0741\n\u00b0"+ "\3\u00b0\5\u00b0\u0744\n\u00b0\3\u00b1\3\u00b1\3\u00b1\5\u00b1\u0749\n"+ "\u00b1\3\u00b1\3\u00b1\3\u00b2\3\u00b2\3\u00b2\7\u00b2\u0750\n\u00b2\f"+ "\u00b2\16\u00b2\u0753\13\u00b2\3\u00b3\7\u00b3\u0756\n\u00b3\f\u00b3\16"+ "\u00b3\u0759\13\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b4"+ "\3\u00b4\5\u00b4\u0762\n\u00b4\3\u00b4\7\u00b4\u0765\n\u00b4\f\u00b4\16"+ "\u00b4\u0768\13\u00b4\3\u00b5\3\u00b5\3\u00b5\3\u00b5\7\u00b5\u076e\n"+ "\u00b5\f\u00b5\16\u00b5\u0771\13\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\5\u00b5\u0787"+ "\n\u00b5\3\u00b6\3\u00b6\3\u00b7\3\u00b7\3\u00b7\3\u00b7\7\u00b7\u078f"+ "\n\u00b7\f\u00b7\16\u00b7\u0792\13\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7"+ "\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7"+ "\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\5\u00b7\u07a7\n\u00b7"+ "\3\u00b8\3\u00b8\3\u00b8\3\u00b8\3\u00b8\5\u00b8\u07ae\n\u00b8\3\u00b9"+ "\3\u00b9\3\u00ba\3\u00ba\3\u00ba\3\u00ba\5\u00ba\u07b6\n\u00ba\3\u00bb"+ "\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07bc\n\u00bb\f\u00bb\16\u00bb\u07bf"+ "\13\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07c7"+ "\n\u00bb\f\u00bb\16\u00bb\u07ca\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\3\u00bb\5\u00bb\u07e0"+ "\n\u00bb\3\u00bc\3\u00bc\3\u00bd\3\u00bd\3\u00bd\3\u00bd\7\u00bd\u07e8"+ "\n\u00bd\f\u00bd\16\u00bd\u07eb\13\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd"+ "\3\u00bd\3\u00bd\7\u00bd\u07f3\n\u00bd\f\u00bd\16\u00bd\u07f6\13\u00bd"+ "\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd"+ "\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd"+ "\3\u00bd\5\u00bd\u080b\n\u00bd\3\u00be\3\u00be\5\u00be\u080f\n\u00be\3"+ "\u00be\7\u00be\u0812\n\u00be\f\u00be\16\u00be\u0815\13\u00be\3\u00be\3"+ "\u00be\3\u00be\7\u00be\u081a\n\u00be\f\u00be\16\u00be\u081d\13\u00be\3"+ "\u00be\7\u00be\u0820\n\u00be\f\u00be\16\u00be\u0823\13\u00be\3\u00be\5"+ "\u00be\u0826\n\u00be\3\u00be\3\u00be\5\u00be\u082a\n\u00be\3\u00be\3\u00be"+ "\5\u00be\u082e\n\u00be\3\u00be\3\u00be\3\u00be\3\u00be\5\u00be\u0834\n"+ "\u00be\3\u00be\7\u00be\u0837\n\u00be\f\u00be\16\u00be\u083a\13\u00be\3"+ "\u00be\3\u00be\5\u00be\u083e\n\u00be\3\u00be\3\u00be\5\u00be\u0842\n\u00be"+ "\3\u00be\3\u00be\5\u00be\u0846\n\u00be\3\u00be\3\u00be\3\u00be\3\u00be"+ "\5\u00be\u084c\n\u00be\3\u00be\7\u00be\u084f\n\u00be\f\u00be\16\u00be"+ "\u0852\13\u00be\3\u00be\3\u00be\5\u00be\u0856\n\u00be\3\u00be\3\u00be"+ "\5\u00be\u085a\n\u00be\3\u00be\3\u00be\5\u00be\u085e\n\u00be\5\u00be\u0860"+ "\n\u00be\3\u00bf\3\u00bf\3\u00bf\5\u00bf\u0865\n\u00bf\3\u00bf\7\u00bf"+ "\u0868\n\u00bf\f\u00bf\16\u00bf\u086b\13\u00bf\3\u00bf\3\u00bf\5\u00bf"+ "\u086f\n\u00bf\3\u00bf\3\u00bf\5\u00bf\u0873\n\u00bf\3\u00bf\3\u00bf\5"+ "\u00bf\u0877\n\u00bf\3\u00c0\3\u00c0\5\u00c0\u087b\n\u00c0\3\u00c0\7\u00c0"+ "\u087e\n\u00c0\f\u00c0\16\u00c0\u0881\13\u00c0\3\u00c0\3\u00c0\3\u00c0"+ "\7\u00c0\u0886\n\u00c0\f\u00c0\16\u00c0\u0889\13\u00c0\3\u00c0\7\u00c0"+ "\u088c\n\u00c0\f\u00c0\16\u00c0\u088f\13\u00c0\3\u00c0\5\u00c0\u0892\n"+ "\u00c0\3\u00c0\3\u00c0\5\u00c0\u0896\n\u00c0\3\u00c0\3\u00c0\5\u00c0\u089a"+ "\n\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\5\u00c0\u08a0\n\u00c0\3\u00c0"+ "\7\u00c0\u08a3\n\u00c0\f\u00c0\16\u00c0\u08a6\13\u00c0\3\u00c0\3\u00c0"+ "\5\u00c0\u08aa\n\u00c0\3\u00c0\3\u00c0\5\u00c0\u08ae\n\u00c0\3\u00c0\3"+ "\u00c0\5\u00c0\u08b2\n\u00c0\5\u00c0\u08b4\n\u00c0\3\u00c1\3\u00c1\3\u00c1"+ "\5\u00c1\u08b9\n\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2"+ "\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\5\u00c2\u08c8"+ "\n\u00c2\3\u00c3\3\u00c3\3\u00c3\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4"+ "\3\u00c4\3\u00c4\3\u00c4\3\u00c4\5\u00c4\u08d6\n\u00c4\3\u00c5\3\u00c5"+ "\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\5\u00c5"+ "\u08e2\n\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5\u08e9\n"+ "\u00c5\f\u00c5\16\u00c5\u08ec\13\u00c5\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ "\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\7\u00c6\u08f8\n\u00c6"+ "\f\u00c6\16\u00c6\u08fb\13\u00c6\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7"+ "\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u0907\n\u00c7\3\u00c7"+ "\3\u00c7\3\u00c7\3\u00c7\3\u00c7\7\u00c7\u090e\n\u00c7\f\u00c7\16\u00c7"+ "\u0911\13\u00c7\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0916\n\u00c8\3\u00c8"+ "\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u091d\n\u00c8\3\u00c8\3\u00c8"+ "\3\u00c8\5\u00c8\u0922\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8"+ "\5\u00c8\u0929\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u092e\n\u00c8\3"+ "\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0935\n\u00c8\3\u00c8\3"+ "\u00c8\3\u00c8\5\u00c8\u093a\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3"+ "\u00c8\5\u00c8\u0941\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0946\n\u00c8"+ "\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u094e\n\u00c8"+ "\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0953\n\u00c8\3\u00c8\3\u00c8\5\u00c8"+ "\u0957\n\u00c8\3\u00c9\3\u00c9\5\u00c9\u095b\n\u00c9\3\u00c9\3\u00c9\3"+ "\u00c9\5\u00c9\u0960\n\u00c9\3\u00c9\3\u00c9\3\u00ca\3\u00ca\3\u00ca\5"+ "\u00ca\u0967\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u096e"+ "\n\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u0973\n\u00ca\3\u00ca\3\u00ca"+ "\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u097a\n\u00ca\3\u00ca\3\u00ca\3\u00ca"+ "\5\u00ca\u097f\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca"+ "\u0986\n\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u098b\n\u00ca\3\u00ca\3"+ "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u0993\n\u00ca\3\u00ca\3"+ "\u00ca\3\u00ca\5\u00ca\u0998\n\u00ca\3\u00ca\3\u00ca\5\u00ca\u099c\n\u00ca"+ "\3\u00cb\3\u00cb\3\u00cb\7\u00cb\u09a1\n\u00cb\f\u00cb\16\u00cb\u09a4"+ "\13\u00cb\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09a9\n\u00cc\3\u00cc\3\u00cc"+ "\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09b0\n\u00cc\3\u00cc\3\u00cc\3\u00cc"+ "\3\u00cc\3\u00cc\5\u00cc\u09b7\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc"+ "\3\u00cc\5\u00cc\u09be\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc"+ "\3\u00cc\5\u00cc\u09c6\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc"+ "\5\u00cc\u09cd\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc"+ "\5\u00cc\u09d5\n\u00cc\3\u00cd\3\u00cd\5\u00cd\u09d9\n\u00cd\3\u00cd\3"+ "\u00cd\3\u00ce\3\u00ce\3\u00ce\5\u00ce\u09e0\n\u00ce\3\u00ce\3\u00ce\3"+ "\u00ce\3\u00ce\3\u00ce\5\u00ce\u09e7\n\u00ce\3\u00ce\3\u00ce\3\u00ce\3"+ "\u00ce\3\u00ce\5\u00ce\u09ee\n\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3"+ "\u00ce\3\u00ce\5\u00ce\u09f6\n\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3"+ "\u00ce\5\u00ce\u09fd\n\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3"+ "\u00ce\5\u00ce\u0a05\n\u00ce\3\u00cf\3\u00cf\3\u00cf\3\u00cf\5\u00cf\u0a0b"+ "\n\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\5\u00cf\u0a11\n\u00cf\3\u00cf"+ "\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf"+ "\5\u00cf\u0a1d\n\u00cf\3\u00d0\3\u00d0\7\u00d0\u0a21\n\u00d0\f\u00d0\16"+ "\u00d0\u0a24\13\u00d0\3\u00d1\7\u00d1\u0a27\n\u00d1\f\u00d1\16\u00d1\u0a2a"+ "\13\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d2\3\u00d2\3\u00d3\3\u00d3"+ "\5\u00d3\u0a34\n\u00d3\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d5\3\u00d5"+ "\3\u00d5\5\u00d5\u0a3d\n\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5"+ "\5\u00d5\u0a44\n\u00d5\3\u00d6\3\u00d6\3\u00d6\7\u00d6\u0a49\n\u00d6\f"+ "\u00d6\16\u00d6\u0a4c\13\u00d6\3\u00d7\3\u00d7\5\u00d7\u0a50\n\u00d7\3"+ "\u00d8\3\u00d8\5\u00d8\u0a54\n\u00d8\3\u00d9\3\u00d9\3\u00d9\3\u00d9\3"+ "\u00da\3\u00da\3\u00da\5\u00da\u0a5d\n\u00da\3\u00db\3\u00db\3\u00dc\3"+ "\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\5\u00dc\u0a68\n\u00dc\3"+ "\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00dd\7\u00dd\u0a70\n\u00dd\f"+ "\u00dd\16\u00dd\u0a73\13\u00dd\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de"+ "\3\u00de\7\u00de\u0a7b\n\u00de\f\u00de\16\u00de\u0a7e\13\u00de\3\u00df"+ "\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\7\u00df\u0a86\n\u00df\f\u00df"+ "\16\u00df\u0a89\13\u00df\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0"+ "\7\u00e0\u0a91\n\u00e0\f\u00e0\16\u00e0\u0a94\13\u00e0\3\u00e1\3\u00e1"+ "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\7\u00e1\u0a9c\n\u00e1\f\u00e1\16\u00e1"+ "\u0a9f\13\u00e1\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ "\3\u00e2\3\u00e2\7\u00e2\u0aaa\n\u00e2\f\u00e2\16\u00e2\u0aad\13\u00e2"+ "\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3"+ "\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3"+ "\7\u00e3\u0ac1\n\u00e3\f\u00e3\16\u00e3\u0ac4\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\3\u00e4\3\u00e4\3\u00e4\3\u00e4\7\u00e4\u0ad6\n\u00e4\f\u00e4"+ "\16\u00e4\u0ad9\13\u00e4\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5"+ "\3\u00e5\3\u00e5\3\u00e5\7\u00e5\u0ae4\n\u00e5\f\u00e5\16\u00e5\u0ae7"+ "\13\u00e5\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6"+ "\3\u00e6\3\u00e6\3\u00e6\3\u00e6\7\u00e6\u0af5\n\u00e6\f\u00e6\16\u00e6"+ "\u0af8\13\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7"+ "\5\u00e7\u0b01\n\u00e7\3\u00e8\3\u00e8\3\u00e8\3\u00e9\3\u00e9\3\u00e9"+ "\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\5\u00ea\u0b0f\n\u00ea"+ "\3\u00eb\3\u00eb\5\u00eb\u0b13\n\u00eb\3\u00eb\3\u00eb\7\u00eb\u0b17\n"+ "\u00eb\f\u00eb\16\u00eb\u0b1a\13\u00eb\3\u00ec\3\u00ec\3\u00ec\3\u00ed"+ "\3\u00ed\3\u00ee\3\u00ee\3\u00ee\3\u00ef\3\u00ef\3\u00f0\3\u00f0\3\u00f0"+ "\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\7\u00f0\u0b2e\n\u00f0\f\u00f0"+ "\16\u00f0\u0b31\13\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0"+ "\7\u00f0\u0b39\n\u00f0\f\u00f0\16\u00f0\u0b3c\13\u00f0\3\u00f0\3\u00f0"+ "\3\u00f0\5\u00f0\u0b41\n\u00f0\3\u00f0\2\17\66:@\u01b8\u01ba\u01bc\u01be"+ "\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u00f1\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\u01dc\u01de\2\6\3\2\65:\7\2\7\7\n"+ "\n\35\35\37\37\'\'\4\2\20\20\26\26\4\2DD]g\u0c38\2\u01e0\3\2\2\2\4\u01e4"+ "\3\2\2\2\6\u01f4\3\2\2\2\b\u01f8\3\2\2\2\n\u01fa\3\2\2\2\f\u01fc\3\2\2"+ "\2\16\u0201\3\2\2\2\20\u0205\3\2\2\2\22\u0224\3\2\2\2\24\u0226\3\2\2\2"+ "\26\u0234\3\2\2\2\30\u023b\3\2\2\2\32\u023d\3\2\2\2\34\u023f\3\2\2\2\36"+ "\u0244\3\2\2\2 \u0252\3\2\2\2\"\u0257\3\2\2\2$\u026c\3\2\2\2&\u0273\3"+ "\2\2\2(\u027f\3\2\2\2*\u0281\3\2\2\2,\u0284\3\2\2\2.\u0288\3\2\2\2\60"+ "\u0292\3\2\2\2\62\u0297\3\2\2\2\64\u02a2\3\2\2\2\66\u02a4\3\2\2\28\u02b4"+ "\3\2\2\2:\u02b6\3\2\2\2<\u02c6\3\2\2\2>\u02c8\3\2\2\2@\u02ca\3\2\2\2B"+ "\u02ef\3\2\2\2D\u02f3\3\2\2\2F\u02f7\3\2\2\2H\u02fc\3\2\2\2J\u030a\3\2"+ "\2\2L\u0310\3\2\2\2N\u0312\3\2\2\2P\u0316\3\2\2\2R\u031c\3\2\2\2T\u0323"+ "\3\2\2\2V\u032d\3\2\2\2X\u0331\3\2\2\2Z\u0336\3\2\2\2\\\u034e\3\2\2\2"+ "^\u0350\3\2\2\2`\u0354\3\2\2\2b\u035c\3\2\2\2d\u035f\3\2\2\2f\u0362\3"+ "\2\2\2h\u036a\3\2\2\2j\u0377\3\2\2\2l\u037e\3\2\2\2n\u0383\3\2\2\2p\u0392"+ "\3\2\2\2r\u0394\3\2\2\2t\u039c\3\2\2\2v\u03a1\3\2\2\2x\u03a7\3\2\2\2z"+ "\u03ab\3\2\2\2|\u03af\3\2\2\2~\u03b4\3\2\2\2\u0080\u03b8\3\2\2\2\u0082"+ "\u03d1\3\2\2\2\u0084\u03d3\3\2\2\2\u0086\u03de\3\2\2\2\u0088\u03e2\3\2"+ "\2\2\u008a\u03e4\3\2\2\2\u008c\u03e6\3\2\2\2\u008e\u03e8\3\2\2\2\u0090"+ "\u03f3\3\2\2\2\u0092\u03f8\3\2\2\2\u0094\u0408\3\2\2\2\u0096\u041b\3\2"+ "\2\2\u0098\u041f\3\2\2\2\u009a\u0421\3\2\2\2\u009c\u042f\3\2\2\2\u009e"+ "\u0441\3\2\2\2\u00a0\u0446\3\2\2\2\u00a2\u044e\3\2\2\2\u00a4\u0461\3\2"+ "\2\2\u00a6\u0466\3\2\2\2\u00a8\u0470\3\2\2\2\u00aa\u0473\3\2\2\2\u00ac"+ "\u047d\3\2\2\2\u00ae\u0481\3\2\2\2\u00b0\u0483\3\2\2\2\u00b2\u0485\3\2"+ "\2\2\u00b4\u048b\3\2\2\2\u00b6\u0498\3\2\2\2\u00b8\u049b\3\2\2\2\u00ba"+ "\u04a4\3\2\2\2\u00bc\u04a6\3\2\2\2\u00be\u04dd\3\2\2\2\u00c0\u04e2\3\2"+ "\2\2\u00c2\u04ec\3\2\2\2\u00c4\u04f8\3\2\2\2\u00c6\u0503\3\2\2\2\u00c8"+ "\u0511\3\2\2\2\u00ca\u0513\3\2\2\2\u00cc\u051c\3\2\2\2\u00ce\u0521\3\2"+ "\2\2\u00d0\u0535\3\2\2\2\u00d2\u0537\3\2\2\2\u00d4\u053a\3\2\2\2\u00d6"+ "\u0548\3\2\2\2\u00d8\u054d\3\2\2\2\u00da\u0558\3\2\2\2\u00dc\u055d\3\2"+ "\2\2\u00de\u0569\3\2\2\2\u00e0\u056e\3\2\2\2\u00e2\u0576\3\2\2\2\u00e4"+ "\u0584\3\2\2\2\u00e6\u0589\3\2\2\2\u00e8\u059b\3\2\2\2\u00ea\u059d\3\2"+ "\2\2\u00ec\u05a3\3\2\2\2\u00ee\u05a5\3\2\2\2\u00f0\u05ad\3\2\2\2\u00f2"+ "\u05b5\3\2\2\2\u00f4\u05bc\3\2\2\2\u00f6\u05be\3\2\2\2\u00f8\u05c7\3\2"+ "\2\2\u00fa\u05cf\3\2\2\2\u00fc\u05d2\3\2\2\2\u00fe\u05d8\3\2\2\2\u0100"+ "\u05e1\3\2\2\2\u0102\u05e9\3\2\2\2\u0104\u05ef\3\2\2\2\u0106\u05f9\3\2"+ "\2\2\u0108\u05fb\3\2\2\2\u010a\u0601\3\2\2\2\u010c\u060d\3\2\2\2\u010e"+ "\u0614\3\2\2\2\u0110\u0622\3\2\2\2\u0112\u0624\3\2\2\2\u0114\u0626\3\2"+ "\2\2\u0116\u062a\3\2\2\2\u0118\u062e\3\2\2\2\u011a\u0638\3\2\2\2\u011c"+ "\u063a\3\2\2\2\u011e\u0640\3\2\2\2\u0120\u0648\3\2\2\2\u0122\u065a\3\2"+ "\2\2\u0124\u065c\3\2\2\2\u0126\u0662\3\2\2\2\u0128\u0671\3\2\2\2\u012a"+ "\u0674\3\2\2\2\u012c\u0685\3\2\2\2\u012e\u0687\3\2\2\2\u0130\u0689\3\2"+ "\2\2\u0132\u068f\3\2\2\2\u0134\u0695\3\2\2\2\u0136\u069f\3\2\2\2\u0138"+ "\u06a3\3\2\2\2\u013a\u06a5\3\2\2\2\u013c\u06b5\3\2\2\2\u013e\u06c7\3\2"+ "\2\2\u0140\u06c9\3\2\2\2\u0142\u06cb\3\2\2\2\u0144\u06d3\3\2\2\2\u0146"+ "\u06e2\3\2\2\2\u0148\u06f1\3\2\2\2\u014a\u06f7\3\2\2\2\u014c\u06fd\3\2"+ "\2\2\u014e\u0703\3\2\2\2\u0150\u0707\3\2\2\2\u0152\u0719\3\2\2\2\u0154"+ "\u071b\3\2\2\2\u0156\u0722\3\2\2\2\u0158\u072b\3\2\2\2\u015a\u0731\3\2"+ "\2\2\u015c\u0739\3\2\2\2\u015e\u073c\3\2\2\2\u0160\u0745\3\2\2\2\u0162"+ "\u074c\3\2\2\2\u0164\u0757\3\2\2\2\u0166\u0761\3\2\2\2\u0168\u0786\3\2"+ "\2\2\u016a\u0788\3\2\2\2\u016c\u07a6\3\2\2\2\u016e\u07ad\3\2\2\2\u0170"+ "\u07af\3\2\2\2\u0172\u07b5\3\2\2\2\u0174\u07df\3\2\2\2\u0176\u07e1\3\2"+ "\2\2\u0178\u080a\3\2\2\2\u017a\u085f\3\2\2\2\u017c\u0861\3\2\2\2\u017e"+ "\u08b3\3\2\2\2\u0180\u08b8\3\2\2\2\u0182\u08c7\3\2\2\2\u0184\u08c9\3\2"+ "\2\2\u0186\u08d5\3\2\2\2\u0188\u08e1\3\2\2\2\u018a\u08ed\3\2\2\2\u018c"+ "\u0906\3\2\2\2\u018e\u0956\3\2\2\2\u0190\u0958\3\2\2\2\u0192\u099b\3\2"+ "\2\2\u0194\u099d\3\2\2\2\u0196\u09d4\3\2\2\2\u0198\u09d6\3\2\2\2\u019a"+ "\u0a04\3\2\2\2\u019c\u0a1c\3\2\2\2\u019e\u0a1e\3\2\2\2\u01a0\u0a28\3\2"+ "\2\2\u01a2\u0a2f\3\2\2\2\u01a4\u0a33\3\2\2\2\u01a6\u0a35\3\2\2\2\u01a8"+ "\u0a43\3\2\2\2\u01aa\u0a45\3\2\2\2\u01ac\u0a4f\3\2\2\2\u01ae\u0a53\3\2"+ "\2\2\u01b0\u0a55\3\2\2\2\u01b2\u0a5c\3\2\2\2\u01b4\u0a5e\3\2\2\2\u01b6"+ "\u0a67\3\2\2\2\u01b8\u0a69\3\2\2\2\u01ba\u0a74\3\2\2\2\u01bc\u0a7f\3\2"+ "\2\2\u01be\u0a8a\3\2\2\2\u01c0\u0a95\3\2\2\2\u01c2\u0aa0\3\2\2\2\u01c4"+ "\u0aae\3\2\2\2\u01c6\u0ac5\3\2\2\2\u01c8\u0ada\3\2\2\2\u01ca\u0ae8\3\2"+ "\2\2\u01cc\u0b00\3\2\2\2\u01ce\u0b02\3\2\2\2\u01d0\u0b05\3\2\2\2\u01d2"+ "\u0b0e\3\2\2\2\u01d4\u0b12\3\2\2\2\u01d6\u0b1b\3\2\2\2\u01d8\u0b1e\3\2"+ "\2\2\u01da\u0b20\3\2\2\2\u01dc\u0b23\3\2\2\2\u01de\u0b40\3\2\2\2\u01e0"+ "\u01e1\t\2\2\2\u01e1\3\3\2\2\2\u01e2\u01e5\5\6\4\2\u01e3\u01e5\5\16\b"+ "\2\u01e4\u01e2\3\2\2\2\u01e4\u01e3\3\2\2\2\u01e5\5\3\2\2\2\u01e6\u01e8"+ "\5\u00ecw\2\u01e7\u01e6\3\2\2\2\u01e8\u01eb\3\2\2\2\u01e9\u01e7\3\2\2"+ "\2\u01e9\u01ea\3\2\2\2\u01ea\u01ec\3\2\2\2\u01eb\u01e9\3\2\2\2\u01ec\u01f5"+ "\5\b\5\2\u01ed\u01ef\5\u00ecw\2\u01ee\u01ed\3\2\2\2\u01ef\u01f2\3\2\2"+ "\2\u01f0\u01ee\3\2\2\2\u01f0\u01f1\3\2\2\2\u01f1\u01f3\3\2\2\2\u01f2\u01f0"+ "\3\2\2\2\u01f3\u01f5\7\5\2\2\u01f4\u01e9\3\2\2\2\u01f4\u01f0\3\2\2\2\u01f5"+ "\7\3\2\2\2\u01f6\u01f9\5\n\6\2\u01f7\u01f9\5\f\7\2\u01f8\u01f6\3\2\2\2"+ "\u01f8\u01f7\3\2\2\2\u01f9\t\3\2\2\2\u01fa\u01fb\t\3\2\2\u01fb\13\3\2"+ "\2\2\u01fc\u01fd\t\4\2\2\u01fd\r\3\2\2\2\u01fe\u0202\5\20\t\2\u01ff\u0202"+ "\5\36\20\2\u0200\u0202\5 \21\2\u0201\u01fe\3\2\2\2\u0201\u01ff\3\2\2\2"+ "\u0201\u0200\3\2\2\2\u0202\17\3\2\2\2\u0203\u0206\5\26\f\2\u0204\u0206"+ "\5\34\17\2\u0205\u0203\3\2\2\2\u0205\u0204\3\2\2\2\u0206\u020b\3\2\2\2"+ "\u0207\u020a\5\24\13\2\u0208\u020a\5\32\16\2\u0209\u0207\3\2\2\2\u0209"+ "\u0208\3\2\2\2\u020a\u020d\3\2\2\2\u020b\u0209\3\2\2\2\u020b\u020c\3\2"+ "\2\2\u020c\21\3\2\2\2\u020d\u020b\3\2\2\2\u020e\u0210\5\u00ecw\2\u020f"+ "\u020e\3\2\2\2\u0210\u0213\3\2\2\2\u0211\u020f\3\2\2\2\u0211\u0212\3\2"+ "\2\2\u0212\u0214\3\2\2\2\u0213\u0211\3\2\2\2\u0214\u0216\7h\2\2\u0215"+ "\u0217\5,\27\2\u0216\u0215\3\2\2\2\u0216\u0217\3\2\2\2\u0217\u0225\3\2"+ "\2\2\u0218\u0219\5\20\t\2\u0219\u021d\7C\2\2\u021a\u021c\5\u00ecw\2\u021b"+ "\u021a\3\2\2\2\u021c\u021f\3\2\2\2\u021d\u021b\3\2\2\2\u021d\u021e\3\2"+ "\2\2\u021e\u0220\3\2\2\2\u021f\u021d\3\2\2\2\u0220\u0222\7h\2\2\u0221"+ "\u0223\5,\27\2\u0222\u0221\3\2\2\2\u0222\u0223\3\2\2\2\u0223\u0225\3\2"+ "\2\2\u0224\u0211\3\2\2\2\u0224\u0218\3\2\2\2\u0225\23\3\2\2\2\u0226\u022a"+ "\7C\2\2\u0227\u0229\5\u00ecw\2\u0228\u0227\3\2\2\2\u0229\u022c\3\2\2\2"+ "\u022a\u0228\3\2\2\2\u022a\u022b\3\2\2\2\u022b\u022d\3\2\2\2\u022c\u022a"+ "\3\2\2\2\u022d\u022f\7h\2\2\u022e\u0230\5,\27\2\u022f\u022e\3\2\2\2\u022f"+ "\u0230\3\2\2\2\u0230\25\3\2\2\2\u0231\u0233\5\u00ecw\2\u0232\u0231\3\2"+ "\2\2\u0233\u0236\3\2\2\2\u0234\u0232\3\2\2\2\u0234\u0235\3\2\2\2\u0235"+ "\u0237\3\2\2\2\u0236\u0234\3\2\2\2\u0237\u0239\7h\2\2\u0238\u023a\5,\27"+ "\2\u0239\u0238\3\2\2\2\u0239\u023a\3\2\2\2\u023a\27\3\2\2\2\u023b\u023c"+ "\5\22\n\2\u023c\31\3\2\2\2\u023d\u023e\5\24\13\2\u023e\33\3\2\2\2\u023f"+ "\u0240\5\26\f\2\u0240\35\3\2\2\2\u0241\u0243\5\u00ecw\2\u0242\u0241\3"+ "\2\2\2\u0243\u0246\3\2\2\2\u0244\u0242\3\2\2\2\u0244\u0245\3\2\2\2\u0245"+ "\u0247\3\2\2\2\u0246\u0244\3\2\2\2\u0247\u0248\7h\2\2\u0248\37\3\2\2\2"+ "\u0249\u024a\5\6\4\2\u024a\u024b\5\"\22\2\u024b\u0253\3\2\2\2\u024c\u024d"+ "\5\20\t\2\u024d\u024e\5\"\22\2\u024e\u0253\3\2\2\2\u024f\u0250\5\36\20"+ "\2\u0250\u0251\5\"\22\2\u0251\u0253\3\2\2\2\u0252\u0249\3\2\2\2\u0252"+ "\u024c\3\2\2\2\u0252\u024f\3\2\2\2\u0253!\3\2\2\2\u0254\u0256\5\u00ec"+ "w\2\u0255\u0254\3\2\2\2\u0256\u0259\3\2\2\2\u0257\u0255\3\2\2\2\u0257"+ "\u0258\3\2\2\2\u0258\u025a\3\2\2\2\u0259\u0257\3\2\2\2\u025a\u025b\7?"+ "\2\2\u025b\u0266\7@\2\2\u025c\u025e\5\u00ecw\2\u025d\u025c\3\2\2\2\u025e"+ "\u0261\3\2\2\2\u025f\u025d\3\2\2\2\u025f\u0260\3\2\2\2\u0260\u0262\3\2"+ "\2\2\u0261\u025f\3\2\2\2\u0262\u0263\7?\2\2\u0263\u0265\7@\2\2\u0264\u025f"+ "\3\2\2\2\u0265\u0268\3\2\2\2\u0266\u0264\3\2\2\2\u0266\u0267\3\2\2\2\u0267"+ "#\3\2\2\2\u0268\u0266\3\2\2\2\u0269\u026b\5&\24\2\u026a\u0269\3\2\2\2"+ "\u026b\u026e\3\2\2\2\u026c\u026a\3\2\2\2\u026c\u026d\3\2\2\2\u026d\u026f"+ "\3\2\2\2\u026e\u026c\3\2\2\2\u026f\u0271\7h\2\2\u0270\u0272\5(\25\2\u0271"+ "\u0270\3\2\2\2\u0271\u0272\3\2\2\2\u0272%\3\2\2\2\u0273\u0274\5\u00ec"+ "w\2\u0274\'\3\2\2\2\u0275\u0276\7\23\2\2\u0276\u0280\5\36\20\2\u0277\u0278"+ "\7\23\2\2\u0278\u027c\5\20\t\2\u0279\u027b\5*\26\2\u027a\u0279\3\2\2\2"+ "\u027b\u027e\3\2\2\2\u027c\u027a\3\2\2\2\u027c\u027d\3\2\2\2\u027d\u0280"+ "\3\2\2\2\u027e\u027c\3\2\2\2\u027f\u0275\3\2\2\2\u027f\u0277\3\2\2\2\u0280"+ ")\3\2\2\2\u0281\u0282\7W\2\2\u0282\u0283\5\30\r\2\u0283+\3\2\2\2\u0284"+ "\u0285\7F\2\2\u0285\u0286\5.\30\2\u0286\u0287\7E\2\2\u0287-\3\2\2\2\u0288"+ "\u028d\5\60\31\2\u0289\u028a\7B\2\2\u028a\u028c\5\60\31\2\u028b\u0289"+ "\3\2\2\2\u028c\u028f\3\2\2\2\u028d\u028b\3\2\2\2\u028d\u028e\3\2\2\2\u028e"+ "/\3\2\2\2\u028f\u028d\3\2\2\2\u0290\u0293\5\16\b\2\u0291\u0293\5\62\32"+ "\2\u0292\u0290\3\2\2\2\u0292\u0291\3\2\2\2\u0293\61\3\2\2\2\u0294\u0296"+ "\5\u00ecw\2\u0295\u0294\3\2\2\2\u0296\u0299\3\2\2\2\u0297\u0295\3\2\2"+ "\2\u0297\u0298\3\2\2\2\u0298\u029a\3\2\2\2\u0299\u0297\3\2\2\2\u029a\u029c"+ "\7I\2\2\u029b\u029d\5\64\33\2\u029c\u029b\3\2\2\2\u029c\u029d\3\2\2\2"+ "\u029d\63\3\2\2\2\u029e\u029f\7\23\2\2\u029f\u02a3\5\16\b\2\u02a0\u02a1"+ "\7*\2\2\u02a1\u02a3\5\16\b\2\u02a2\u029e\3\2\2\2\u02a2\u02a0\3\2\2\2\u02a3"+ "\65\3\2\2\2\u02a4\u02a5\b\34\1\2\u02a5\u02a6\7h\2\2\u02a6\u02ac\3\2\2"+ "\2\u02a7\u02a8\f\3\2\2\u02a8\u02a9\7C\2\2\u02a9\u02ab\7h\2\2\u02aa\u02a7"+ "\3\2\2\2\u02ab\u02ae\3\2\2\2\u02ac\u02aa\3\2\2\2\u02ac\u02ad\3\2\2\2\u02ad"+ "\67\3\2\2\2\u02ae\u02ac\3\2\2\2\u02af\u02b5\7h\2\2\u02b0\u02b1\5:\36\2"+ "\u02b1\u02b2\7C\2\2\u02b2\u02b3\7h\2\2\u02b3\u02b5\3\2\2\2\u02b4\u02af"+ "\3\2\2\2\u02b4\u02b0\3\2\2\2\u02b59\3\2\2\2\u02b6\u02b7\b\36\1\2\u02b7"+ "\u02b8\7h\2\2\u02b8\u02be\3\2\2\2\u02b9\u02ba\f\3\2\2\u02ba\u02bb\7C\2"+ "\2\u02bb\u02bd\7h\2\2\u02bc\u02b9\3\2\2\2\u02bd\u02c0\3\2\2\2\u02be\u02bc"+ "\3\2\2\2\u02be\u02bf\3\2\2\2\u02bf;\3\2\2\2\u02c0\u02be\3\2\2\2\u02c1"+ "\u02c7\7h\2\2\u02c2\u02c3\5@!\2\u02c3\u02c4\7C\2\2\u02c4\u02c5\7h\2\2"+ "\u02c5\u02c7\3\2\2\2\u02c6\u02c1\3\2\2\2\u02c6\u02c2\3\2\2\2\u02c7=\3"+ "\2\2\2\u02c8\u02c9\7h\2\2\u02c9?\3\2\2\2\u02ca\u02cb\b!\1\2\u02cb\u02cc"+ "\7h\2\2\u02cc\u02d2\3\2\2\2\u02cd\u02ce\f\3\2\2\u02ce\u02cf\7C\2\2\u02cf"+ "\u02d1\7h\2\2\u02d0\u02cd\3\2\2\2\u02d1\u02d4\3\2\2\2\u02d2\u02d0\3\2"+ "\2\2\u02d2\u02d3\3\2\2\2\u02d3A\3\2\2\2\u02d4\u02d2\3\2\2\2\u02d5\u02d7"+ "\5D#\2\u02d6\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u02d6\3\2\2\2\u02d8"+ "\u02d9\3\2\2\2\u02d9\u02f0\3\2\2\2\u02da\u02dc\5F$\2\u02db\u02da\3\2\2"+ "\2\u02dc\u02dd\3\2\2\2\u02dd\u02db\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02f0"+ "\3\2\2\2\u02df\u02e1\5H%\2\u02e0\u02df\3\2\2\2\u02e0\u02e1\3\2\2\2\u02e1"+ "\u02e5\3\2\2\2\u02e2\u02e4\5L\'\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\u02eb\3\2\2\2\u02e7"+ "\u02e5\3\2\2\2\u02e8\u02ea\5V,\2\u02e9\u02e8\3\2\2\2\u02ea\u02ed\3\2\2"+ "\2\u02eb\u02e9\3\2\2\2\u02eb\u02ec\3\2\2\2\u02ec\u02ee\3\2\2\2\u02ed\u02eb"+ "\3\2\2\2\u02ee\u02f0\7\2\2\3\u02ef\u02d6\3\2\2\2\u02ef\u02db\3\2\2\2\u02ef"+ "\u02e0\3\2\2\2\u02f0C\3\2\2\2\u02f1\u02f4\5\u0092J\2\u02f2\u02f4\5n8\2"+ "\u02f3\u02f1\3\2\2\2\u02f3\u02f2\3\2\2\2\u02f4E\3\2\2\2\u02f5\u02f8\5"+ "\u010c\u0087\2\u02f6\u02f8\5\u0108\u0085\2\u02f7\u02f5\3\2\2\2\u02f7\u02f6"+ "\3\2\2\2\u02f8G\3\2\2\2\u02f9\u02fb\5J&\2\u02fa\u02f9\3\2\2\2\u02fb\u02fe"+ "\3\2\2\2\u02fc\u02fa\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u02ff\3\2\2\2\u02fe"+ "\u02fc\3\2\2\2\u02ff\u0300\7\"\2\2\u0300\u0305\7h\2\2\u0301\u0302\7C\2"+ "\2\u0302\u0304\7h\2\2\u0303\u0301\3\2\2\2\u0304\u0307\3\2\2\2\u0305\u0303"+ "\3\2\2\2\u0305\u0306\3\2\2\2\u0306\u0308\3\2\2\2\u0307\u0305\3\2\2\2\u0308"+ "\u0309\7A\2\2\u0309I\3\2\2\2\u030a\u030b\5\u00ecw\2\u030bK\3\2\2\2\u030c"+ "\u0311\5N(\2\u030d\u0311\5P)\2\u030e\u0311\5R*\2\u030f\u0311\5T+\2\u0310"+ "\u030c\3\2\2\2\u0310\u030d\3\2\2\2\u0310\u030e\3\2\2\2\u0310\u030f\3\2"+ "\2\2\u0311M\3\2\2\2\u0312\u0313\7\33\2\2\u0313\u0314\58\35\2\u0314\u0315"+ "\7A\2\2\u0315O\3\2\2\2\u0316\u0317\7\33\2\2\u0317\u0318\5:\36\2\u0318"+ "\u0319\7C\2\2\u0319\u031a\7U\2\2\u031a\u031b\7A\2\2\u031bQ\3\2\2\2\u031c"+ "\u031d\7\33\2\2\u031d\u031e\7(\2\2\u031e\u031f\58\35\2\u031f\u0320\7C"+ "\2\2\u0320\u0321\7h\2\2\u0321\u0322\7A\2\2\u0322S\3\2\2\2\u0323\u0324"+ "\7\33\2\2\u0324\u0325\7(\2\2\u0325\u0326\58\35\2\u0326\u0327\7C\2\2\u0327"+ "\u0328\7U\2\2\u0328\u0329\7A\2\2\u0329U\3\2\2\2\u032a\u032e\5X-\2\u032b"+ "\u032e\5\u00ccg\2\u032c\u032e\7A\2\2\u032d\u032a\3\2\2\2\u032d\u032b\3"+ "\2\2\2\u032d\u032c\3\2\2\2\u032eW\3\2\2\2\u032f\u0332\5Z.\2\u0330\u0332"+ "\5\u00c0a\2\u0331\u032f\3\2\2\2\u0331\u0330\3\2\2\2\u0332Y\3\2\2\2\u0333"+ "\u0335\5\\/\2\u0334\u0333\3\2\2\2\u0335\u0338\3\2\2\2\u0336\u0334\3\2"+ "\2\2\u0336\u0337\3\2\2\2\u0337\u0339\3\2\2\2\u0338\u0336\3\2\2\2\u0339"+ "\u033a\7\13\2\2\u033a\u033c\7h\2\2\u033b\u033d\5^\60\2\u033c\u033b\3\2"+ "\2\2\u033c\u033d\3\2\2\2\u033d\u033f\3\2\2\2\u033e\u0340\5b\62\2\u033f"+ "\u033e\3\2\2\2\u033f\u0340\3\2\2\2\u0340\u0342\3\2\2\2\u0341\u0343\5d"+ "\63\2\u0342\u0341\3\2\2\2\u0342\u0343\3\2\2\2\u0343\u0344\3\2\2\2\u0344"+ "\u0345\5h\65\2\u0345[\3\2\2\2\u0346\u034f\5\u00ecw\2\u0347\u034f\7%\2"+ "\2\u0348\u034f\7$\2\2\u0349\u034f\7#\2\2\u034a\u034f\7\3\2\2\u034b\u034f"+ "\7(\2\2\u034c\u034f\7\24\2\2\u034d\u034f\7)\2\2\u034e\u0346\3\2\2\2\u034e"+ "\u0347\3\2\2\2\u034e\u0348\3\2\2\2\u034e\u0349\3\2\2\2\u034e\u034a\3\2"+ "\2\2\u034e\u034b\3\2\2\2\u034e\u034c\3\2\2\2\u034e\u034d\3\2\2\2\u034f"+ "]\3\2\2\2\u0350\u0351\7F\2\2\u0351\u0352\5`\61\2\u0352\u0353\7E\2\2\u0353"+ "_\3\2\2\2\u0354\u0359\5$\23\2\u0355\u0356\7B\2\2\u0356\u0358\5$\23\2\u0357"+ "\u0355\3\2\2\2\u0358\u035b\3\2\2\2\u0359\u0357\3\2\2\2\u0359\u035a\3\2"+ "\2\2\u035aa\3\2\2\2\u035b\u0359\3\2\2\2\u035c\u035d\7\23\2\2\u035d\u035e"+ "\5\22\n\2\u035ec\3\2\2\2\u035f\u0360\7\32\2\2\u0360\u0361\5f\64\2\u0361"+ "e\3\2\2\2\u0362\u0367\5\30\r\2\u0363\u0364\7B\2\2\u0364\u0366\5\30\r\2"+ "\u0365\u0363\3\2\2\2\u0366\u0369\3\2\2\2\u0367\u0365\3\2\2\2\u0367\u0368"+ "\3\2\2\2\u0368g\3\2\2\2\u0369\u0367\3\2\2\2\u036a\u036e\7=\2\2\u036b\u036d"+ "\5j\66\2\u036c\u036b\3\2\2\2\u036d\u0370\3\2\2\2\u036e\u036c\3\2\2\2\u036e"+ "\u036f\3\2\2\2\u036f\u0371\3\2\2\2\u0370\u036e\3\2\2\2\u0371\u0372\7>"+ "\2\2\u0372i\3\2\2\2\u0373\u0378\5l\67\2\u0374\u0378\5\u00b0Y\2\u0375\u0378"+ "\5\u00b2Z\2\u0376\u0378\5\u00b4[\2\u0377\u0373\3\2\2\2\u0377\u0374\3\2"+ "\2\2\u0377\u0375\3\2\2\2\u0377\u0376\3\2\2\2\u0378k\3\2\2\2\u0379\u037f"+ "\5n8\2\u037a\u037f\5\u0092J\2\u037b\u037f\5X-\2\u037c\u037f\5\u00ccg\2"+ "\u037d\u037f\7A\2\2\u037e\u0379\3\2\2\2\u037e\u037a\3\2\2\2\u037e\u037b"+ "\3\2\2\2\u037e\u037c\3\2\2\2\u037e\u037d\3\2\2\2\u037fm\3\2\2\2\u0380"+ "\u0382\5p9\2\u0381\u0380\3\2\2\2\u0382\u0385\3\2\2\2\u0383\u0381\3\2\2"+ "\2\u0383\u0384\3\2\2\2\u0384\u0386\3\2\2\2\u0385\u0383\3\2\2\2\u0386\u0387"+ "\5z>\2\u0387\u0388\5r:\2\u0388\u0389\7A\2\2\u0389o\3\2\2\2\u038a\u0393"+ "\5\u00ecw\2\u038b\u0393\7%\2\2\u038c\u0393\7$\2\2\u038d\u0393\7#\2\2\u038e"+ "\u0393\7(\2\2\u038f\u0393\7\24\2\2\u0390\u0393\7\60\2\2\u0391\u0393\7"+ "\63\2\2\u0392\u038a\3\2\2\2\u0392\u038b\3\2\2\2\u0392\u038c\3\2\2\2\u0392"+ "\u038d\3\2\2\2\u0392\u038e\3\2\2\2\u0392\u038f\3\2\2\2\u0392\u0390\3\2"+ "\2\2\u0392\u0391\3\2\2\2\u0393q\3\2\2\2\u0394\u0399\5t;\2\u0395\u0396"+ "\7B\2\2\u0396\u0398\5t;\2\u0397\u0395\3\2\2\2\u0398\u039b\3\2\2\2\u0399"+ "\u0397\3\2\2\2\u0399\u039a\3\2\2\2\u039as\3\2\2\2\u039b\u0399\3\2\2\2"+ "\u039c\u039f\5v<\2\u039d\u039e\7D\2\2\u039e\u03a0\5x=\2\u039f\u039d\3"+ "\2\2\2\u039f\u03a0\3\2\2\2\u03a0u\3\2\2\2\u03a1\u03a3\7h\2\2\u03a2\u03a4"+ "\5\"\22\2\u03a3\u03a2\3\2\2\2\u03a3\u03a4\3\2\2\2\u03a4w\3\2\2\2\u03a5"+ "\u03a8\5\u01a4\u00d3\2\u03a6\u03a8\5\u00fe\u0080\2\u03a7\u03a5\3\2\2\2"+ "\u03a7\u03a6\3\2\2\2\u03a8y\3\2\2\2\u03a9\u03ac\5|?\2\u03aa\u03ac\5~@"+ "\2\u03ab\u03a9\3\2\2\2\u03ab\u03aa\3\2\2\2\u03ac{\3\2\2\2\u03ad\u03b0"+ "\5\b\5\2\u03ae\u03b0\7\5\2\2\u03af\u03ad\3\2\2\2\u03af\u03ae\3\2\2\2\u03b0"+ "}\3\2\2\2\u03b1\u03b5\5\u0080A\2\u03b2\u03b5\5\u008eH\2\u03b3\u03b5\5"+ "\u0090I\2\u03b4\u03b1\3\2\2\2\u03b4\u03b2\3\2\2\2\u03b4\u03b3\3\2\2\2"+ "\u03b5\177\3\2\2\2\u03b6\u03b9\5\u0086D\2\u03b7\u03b9\5\u008cG\2\u03b8"+ "\u03b6\3\2\2\2\u03b8\u03b7\3\2\2\2\u03b9\u03be\3\2\2\2\u03ba\u03bd\5\u0084"+ "C\2\u03bb\u03bd\5\u008aF\2\u03bc\u03ba\3\2\2\2\u03bc\u03bb\3\2\2\2\u03bd"+ "\u03c0\3\2\2\2\u03be\u03bc\3\2\2\2\u03be\u03bf\3\2\2\2\u03bf\u0081\3\2"+ "\2\2\u03c0\u03be\3\2\2\2\u03c1\u03c3\7h\2\2\u03c2\u03c4\5,\27\2\u03c3"+ "\u03c2\3\2\2\2\u03c3\u03c4\3\2\2\2\u03c4\u03d2\3\2\2\2\u03c5\u03c6\5\u0080"+ "A\2\u03c6\u03ca\7C\2\2\u03c7\u03c9\5\u00ecw\2\u03c8\u03c7\3\2\2\2\u03c9"+ "\u03cc\3\2\2\2\u03ca\u03c8\3\2\2\2\u03ca\u03cb\3\2\2\2\u03cb\u03cd\3\2"+ "\2\2\u03cc\u03ca\3\2\2\2\u03cd\u03cf\7h\2\2\u03ce\u03d0\5,\27\2\u03cf"+ "\u03ce\3\2\2\2\u03cf\u03d0\3\2\2\2\u03d0\u03d2\3\2\2\2\u03d1\u03c1\3\2"+ "\2\2\u03d1\u03c5\3\2\2\2\u03d2\u0083\3\2\2\2\u03d3\u03d7\7C\2\2\u03d4"+ "\u03d6\5\u00ecw\2\u03d5\u03d4\3\2\2\2\u03d6\u03d9\3\2\2\2\u03d7\u03d5"+ "\3\2\2\2\u03d7\u03d8\3\2\2\2\u03d8\u03da\3\2\2\2\u03d9\u03d7\3\2\2\2\u03da"+ "\u03dc\7h\2\2\u03db\u03dd\5,\27\2\u03dc\u03db\3\2\2\2\u03dc\u03dd\3\2"+ "\2\2\u03dd\u0085\3\2\2\2\u03de\u03e0\7h\2\2\u03df\u03e1\5,\27\2\u03e0"+ "\u03df\3\2\2\2\u03e0\u03e1\3\2\2\2\u03e1\u0087\3\2\2\2\u03e2\u03e3\5\u0082"+ "B\2\u03e3\u0089\3\2\2\2\u03e4\u03e5\5\u0084C\2\u03e5\u008b\3\2\2\2\u03e6"+ "\u03e7\5\u0086D\2\u03e7\u008d\3\2\2\2\u03e8\u03e9\7h\2\2\u03e9\u008f\3"+ "\2\2\2\u03ea\u03eb\5|?\2\u03eb\u03ec\5\"\22\2\u03ec\u03f4\3\2\2\2\u03ed"+ "\u03ee\5\u0080A\2\u03ee\u03ef\5\"\22\2\u03ef\u03f4\3\2\2\2\u03f0\u03f1"+ "\5\u008eH\2\u03f1\u03f2\5\"\22\2\u03f2\u03f4\3\2\2\2\u03f3\u03ea\3\2\2"+ "\2\u03f3\u03ed\3\2\2\2\u03f3\u03f0\3\2\2\2\u03f4\u0091\3\2\2\2\u03f5\u03f7"+ "\5\u0094K\2\u03f6\u03f5\3\2\2\2\u03f7\u03fa\3\2\2\2\u03f8\u03f6\3\2\2"+ "\2\u03f8\u03f9\3\2\2\2\u03f9\u03fb\3\2\2\2\u03fa\u03f8\3\2\2\2\u03fb\u03fc"+ "\5\u0096L\2\u03fc\u03fd\5\u00aeX\2\u03fd\u0093\3\2\2\2\u03fe\u0409\5\u00ec"+ "w\2\u03ff\u0409\7%\2\2\u0400\u0409\7$\2\2\u0401\u0409\7#\2\2\u0402\u0409"+ "\7\3\2\2\u0403\u0409\7(\2\2\u0404\u0409\7\24\2\2\u0405\u0409\7,\2\2\u0406"+ "\u0409\7 \2\2\u0407\u0409\7)\2\2\u0408\u03fe\3\2\2\2\u0408\u03ff\3\2\2"+ "\2\u0408\u0400\3\2\2\2\u0408\u0401\3\2\2\2\u0408\u0402\3\2\2\2\u0408\u0403"+ "\3\2\2\2\u0408\u0404\3\2\2\2\u0408\u0405\3\2\2\2\u0408\u0406\3\2\2\2\u0408"+ "\u0407\3\2\2\2\u0409\u0095\3\2\2\2\u040a\u040b\5\u0098M\2\u040b\u040d"+ "\5\u009aN\2\u040c\u040e\5\u00a8U\2\u040d\u040c\3\2\2\2\u040d\u040e\3\2"+ "\2\2\u040e\u041c\3\2\2\2\u040f\u0413\5^\60\2\u0410\u0412\5\u00ecw\2\u0411"+ "\u0410\3\2\2\2\u0412\u0415\3\2\2\2\u0413\u0411\3\2\2\2\u0413\u0414\3\2"+ "\2\2\u0414\u0416\3\2\2\2\u0415\u0413\3\2\2\2\u0416\u0417\5\u0098M\2\u0417"+ "\u0419\5\u009aN\2\u0418\u041a\5\u00a8U\2\u0419\u0418\3\2\2\2\u0419\u041a"+ "\3\2\2\2\u041a\u041c\3\2\2\2\u041b\u040a\3\2\2\2\u041b\u040f\3\2\2\2\u041c"+ "\u0097\3\2\2\2\u041d\u0420\5z>\2\u041e\u0420\7\62\2\2\u041f\u041d\3\2"+ "\2\2\u041f\u041e\3\2\2\2\u0420\u0099\3\2\2\2\u0421\u0422\7h\2\2\u0422"+ "\u0424\7;\2\2\u0423\u0425\5\u009cO\2\u0424\u0423\3\2\2\2\u0424\u0425\3"+ "\2\2\2\u0425\u0426\3\2\2\2\u0426\u0428\7<\2\2\u0427\u0429\5\"\22\2\u0428"+ "\u0427\3\2\2\2\u0428\u0429\3\2\2\2\u0429\u009b\3\2\2\2\u042a\u042b\5\u009e"+ "P\2\u042b\u042c\7B\2\2\u042c\u042d\5\u00a4S\2\u042d\u0430\3\2\2\2\u042e"+ "\u0430\5\u00a4S\2\u042f\u042a\3\2\2\2\u042f\u042e\3\2\2\2\u0430\u009d"+ "\3\2\2\2\u0431\u0436\5\u00a0Q\2\u0432\u0433\7B\2\2\u0433\u0435\5\u00a0"+ "Q\2\u0434\u0432\3\2\2\2\u0435\u0438\3\2\2\2\u0436\u0434\3\2\2\2\u0436"+ "\u0437\3\2\2\2\u0437\u0442\3\2\2\2\u0438\u0436\3\2\2\2\u0439\u043e\5\u00a6"+ "T\2\u043a\u043b\7B\2\2\u043b\u043d\5\u00a0Q\2\u043c\u043a\3\2\2\2\u043d"+ "\u0440\3\2\2\2\u043e\u043c\3\2\2\2\u043e\u043f\3\2\2\2\u043f\u0442\3\2"+ "\2\2\u0440\u043e\3\2\2\2\u0441\u0431\3\2\2\2\u0441\u0439\3\2\2\2\u0442"+ "\u009f\3\2\2\2\u0443\u0445\5\u00a2R\2\u0444\u0443\3\2\2\2\u0445\u0448"+ "\3\2\2\2\u0446\u0444\3\2\2\2\u0446\u0447\3\2\2\2\u0447\u0449\3\2\2\2\u0448"+ "\u0446\3\2\2\2\u0449\u044a\5z>\2\u044a\u044b\5v<\2\u044b\u00a1\3\2\2\2"+ "\u044c\u044f\5\u00ecw\2\u044d\u044f\7\24\2\2\u044e\u044c\3\2\2\2\u044e"+ "\u044d\3\2\2\2\u044f\u00a3\3\2\2\2\u0450\u0452\5\u00a2R\2\u0451\u0450"+ "\3\2\2\2\u0452\u0455\3\2\2\2\u0453\u0451\3\2\2\2\u0453\u0454\3\2\2\2\u0454"+ "\u0456\3\2\2\2\u0455\u0453\3\2\2\2\u0456\u045a\5z>\2\u0457\u0459\5\u00ec"+ "w\2\u0458\u0457\3\2\2\2\u0459\u045c\3\2\2\2\u045a\u0458\3\2\2\2\u045a"+ "\u045b\3\2\2\2\u045b\u045d\3\2\2\2\u045c\u045a\3\2\2\2\u045d\u045e\7j"+ "\2\2\u045e\u045f\5v<\2\u045f\u0462\3\2\2\2\u0460\u0462\5\u00a0Q\2\u0461"+ "\u0453\3\2\2\2\u0461\u0460\3\2\2\2\u0462\u00a5\3\2\2\2\u0463\u0465\5\u00ec"+ "w\2\u0464\u0463\3\2\2\2\u0465\u0468\3\2\2\2\u0466\u0464\3\2\2\2\u0466"+ "\u0467\3\2\2\2\u0467\u0469\3\2\2\2\u0468\u0466\3\2\2\2\u0469\u046c\5z"+ ">\2\u046a\u046b\7h\2\2\u046b\u046d\7C\2\2\u046c\u046a\3\2\2\2\u046c\u046d"+ "\3\2\2\2\u046d\u046e\3\2\2\2\u046e\u046f\7-\2\2\u046f\u00a7\3\2\2\2\u0470"+ "\u0471\7/\2\2\u0471\u0472\5\u00aaV\2\u0472\u00a9\3\2\2\2\u0473\u0478\5"+ "\u00acW\2\u0474\u0475\7B\2\2\u0475\u0477\5\u00acW\2\u0476\u0474\3\2\2"+ "\2\u0477\u047a\3\2\2\2\u0478\u0476\3\2\2\2\u0478\u0479\3\2\2\2\u0479\u00ab"+ "\3\2\2\2\u047a\u0478\3\2\2\2\u047b\u047e\5\22\n\2\u047c\u047e\5\36\20"+ "\2\u047d\u047b\3\2\2\2\u047d\u047c\3\2\2\2\u047e\u00ad\3\2\2\2\u047f\u0482"+ "\5\u0102\u0082\2\u0480\u0482\7A\2\2\u0481\u047f\3\2\2\2\u0481\u0480\3"+ "\2\2\2\u0482\u00af\3\2\2\2\u0483\u0484\5\u0102\u0082\2\u0484\u00b1\3\2"+ "\2\2\u0485\u0486\7(\2\2\u0486\u0487\5\u0102\u0082\2\u0487\u00b3\3\2\2"+ "\2\u0488\u048a\5\u00b6\\\2\u0489\u0488\3\2\2\2\u048a\u048d\3\2\2\2\u048b"+ "\u0489\3\2\2\2\u048b\u048c\3\2\2\2\u048c\u048e\3\2\2\2\u048d\u048b\3\2"+ "\2\2\u048e\u0490\5\u00b8]\2\u048f\u0491\5\u00a8U\2\u0490\u048f\3\2\2\2"+ "\u0490\u0491\3\2\2\2\u0491\u0492\3\2\2\2\u0492\u0493\5\u00bc_\2\u0493"+ "\u00b5\3\2\2\2\u0494\u0499\5\u00ecw\2\u0495\u0499\7%\2\2\u0496\u0499\7"+ "$\2\2\u0497\u0499\7#\2\2\u0498\u0494\3\2\2\2\u0498\u0495\3\2\2\2\u0498"+ "\u0496\3\2\2\2\u0498\u0497\3\2\2\2\u0499\u00b7\3\2\2\2\u049a\u049c\5^"+ "\60\2\u049b\u049a\3\2\2\2\u049b\u049c\3\2\2\2\u049c\u049d\3\2\2\2\u049d"+ "\u049e\5\u00ba^\2\u049e\u04a0\7;\2\2\u049f\u04a1\5\u009cO\2\u04a0\u049f"+ "\3\2\2\2\u04a0\u04a1\3\2\2\2\u04a1\u04a2\3\2\2\2\u04a2\u04a3\7<\2\2\u04a3"+ "\u00b9\3\2\2\2\u04a4\u04a5\7h\2\2\u04a5\u00bb\3\2\2\2\u04a6\u04a8\7=\2"+ "\2\u04a7\u04a9\5\u00be`\2\u04a8\u04a7\3\2\2\2\u04a8\u04a9\3\2\2\2\u04a9"+ "\u04ab\3\2\2\2\u04aa\u04ac\5\u0104\u0083\2\u04ab\u04aa\3\2\2\2\u04ab\u04ac"+ "\3\2\2\2\u04ac\u04ad\3\2\2\2\u04ad\u04ae\7>\2\2\u04ae\u00bd\3\2\2\2\u04af"+ "\u04b1\5,\27\2\u04b0\u04af\3\2\2\2\u04b0\u04b1\3\2\2\2\u04b1\u04b2\3\2"+ "\2\2\u04b2\u04b3\7-\2\2\u04b3\u04b5\7;\2\2\u04b4\u04b6\5\u0194\u00cb\2"+ "\u04b5\u04b4\3\2\2\2\u04b5\u04b6\3\2\2\2\u04b6\u04b7\3\2\2\2\u04b7\u04b8"+ "\7<\2\2\u04b8\u04de\7A\2\2\u04b9\u04bb\5,\27\2\u04ba\u04b9\3\2\2\2\u04ba"+ "\u04bb\3\2\2\2\u04bb\u04bc\3\2\2\2\u04bc\u04bd\7*\2\2\u04bd\u04bf\7;\2"+ "\2\u04be\u04c0\5\u0194\u00cb\2\u04bf\u04be\3\2\2\2\u04bf\u04c0\3\2\2\2"+ "\u04c0\u04c1\3\2\2\2\u04c1\u04c2\7<\2\2\u04c2\u04de\7A\2\2\u04c3\u04c4"+ "\5<\37\2\u04c4\u04c6\7C\2\2\u04c5\u04c7\5,\27\2\u04c6\u04c5\3\2\2\2\u04c6"+ "\u04c7\3\2\2\2\u04c7\u04c8\3\2\2\2\u04c8\u04c9\7*\2\2\u04c9\u04cb\7;\2"+ "\2\u04ca\u04cc\5\u0194\u00cb\2\u04cb\u04ca\3\2\2\2\u04cb\u04cc\3\2\2\2"+ "\u04cc\u04cd\3\2\2\2\u04cd\u04ce\7<\2\2\u04ce\u04cf\7A\2\2\u04cf\u04de"+ "\3\2\2\2\u04d0\u04d1\5\u0166\u00b4\2\u04d1\u04d3\7C\2\2\u04d2\u04d4\5"+ ",\27\2\u04d3\u04d2\3\2\2\2\u04d3\u04d4\3\2\2\2\u04d4\u04d5\3\2\2\2\u04d5"+ "\u04d6\7*\2\2\u04d6\u04d8\7;\2\2\u04d7\u04d9\5\u0194\u00cb\2\u04d8\u04d7"+ "\3\2\2\2\u04d8\u04d9\3\2\2\2\u04d9\u04da\3\2\2\2\u04da\u04db\7<\2\2\u04db"+ "\u04dc\7A\2\2\u04dc\u04de\3\2\2\2\u04dd\u04b0\3\2\2\2\u04dd\u04ba\3\2"+ "\2\2\u04dd\u04c3\3\2\2\2\u04dd\u04d0\3\2\2\2\u04de\u00bf\3\2\2\2\u04df"+ "\u04e1\5\\/\2\u04e0\u04df\3\2\2\2\u04e1\u04e4\3\2\2\2\u04e2\u04e0\3\2"+ "\2\2\u04e2\u04e3\3\2\2\2\u04e3\u04e5\3\2\2\2\u04e4\u04e2\3\2\2\2\u04e5"+ "\u04e6\7\22\2\2\u04e6\u04e8\7h\2\2\u04e7\u04e9\5d\63\2\u04e8\u04e7\3\2"+ "\2\2\u04e8\u04e9\3\2\2\2\u04e9\u04ea\3\2\2\2\u04ea\u04eb\5\u00c2b\2\u04eb"+ "\u00c1\3\2\2\2\u04ec\u04ee\7=\2\2\u04ed\u04ef\5\u00c4c\2\u04ee\u04ed\3"+ "\2\2\2\u04ee\u04ef\3\2\2\2\u04ef\u04f1\3\2\2\2\u04f0\u04f2\7B\2\2\u04f1"+ "\u04f0\3\2\2\2\u04f1\u04f2\3\2\2\2\u04f2\u04f4\3\2\2\2\u04f3\u04f5\5\u00ca"+ "f\2\u04f4\u04f3\3\2\2\2\u04f4\u04f5\3\2\2\2\u04f5\u04f6\3\2\2\2\u04f6"+ "\u04f7\7>\2\2\u04f7\u00c3\3\2\2\2\u04f8\u04fd\5\u00c6d\2\u04f9\u04fa\7"+ "B\2\2\u04fa\u04fc\5\u00c6d\2\u04fb\u04f9\3\2\2\2\u04fc\u04ff\3\2\2\2\u04fd"+ "\u04fb\3\2\2\2\u04fd\u04fe\3\2\2\2\u04fe\u00c5\3\2\2\2\u04ff\u04fd\3\2"+ "\2\2\u0500\u0502\5\u00c8e\2\u0501\u0500\3\2\2\2\u0502\u0505\3\2\2\2\u0503"+ "\u0501\3\2\2\2\u0503\u0504\3\2\2\2\u0504\u0506\3\2\2\2\u0505\u0503\3\2"+ "\2\2\u0506\u050c\7h\2\2\u0507\u0509\7;\2\2\u0508\u050a\5\u0194\u00cb\2"+ "\u0509\u0508\3\2\2\2\u0509\u050a\3\2\2\2\u050a\u050b\3\2\2\2\u050b\u050d"+ "\7<\2\2\u050c\u0507\3\2\2\2\u050c\u050d\3\2\2\2\u050d\u050f\3\2\2\2\u050e"+ "\u0510\5h\65\2\u050f\u050e\3\2\2\2\u050f\u0510\3\2\2\2\u0510\u00c7\3\2"+ "\2\2\u0511\u0512\5\u00ecw\2\u0512\u00c9\3\2\2\2\u0513\u0517\7A\2\2\u0514"+ "\u0516\5j\66\2\u0515\u0514\3\2\2\2\u0516\u0519\3\2\2\2\u0517\u0515\3\2"+ "\2\2\u0517\u0518\3\2\2\2\u0518\u00cb\3\2\2\2\u0519\u0517\3\2\2\2\u051a"+ "\u051d\5\u00ceh\2\u051b\u051d\5\u00e0q\2\u051c\u051a\3\2\2\2\u051c\u051b"+ "\3\2\2\2\u051d\u00cd\3\2\2\2\u051e\u0520\5\u00d0i\2\u051f\u051e\3\2\2"+ "\2\u0520\u0523\3\2\2\2\u0521\u051f\3\2\2\2\u0521\u0522\3\2\2\2\u0522\u0524"+ "\3\2\2\2\u0523\u0521\3\2\2\2\u0524\u0525\7\36\2\2\u0525\u0527\7h\2\2\u0526"+ "\u0528\5^\60\2\u0527\u0526\3\2\2\2\u0527\u0528\3\2\2\2\u0528\u052a\3\2"+ "\2\2\u0529\u052b\5\u00d2j\2\u052a\u0529\3\2\2\2\u052a\u052b\3\2\2\2\u052b"+ "\u052c\3\2\2\2\u052c\u052d\5\u00d4k\2\u052d\u00cf\3\2\2\2\u052e\u0536"+ "\5\u00ecw\2\u052f\u0536\7%\2\2\u0530\u0536\7$\2\2\u0531\u0536\7#\2\2\u0532"+ "\u0536\7\3\2\2\u0533\u0536\7(\2\2\u0534\u0536\7)\2\2\u0535\u052e\3\2\2"+ "\2\u0535\u052f\3\2\2\2\u0535\u0530\3\2\2\2\u0535\u0531\3\2\2\2\u0535\u0532"+ "\3\2\2\2\u0535\u0533\3\2\2\2\u0535\u0534\3\2\2\2\u0536\u00d1\3\2\2\2\u0537"+ "\u0538\7\23\2\2\u0538\u0539\5f\64\2\u0539\u00d3\3\2\2\2\u053a\u053e\7"+ "=\2\2\u053b\u053d\5\u00d6l\2\u053c\u053b\3\2\2\2\u053d\u0540\3\2\2\2\u053e"+ "\u053c\3\2\2\2\u053e\u053f\3\2\2\2\u053f\u0541\3\2\2\2\u0540\u053e\3\2"+ "\2\2\u0541\u0542\7>\2\2\u0542\u00d5\3\2\2\2\u0543\u0549\5\u00d8m\2\u0544"+ "\u0549\5\u00dco\2\u0545\u0549\5X-\2\u0546\u0549\5\u00ccg\2\u0547\u0549"+ "\7A\2\2\u0548\u0543\3\2\2\2\u0548\u0544\3\2\2\2\u0548\u0545\3\2\2\2\u0548"+ "\u0546\3\2\2\2\u0548\u0547\3\2\2\2\u0549\u00d7\3\2\2\2\u054a\u054c\5\u00da"+ "n\2\u054b\u054a\3\2\2\2\u054c\u054f\3\2\2\2\u054d\u054b\3\2\2\2\u054d"+ "\u054e\3\2\2\2\u054e\u0550\3\2\2\2\u054f\u054d\3\2\2\2\u0550\u0551\5z"+ ">\2\u0551\u0552\5r:\2\u0552\u0553\7A\2\2\u0553\u00d9\3\2\2\2\u0554\u0559"+ "\5\u00ecw\2\u0555\u0559\7%\2\2\u0556\u0559\7(\2\2\u0557\u0559\7\24\2\2"+ "\u0558\u0554\3\2\2\2\u0558\u0555\3\2\2\2\u0558\u0556\3\2\2\2\u0558\u0557"+ "\3\2\2\2\u0559\u00db\3\2\2\2\u055a\u055c\5\u00dep\2\u055b\u055a\3\2\2"+ "\2\u055c\u055f\3\2\2\2\u055d\u055b\3\2\2\2\u055d\u055e\3\2\2\2\u055e\u0560"+ "\3\2\2\2\u055f\u055d\3\2\2\2\u0560\u0561\5\u0096L\2\u0561\u0562\5\u00ae"+ "X\2\u0562\u00dd\3\2\2\2\u0563\u056a\5\u00ecw\2\u0564\u056a\7%\2\2\u0565"+ "\u056a\7\3\2\2\u0566\u056a\7\16\2\2\u0567\u056a\7(\2\2\u0568\u056a\7)"+ "\2\2\u0569\u0563\3\2\2\2\u0569\u0564\3\2\2\2\u0569\u0565\3\2\2\2\u0569"+ "\u0566\3\2\2\2\u0569\u0567\3\2\2\2\u0569\u0568\3\2\2\2\u056a\u00df\3\2"+ "\2\2\u056b\u056d\5\u00d0i\2\u056c\u056b\3\2\2\2\u056d\u0570\3\2\2\2\u056e"+ "\u056c\3\2\2\2\u056e\u056f\3\2\2\2\u056f\u0571\3\2\2\2\u0570\u056e\3\2"+ "\2\2\u0571\u0572\7i\2\2\u0572\u0573\7\36\2\2\u0573\u0574\7h\2\2\u0574"+ "\u0575\5\u00e2r\2\u0575\u00e1\3\2\2\2\u0576\u057a\7=\2\2\u0577\u0579\5"+ "\u00e4s\2\u0578\u0577\3\2\2\2\u0579\u057c\3\2\2\2\u057a\u0578\3\2\2\2"+ "\u057a\u057b\3\2\2\2\u057b\u057d\3\2\2\2\u057c\u057a\3\2\2\2\u057d\u057e"+ "\7>\2\2\u057e\u00e3\3\2\2\2\u057f\u0585\5\u00e6t\2\u0580\u0585\5\u00d8"+ "m\2\u0581\u0585\5X-\2\u0582\u0585\5\u00ccg\2\u0583\u0585\7A\2\2\u0584"+ "\u057f\3\2\2\2\u0584\u0580\3\2\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\u0588\5\u00e8u\2\u0587"+ "\u0586\3\2\2\2\u0588\u058b\3\2\2\2\u0589\u0587\3\2\2\2\u0589\u058a\3\2"+ "\2\2\u058a\u058c\3\2\2\2\u058b\u0589\3\2\2\2\u058c\u058d\5z>\2\u058d\u058e"+ "\7h\2\2\u058e\u058f\7;\2\2\u058f\u0591\7<\2\2\u0590\u0592\5\"\22\2\u0591"+ "\u0590\3\2\2\2\u0591\u0592\3\2\2\2\u0592\u0594\3\2\2\2\u0593\u0595\5\u00ea"+ "v\2\u0594\u0593\3\2\2\2\u0594\u0595\3\2\2\2\u0595\u0596\3\2\2\2\u0596"+ "\u0597\7A\2\2\u0597\u00e7\3\2\2\2\u0598\u059c\5\u00ecw\2\u0599\u059c\7"+ "%\2\2\u059a\u059c\7\3\2\2\u059b\u0598\3\2\2\2\u059b\u0599\3\2\2\2\u059b"+ "\u059a\3\2\2\2\u059c\u00e9\3\2\2\2\u059d\u059e\7\16\2\2\u059e\u059f\5"+ "\u00f4{\2\u059f\u00eb\3\2\2\2\u05a0\u05a4\5\u00eex\2\u05a1\u05a4\5\u00fa"+ "~\2\u05a2\u05a4\5\u00fc\177\2\u05a3\u05a0\3\2\2\2\u05a3\u05a1\3\2\2\2"+ "\u05a3\u05a2\3\2\2\2\u05a4\u00ed\3\2\2\2\u05a5\u05a6\7i\2\2\u05a6\u05a7"+ "\58\35\2\u05a7\u05a9\7;\2\2\u05a8\u05aa\5\u00f0y\2\u05a9\u05a8\3\2\2\2"+ "\u05a9\u05aa\3\2\2\2\u05aa\u05ab\3\2\2\2\u05ab\u05ac\7<\2\2\u05ac\u00ef"+ "\3\2\2\2\u05ad\u05b2\5\u00f2z\2\u05ae\u05af\7B\2\2\u05af\u05b1\5\u00f2"+ "z\2\u05b0\u05ae\3\2\2\2\u05b1\u05b4\3\2\2\2\u05b2\u05b0\3\2\2\2\u05b2"+ "\u05b3\3\2\2\2\u05b3\u00f1\3\2\2\2\u05b4\u05b2\3\2\2\2\u05b5\u05b6\7h"+ "\2\2\u05b6\u05b7\7D\2\2\u05b7\u05b8\5\u00f4{\2\u05b8\u00f3\3\2\2\2\u05b9"+ "\u05bd\5\u01b6\u00dc\2\u05ba\u05bd\5\u00f6|\2\u05bb\u05bd\5\u00ecw\2\u05bc"+ "\u05b9\3\2\2\2\u05bc\u05ba\3\2\2\2\u05bc\u05bb\3\2\2\2\u05bd\u00f5\3\2"+ "\2\2\u05be\u05c0\7=\2\2\u05bf\u05c1\5\u00f8}\2\u05c0\u05bf\3\2\2\2\u05c0"+ "\u05c1\3\2\2\2\u05c1\u05c3\3\2\2\2\u05c2\u05c4\7B\2\2\u05c3\u05c2\3\2"+ "\2\2\u05c3\u05c4\3\2\2\2\u05c4\u05c5\3\2\2\2\u05c5\u05c6\7>\2\2\u05c6"+ "\u00f7\3\2\2\2\u05c7\u05cc\5\u00f4{\2\u05c8\u05c9\7B\2\2\u05c9\u05cb\5"+ "\u00f4{\2\u05ca\u05c8\3\2\2\2\u05cb\u05ce\3\2\2\2\u05cc\u05ca\3\2\2\2"+ "\u05cc\u05cd\3\2\2\2\u05cd\u00f9\3\2\2\2\u05ce\u05cc\3\2\2\2\u05cf\u05d0"+ "\7i\2\2\u05d0\u05d1\58\35\2\u05d1\u00fb\3\2\2\2\u05d2\u05d3\7i\2\2\u05d3"+ "\u05d4\58\35\2\u05d4\u05d5\7;\2\2\u05d5\u05d6\5\u00f4{\2\u05d6\u05d7\7"+ "<\2\2\u05d7\u00fd\3\2\2\2\u05d8\u05da\7=\2\2\u05d9\u05db\5\u0100\u0081"+ "\2\u05da\u05d9\3\2\2\2\u05da\u05db\3\2\2\2\u05db\u05dd\3\2\2\2\u05dc\u05de"+ "\7B\2\2\u05dd\u05dc\3\2\2\2\u05dd\u05de\3\2\2\2\u05de\u05df\3\2\2\2\u05df"+ "\u05e0\7>\2\2\u05e0\u00ff\3\2\2\2\u05e1\u05e6\5x=\2\u05e2\u05e3\7B\2\2"+ "\u05e3\u05e5\5x=\2\u05e4\u05e2\3\2\2\2\u05e5\u05e8\3\2\2\2\u05e6\u05e4"+ "\3\2\2\2\u05e6\u05e7\3\2\2\2\u05e7\u0101\3\2\2\2\u05e8\u05e6\3\2\2\2\u05e9"+ "\u05eb\7=\2\2\u05ea\u05ec\5\u0104\u0083\2\u05eb\u05ea\3\2\2\2\u05eb\u05ec"+ "\3\2\2\2\u05ec\u05ed\3\2\2\2\u05ed\u05ee\7>\2\2\u05ee\u0103\3\2\2\2\u05ef"+ "\u05f3\5\u0106\u0084\2\u05f0\u05f2\5\u0106\u0084\2\u05f1\u05f0\3\2\2\2"+ "\u05f2\u05f5\3\2\2\2\u05f3\u05f1\3\2\2\2\u05f3\u05f4\3\2\2\2\u05f4\u0105"+ "\3\2\2\2\u05f5\u05f3\3\2\2\2\u05f6\u05fa\5\u0108\u0085\2\u05f7\u05fa\5"+ "X-\2\u05f8\u05fa\5\u010c\u0087\2\u05f9\u05f6\3\2\2\2\u05f9\u05f7\3\2\2"+ "\2\u05f9\u05f8\3\2\2\2\u05fa\u0107\3\2\2\2\u05fb\u05fc\5\u010a\u0086\2"+ "\u05fc\u05fd\7A\2\2\u05fd\u0109\3\2\2\2\u05fe\u0600\5\u00a2R\2\u05ff\u05fe"+ "\3\2\2\2\u0600\u0603\3\2\2\2\u0601\u05ff\3\2\2\2\u0601\u0602\3\2\2\2\u0602"+ "\u0604\3\2\2\2\u0603\u0601\3\2\2\2\u0604\u0605\5z>\2\u0605\u0606\5r:\2"+ "\u0606\u010b\3\2\2\2\u0607\u060e\5\u0110\u0089\2\u0608\u060e\5\u0114\u008b"+ "\2\u0609\u060e\5\u011c\u008f\2\u060a\u060e\5\u011e\u0090\2\u060b\u060e"+ "\5\u0130\u0099\2\u060c\u060e\5\u0136\u009c\2\u060d\u0607\3\2\2\2\u060d"+ "\u0608\3\2\2\2\u060d\u0609\3\2\2\2\u060d\u060a\3\2\2\2\u060d\u060b\3\2"+ "\2\2\u060d\u060c\3\2\2\2\u060e\u010d\3\2\2\2\u060f\u0615\5\u0110\u0089"+ "\2\u0610\u0615\5\u0116\u008c\2\u0611\u0615\5\u0120\u0091\2\u0612\u0615"+ "\5\u0132\u009a\2\u0613\u0615\5\u0138\u009d\2\u0614\u060f\3\2\2\2\u0614"+ "\u0610\3\2\2\2\u0614\u0611\3\2\2\2\u0614\u0612\3\2\2\2\u0614\u0613\3\2"+ "\2\2\u0615\u010f\3\2\2\2\u0616\u0623\5\u0102\u0082\2\u0617\u0623\5\u0112"+ "\u008a\2\u0618\u0623\5\u0118\u008d\2\u0619\u0623\5\u0122\u0092\2\u061a"+ "\u0623\5\u0124\u0093\2\u061b\u0623\5\u0134\u009b\2\u061c\u0623\5\u0148"+ "\u00a5\2\u061d\u0623\5\u014a\u00a6\2\u061e\u0623\5\u014c\u00a7\2\u061f"+ "\u0623\5\u0150\u00a9\2\u0620\u0623\5\u014e\u00a8\2\u0621\u0623\5\u0152"+ "\u00aa\2\u0622\u0616\3\2\2\2\u0622\u0617\3\2\2\2\u0622\u0618\3\2\2\2\u0622"+ "\u0619\3\2\2\2\u0622\u061a\3\2\2\2\u0622\u061b\3\2\2\2\u0622\u061c\3\2"+ "\2\2\u0622\u061d\3\2\2\2\u0622\u061e\3\2\2\2\u0622\u061f\3\2\2\2\u0622"+ "\u0620\3\2\2\2\u0622\u0621\3\2\2\2\u0623\u0111\3\2\2\2\u0624\u0625\7A"+ "\2\2\u0625\u0113\3\2\2\2\u0626\u0627\7h\2\2\u0627\u0628\7J\2\2\u0628\u0629"+ "\5\u010c\u0087\2\u0629\u0115\3\2\2\2\u062a\u062b\7h\2\2\u062b\u062c\7"+ "J\2\2\u062c\u062d\5\u010e\u0088\2\u062d\u0117\3\2\2\2\u062e\u062f\5\u011a"+ "\u008e\2\u062f\u0630\7A\2\2\u0630\u0119\3\2\2\2\u0631\u0639\5\u01b0\u00d9"+ "\2\u0632\u0639\5\u01ce\u00e8\2\u0633\u0639\5\u01d0\u00e9\2\u0634\u0639"+ "\5\u01d6\u00ec\2\u0635\u0639\5\u01da\u00ee\2\u0636\u0639\5\u018e\u00c8"+ "\2\u0637\u0639\5\u017a\u00be\2\u0638\u0631\3\2\2\2\u0638\u0632\3\2\2\2"+ "\u0638\u0633\3\2\2\2\u0638\u0634\3\2\2\2\u0638\u0635\3\2\2\2\u0638\u0636"+ "\3\2\2\2\u0638\u0637\3\2\2\2\u0639\u011b\3\2\2\2\u063a\u063b\7\30\2\2"+ "\u063b\u063c\7;\2\2\u063c\u063d\5\u01a4\u00d3\2\u063d\u063e\7<\2\2\u063e"+ "\u063f\5\u010c\u0087\2\u063f\u011d\3\2\2\2\u0640\u0641\7\30\2\2\u0641"+ "\u0642\7;\2\2\u0642\u0643\5\u01a4\u00d3\2\u0643\u0644\7<\2\2\u0644\u0645"+ "\5\u010e\u0088\2\u0645\u0646\7\21\2\2\u0646\u0647\5\u010c\u0087\2\u0647"+ "\u011f\3\2\2\2\u0648\u0649\7\30\2\2\u0649\u064a\7;\2\2\u064a\u064b\5\u01a4"+ "\u00d3\2\u064b\u064c\7<\2\2\u064c\u064d\5\u010e\u0088\2\u064d\u064e\7"+ "\21\2\2\u064e\u064f\5\u010e\u0088\2\u064f\u0121\3\2\2\2\u0650\u0651\7"+ "\4\2\2\u0651\u0652\5\u01a4\u00d3\2\u0652\u0653\7A\2\2\u0653\u065b\3\2"+ "\2\2\u0654\u0655\7\4\2\2\u0655\u0656\5\u01a4\u00d3\2\u0656\u0657\7J\2"+ "\2\u0657\u0658\5\u01a4\u00d3\2\u0658\u0659\7A\2\2\u0659\u065b\3\2\2\2"+ "\u065a\u0650\3\2\2\2\u065a\u0654\3\2\2\2\u065b\u0123\3\2\2\2\u065c\u065d"+ "\7+\2\2\u065d\u065e\7;\2\2\u065e\u065f\5\u01a4\u00d3\2\u065f\u0660\7<"+ "\2\2\u0660\u0661\5\u0126\u0094\2\u0661\u0125\3\2\2\2\u0662\u0666\7=\2"+ "\2\u0663\u0665\5\u0128\u0095\2\u0664\u0663\3\2\2\2\u0665\u0668\3\2\2\2"+ "\u0666\u0664\3\2\2\2\u0666\u0667\3\2\2\2\u0667\u066c\3\2\2\2\u0668\u0666"+ "\3\2\2\2\u0669\u066b\5\u012c\u0097\2\u066a\u0669\3\2\2\2\u066b\u066e\3"+ "\2\2\2\u066c\u066a\3\2\2\2\u066c\u066d\3\2\2\2\u066d\u066f\3\2\2\2\u066e"+ "\u066c\3\2\2\2\u066f\u0670\7>\2\2\u0670\u0127\3\2\2\2\u0671\u0672\5\u012a"+ "\u0096\2\u0672\u0673\5\u0104\u0083\2\u0673\u0129\3\2\2\2\u0674\u0678\5"+ "\u012c\u0097\2\u0675\u0677\5\u012c\u0097\2\u0676\u0675\3\2\2\2\u0677\u067a"+ "\3\2\2\2\u0678\u0676\3\2\2\2\u0678\u0679\3\2\2\2\u0679\u012b\3\2\2\2\u067a"+ "\u0678\3\2\2\2\u067b\u067c\7\b\2\2\u067c\u067d\5\u01a2\u00d2\2\u067d\u067e"+ "\7J\2\2\u067e\u0686\3\2\2\2\u067f\u0680\7\b\2\2\u0680\u0681\5\u012e\u0098"+ "\2\u0681\u0682\7J\2\2\u0682\u0686\3\2\2\2\u0683\u0684\7\16\2\2\u0684\u0686"+ "\7J\2\2\u0685\u067b\3\2\2\2\u0685\u067f\3\2\2\2\u0685\u0683\3\2\2\2\u0686"+ "\u012d\3\2\2\2\u0687\u0688\7h\2\2\u0688\u012f\3\2\2\2\u0689\u068a\7\64"+ "\2\2\u068a\u068b\7;\2\2\u068b\u068c\5\u01a4\u00d3\2\u068c\u068d\7<\2\2"+ "\u068d\u068e\5\u010c\u0087\2\u068e\u0131\3\2\2\2\u068f\u0690\7\64\2\2"+ "\u0690\u0691\7;\2\2\u0691\u0692\5\u01a4\u00d3\2\u0692\u0693\7<\2\2\u0693"+ "\u0694\5\u010e\u0088\2\u0694\u0133\3\2\2\2\u0695\u0696\7\17\2\2\u0696"+ "\u0697\5\u010c\u0087\2\u0697\u0698\7\64\2\2\u0698\u0699\7;\2\2\u0699\u069a"+ "\5\u01a4\u00d3\2\u069a\u069b\7<\2\2\u069b\u069c\7A\2\2\u069c\u0135\3\2"+ "\2\2\u069d\u06a0\5\u013a\u009e\2\u069e\u06a0\5\u0144\u00a3\2\u069f\u069d"+ "\3\2\2\2\u069f\u069e\3\2\2\2\u06a0\u0137\3\2\2\2\u06a1\u06a4\5\u013c\u009f"+ "\2\u06a2\u06a4\5\u0146\u00a4\2\u06a3\u06a1\3\2\2\2\u06a3\u06a2\3\2\2\2"+ "\u06a4\u0139\3\2\2\2\u06a5\u06a6\7\27\2\2\u06a6\u06a8\7;\2\2\u06a7\u06a9"+ "\5\u013e\u00a0\2\u06a8\u06a7\3\2\2\2\u06a8\u06a9\3\2\2\2\u06a9\u06aa\3"+ "\2\2\2\u06aa\u06ac\7A\2\2\u06ab\u06ad\5\u01a4\u00d3\2\u06ac\u06ab\3\2"+ "\2\2\u06ac\u06ad\3\2\2\2\u06ad\u06ae\3\2\2\2\u06ae\u06b0\7A\2\2\u06af"+ "\u06b1\5\u0140\u00a1\2\u06b0\u06af\3\2\2\2\u06b0\u06b1\3\2\2\2\u06b1\u06b2"+ "\3\2\2\2\u06b2\u06b3\7<\2\2\u06b3\u06b4\5\u010c\u0087\2\u06b4\u013b\3"+ "\2\2\2\u06b5\u06b6\7\27\2\2\u06b6\u06b8\7;\2\2\u06b7\u06b9\5\u013e\u00a0"+ "\2\u06b8\u06b7\3\2\2\2\u06b8\u06b9\3\2\2\2\u06b9\u06ba\3\2\2\2\u06ba\u06bc"+ "\7A\2\2\u06bb\u06bd\5\u01a4\u00d3\2\u06bc\u06bb\3\2\2\2\u06bc\u06bd\3"+ "\2\2\2\u06bd\u06be\3\2\2\2\u06be\u06c0\7A\2\2\u06bf\u06c1\5\u0140\u00a1"+ "\2\u06c0\u06bf\3\2\2\2\u06c0\u06c1\3\2\2\2\u06c1\u06c2\3\2\2\2\u06c2\u06c3"+ "\7<\2\2\u06c3\u06c4\5\u010e\u0088\2\u06c4\u013d\3\2\2\2\u06c5\u06c8\5"+ "\u0142\u00a2\2\u06c6\u06c8\5\u010a\u0086\2\u06c7\u06c5\3\2\2\2\u06c7\u06c6"+ "\3\2\2\2\u06c8\u013f\3\2\2\2\u06c9\u06ca\5\u0142\u00a2\2\u06ca\u0141\3"+ "\2\2\2\u06cb\u06d0\5\u011a\u008e\2\u06cc\u06cd\7B\2\2\u06cd\u06cf\5\u011a"+ "\u008e\2\u06ce\u06cc\3\2\2\2\u06cf\u06d2\3\2\2\2\u06d0\u06ce\3\2\2\2\u06d0"+ "\u06d1\3\2\2\2\u06d1\u0143\3\2\2\2\u06d2\u06d0\3\2\2\2\u06d3\u06d4\7\27"+ "\2\2\u06d4\u06d8\7;\2\2\u06d5\u06d7\5\u00a2R\2\u06d6\u06d5\3\2\2\2\u06d7"+ "\u06da\3\2\2\2\u06d8\u06d6\3\2\2\2\u06d8\u06d9\3\2\2\2\u06d9\u06db\3\2"+ "\2\2\u06da\u06d8\3\2\2\2\u06db\u06dc\5z>\2\u06dc\u06dd\5v<\2\u06dd\u06de"+ "\7J\2\2\u06de\u06df\5\u01a4\u00d3\2\u06df\u06e0\7<\2\2\u06e0\u06e1\5\u010c"+ "\u0087\2\u06e1\u0145\3\2\2\2\u06e2\u06e3\7\27\2\2\u06e3\u06e7\7;\2\2\u06e4"+ "\u06e6\5\u00a2R\2\u06e5\u06e4\3\2\2\2\u06e6\u06e9\3\2\2\2\u06e7\u06e5"+ "\3\2\2\2\u06e7\u06e8\3\2\2\2\u06e8\u06ea\3\2\2\2\u06e9\u06e7\3\2\2\2\u06ea"+ "\u06eb\5z>\2\u06eb\u06ec\5v<\2\u06ec\u06ed\7J\2\2\u06ed\u06ee\5\u01a4"+ "\u00d3\2\u06ee\u06ef\7<\2\2\u06ef\u06f0\5\u010e\u0088\2\u06f0\u0147\3"+ "\2\2\2\u06f1\u06f3\7\6\2\2\u06f2\u06f4\7h\2\2\u06f3\u06f2\3\2\2\2\u06f3"+ "\u06f4\3\2\2\2\u06f4\u06f5\3\2\2\2\u06f5\u06f6\7A\2\2\u06f6\u0149\3\2"+ "\2\2\u06f7\u06f9\7\r\2\2\u06f8\u06fa\7h\2\2\u06f9\u06f8\3\2\2\2\u06f9"+ "\u06fa\3\2\2\2\u06fa\u06fb\3\2\2\2\u06fb\u06fc\7A\2\2\u06fc\u014b\3\2"+ "\2\2\u06fd\u06ff\7&\2\2\u06fe\u0700\5\u01a4\u00d3\2\u06ff\u06fe\3\2\2"+ "\2\u06ff\u0700\3\2\2\2\u0700\u0701\3\2\2\2\u0701\u0702\7A\2\2\u0702\u014d"+ "\3\2\2\2\u0703\u0704\7.\2\2\u0704\u0705\5\u01a4\u00d3\2\u0705\u0706\7"+ "A\2\2\u0706\u014f\3\2\2\2\u0707\u0708\7,\2\2\u0708\u0709\7;\2\2\u0709"+ "\u070a\5\u01a4\u00d3\2\u070a\u070b\7<\2\2\u070b\u070c\5\u0102\u0082\2"+ "\u070c\u0151\3\2\2\2\u070d\u070e\7\61\2\2\u070e\u070f\5\u0102\u0082\2"+ "\u070f\u0710\5\u0154\u00ab\2\u0710\u071a\3\2\2\2\u0711\u0712\7\61\2\2"+ "\u0712\u0714\5\u0102\u0082\2\u0713\u0715\5\u0154\u00ab\2\u0714\u0713\3"+ "\2\2\2\u0714\u0715\3\2\2\2\u0715\u0716\3\2\2\2\u0716\u0717\5\u015c\u00af"+ "\2\u0717\u071a\3\2\2\2\u0718\u071a\5\u015e\u00b0\2\u0719\u070d\3\2\2\2"+ "\u0719\u0711\3\2\2\2\u0719\u0718\3\2\2\2\u071a\u0153\3\2\2\2\u071b\u071f"+ "\5\u0156\u00ac\2\u071c\u071e\5\u0156\u00ac\2\u071d\u071c\3\2\2\2\u071e"+ "\u0721\3\2\2\2\u071f\u071d\3\2\2\2\u071f\u0720\3\2\2\2\u0720\u0155\3\2"+ "\2\2\u0721\u071f\3\2\2\2\u0722\u0723\7\t\2\2\u0723\u0724\7;\2\2\u0724"+ "\u0725\5\u0158\u00ad\2\u0725\u0726\7<\2\2\u0726\u0727\5\u0102\u0082\2"+ "\u0727\u0157\3\2\2\2\u0728\u072a\5\u00a2R\2\u0729\u0728\3\2\2\2\u072a"+ "\u072d\3\2\2\2\u072b\u0729\3\2\2\2\u072b\u072c\3\2\2\2\u072c\u072e\3\2"+ "\2\2\u072d\u072b\3\2\2\2\u072e\u072f\5\u015a\u00ae\2\u072f\u0730\5v<\2"+ "\u0730\u0159\3\2\2\2\u0731\u0736\5\u0082B\2\u0732\u0733\7X\2\2\u0733\u0735"+ "\5\22\n\2\u0734\u0732\3\2\2\2\u0735\u0738\3\2\2\2\u0736\u0734\3\2\2\2"+ "\u0736\u0737\3\2\2\2\u0737\u015b\3\2\2\2\u0738\u0736\3\2\2\2\u0739\u073a"+ "\7\25\2\2\u073a\u073b\5\u0102\u0082\2\u073b\u015d\3\2\2\2\u073c\u073d"+ "\7\61\2\2\u073d\u073e\5\u0160\u00b1\2\u073e\u0740\5\u0102\u0082\2\u073f"+ "\u0741\5\u0154\u00ab\2\u0740\u073f\3\2\2\2\u0740\u0741\3\2\2\2\u0741\u0743"+ "\3\2\2\2\u0742\u0744\5\u015c\u00af\2\u0743\u0742\3\2\2\2\u0743\u0744\3"+ "\2\2\2\u0744\u015f\3\2\2\2\u0745\u0746\7;\2\2\u0746\u0748\5\u0162\u00b2"+ "\2\u0747\u0749\7A\2\2\u0748\u0747\3\2\2\2\u0748\u0749\3\2\2\2\u0749\u074a"+ "\3\2\2\2\u074a\u074b\7<\2\2\u074b\u0161\3\2\2\2\u074c\u0751\5\u0164\u00b3"+ "\2\u074d\u074e\7A\2\2\u074e\u0750\5\u0164\u00b3\2\u074f\u074d\3\2\2\2"+ "\u0750\u0753\3\2\2\2\u0751\u074f\3\2\2\2\u0751\u0752\3\2\2\2\u0752\u0163"+ "\3\2\2\2\u0753\u0751\3\2\2\2\u0754\u0756\5\u00a2R\2\u0755\u0754\3\2\2"+ "\2\u0756\u0759\3\2\2\2\u0757\u0755\3\2\2\2\u0757\u0758\3\2\2\2\u0758\u075a"+ "\3\2\2\2\u0759\u0757\3\2\2\2\u075a\u075b\5z>\2\u075b\u075c\5v<\2\u075c"+ "\u075d\7D\2\2\u075d\u075e\5\u01a4\u00d3\2\u075e\u0165\3\2\2\2\u075f\u0762"+ "\5\u0174\u00bb\2\u0760\u0762\5\u019c\u00cf\2\u0761\u075f\3\2\2\2\u0761"+ "\u0760\3\2\2\2\u0762\u0766\3\2\2\2\u0763\u0765\5\u016e\u00b8\2\u0764\u0763"+ "\3\2\2\2\u0765\u0768\3\2\2\2\u0766\u0764\3\2\2\2\u0766\u0767\3\2\2\2\u0767"+ "\u0167\3\2\2\2\u0768\u0766\3\2\2\2\u0769\u0787\5\2\2\2\u076a\u076f\58"+ "\35\2\u076b\u076c\7?\2\2\u076c\u076e\7@\2\2\u076d\u076b\3\2\2\2\u076e"+ "\u0771\3\2\2\2\u076f\u076d\3\2\2\2\u076f\u0770\3\2\2\2\u0770\u0772\3\2"+ "\2\2\u0771\u076f\3\2\2\2\u0772\u0773\7C\2\2\u0773\u0774\7\13\2\2\u0774"+ "\u0787\3\2\2\2\u0775\u0776\7\62\2\2\u0776\u0777\7C\2\2\u0777\u0787\7\13"+ "\2\2\u0778\u0787\7-\2\2\u0779\u077a\58\35\2\u077a\u077b\7C\2\2\u077b\u077c"+ "\7-\2\2\u077c\u0787\3\2\2\2\u077d\u077e\7;\2\2\u077e\u077f\5\u01a4\u00d3"+ "\2\u077f\u0780\7<\2\2\u0780\u0787\3\2\2\2\u0781\u0787\5\u017a\u00be\2"+ "\u0782\u0787\5\u0182\u00c2\2\u0783\u0787\5\u0188\u00c5\2\u0784\u0787\5"+ "\u018e\u00c8\2\u0785\u0787\5\u0196\u00cc\2\u0786\u0769\3\2\2\2\u0786\u076a"+ "\3\2\2\2\u0786\u0775\3\2\2\2\u0786\u0778\3\2\2\2\u0786\u0779\3\2\2\2\u0786"+ "\u077d\3\2\2\2\u0786\u0781\3\2\2\2\u0786\u0782\3\2\2\2\u0786\u0783\3\2"+ "\2\2\u0786\u0784\3\2\2\2\u0786\u0785\3\2\2\2\u0787\u0169\3\2\2\2\u0788"+ "\u0789\3\2\2\2\u0789\u016b\3\2\2\2\u078a\u07a7\5\2\2\2\u078b\u0790\58"+ "\35\2\u078c\u078d\7?\2\2\u078d\u078f\7@\2\2\u078e\u078c\3\2\2\2\u078f"+ "\u0792\3\2\2\2\u0790\u078e\3\2\2\2\u0790\u0791\3\2\2\2\u0791\u0793\3\2"+ "\2\2\u0792\u0790\3\2\2\2\u0793\u0794\7C\2\2\u0794\u0795\7\13\2\2\u0795"+ "\u07a7\3\2\2\2\u0796\u0797\7\62\2\2\u0797\u0798\7C\2\2\u0798\u07a7\7\13"+ "\2\2\u0799\u07a7\7-\2\2\u079a\u079b\58\35\2\u079b\u079c\7C\2\2\u079c\u079d"+ "\7-\2\2\u079d\u07a7\3\2\2\2\u079e\u079f\7;\2\2\u079f\u07a0\5\u01a4\u00d3"+ "\2\u07a0\u07a1\7<\2\2\u07a1\u07a7\3\2\2\2\u07a2\u07a7\5\u017a\u00be\2"+ "\u07a3\u07a7\5\u0182\u00c2\2\u07a4\u07a7\5\u018e\u00c8\2\u07a5\u07a7\5"+ "\u0196\u00cc\2\u07a6\u078a\3\2\2\2\u07a6\u078b\3\2\2\2\u07a6\u0796\3\2"+ "\2\2\u07a6\u0799\3\2\2\2\u07a6\u079a\3\2\2\2\u07a6\u079e\3\2\2\2\u07a6"+ "\u07a2\3\2\2\2\u07a6\u07a3\3\2\2\2\u07a6\u07a4\3\2\2\2\u07a6\u07a5\3\2"+ "\2\2\u07a7\u016d\3\2\2\2\u07a8\u07ae\5\u017c\u00bf\2\u07a9\u07ae\5\u0184"+ "\u00c3\2\u07aa\u07ae\5\u018a\u00c6\2\u07ab\u07ae\5\u0190\u00c9\2\u07ac"+ "\u07ae\5\u0198\u00cd\2\u07ad\u07a8\3\2\2\2\u07ad\u07a9\3\2\2\2\u07ad\u07aa"+ "\3\2\2\2\u07ad\u07ab\3\2\2\2\u07ad\u07ac\3\2\2\2\u07ae\u016f\3\2\2\2\u07af"+ "\u07b0\3\2\2\2\u07b0\u0171\3\2\2\2\u07b1\u07b6\5\u017c\u00bf\2\u07b2\u07b6"+ "\5\u0184\u00c3\2\u07b3\u07b6\5\u0190\u00c9\2\u07b4\u07b6\5\u0198\u00cd"+ "\2\u07b5\u07b1\3\2\2\2\u07b5\u07b2\3\2\2\2\u07b5\u07b3\3\2\2\2\u07b5\u07b4"+ "\3\2\2\2\u07b6\u0173\3\2\2\2\u07b7\u07e0\5\2\2\2\u07b8\u07bd\58\35\2\u07b9"+ "\u07ba\7?\2\2\u07ba\u07bc\7@\2\2\u07bb\u07b9\3\2\2\2\u07bc\u07bf\3\2\2"+ "\2\u07bd\u07bb\3\2\2\2\u07bd\u07be\3\2\2\2\u07be\u07c0\3\2\2\2\u07bf\u07bd"+ "\3\2\2\2\u07c0\u07c1\7C\2\2\u07c1\u07c2\7\13\2\2\u07c2\u07e0\3\2\2\2\u07c3"+ "\u07c8\5|?\2\u07c4\u07c5\7?\2\2\u07c5\u07c7\7@\2\2\u07c6\u07c4\3\2\2\2"+ "\u07c7\u07ca\3\2\2\2\u07c8\u07c6\3\2\2\2\u07c8\u07c9\3\2\2\2\u07c9\u07cb"+ "\3\2\2\2\u07ca\u07c8\3\2\2\2\u07cb\u07cc\7C\2\2\u07cc\u07cd\7\13\2\2\u07cd"+ "\u07e0\3\2\2\2\u07ce\u07cf\7\62\2\2\u07cf\u07d0\7C\2\2\u07d0\u07e0\7\13"+ "\2\2\u07d1\u07e0\7-\2\2\u07d2\u07d3\58\35\2\u07d3\u07d4\7C\2\2\u07d4\u07d5"+ "\7-\2\2\u07d5\u07e0\3\2\2\2\u07d6\u07d7\7;\2\2\u07d7\u07d8\5\u01a4\u00d3"+ "\2\u07d8\u07d9\7<\2\2\u07d9\u07e0\3\2\2\2\u07da\u07e0\5\u017e\u00c0\2"+ "\u07db\u07e0\5\u0186\u00c4\2\u07dc\u07e0\5\u018c\u00c7\2\u07dd\u07e0\5"+ "\u0192\u00ca\2\u07de\u07e0\5\u019a\u00ce\2\u07df\u07b7\3\2\2\2\u07df\u07b8"+ "\3\2\2\2\u07df\u07c3\3\2\2\2\u07df\u07ce\3\2\2\2\u07df\u07d1\3\2\2\2\u07df"+ "\u07d2\3\2\2\2\u07df\u07d6\3\2\2\2\u07df\u07da\3\2\2\2\u07df\u07db\3\2"+ "\2\2\u07df\u07dc\3\2\2\2\u07df\u07dd\3\2\2\2\u07df\u07de\3\2\2\2\u07e0"+ "\u0175\3\2\2\2\u07e1\u07e2\3\2\2\2\u07e2\u0177\3\2\2\2\u07e3\u080b\5\2"+ "\2\2\u07e4\u07e9\58\35\2\u07e5\u07e6\7?\2\2\u07e6\u07e8\7@\2\2\u07e7\u07e5"+ "\3\2\2\2\u07e8\u07eb\3\2\2\2\u07e9\u07e7\3\2\2\2\u07e9\u07ea\3\2\2\2\u07ea"+ "\u07ec\3\2\2\2\u07eb\u07e9\3\2\2\2\u07ec\u07ed\7C\2\2\u07ed\u07ee\7\13"+ "\2\2\u07ee\u080b\3\2\2\2\u07ef\u07f4\5|?\2\u07f0\u07f1\7?\2\2\u07f1\u07f3"+ "\7@\2\2\u07f2\u07f0\3\2\2\2\u07f3\u07f6\3\2\2\2\u07f4\u07f2\3\2\2\2\u07f4"+ "\u07f5\3\2\2\2\u07f5\u07f7\3\2\2\2\u07f6\u07f4\3\2\2\2\u07f7\u07f8\7C"+ "\2\2\u07f8\u07f9\7\13\2\2\u07f9\u080b\3\2\2\2\u07fa\u07fb\7\62\2\2\u07fb"+ "\u07fc\7C\2\2\u07fc\u080b\7\13\2\2\u07fd\u080b\7-\2\2\u07fe\u07ff\58\35"+ "\2\u07ff\u0800\7C\2\2\u0800\u0801\7-\2\2\u0801\u080b\3\2\2\2\u0802\u0803"+ "\7;\2\2\u0803\u0804\5\u01a4\u00d3\2\u0804\u0805\7<\2\2\u0805\u080b\3\2"+ "\2\2\u0806\u080b\5\u017e\u00c0\2\u0807\u080b\5\u0186\u00c4\2\u0808\u080b"+ "\5\u0192\u00ca\2\u0809\u080b\5\u019a\u00ce\2\u080a\u07e3\3\2\2\2\u080a"+ "\u07e4\3\2\2\2\u080a\u07ef\3\2\2\2\u080a\u07fa\3\2\2\2\u080a\u07fd\3\2"+ "\2\2\u080a\u07fe\3\2\2\2\u080a\u0802\3\2\2\2\u080a\u0806\3\2\2\2\u080a"+ "\u0807\3\2\2\2\u080a\u0808\3\2\2\2\u080a\u0809\3\2\2\2\u080b\u0179\3\2"+ "\2\2\u080c\u080e\7!\2\2\u080d\u080f\5,\27\2\u080e\u080d\3\2\2\2\u080e"+ "\u080f\3\2\2\2\u080f\u0813\3\2\2\2\u0810\u0812\5\u00ecw\2\u0811\u0810"+ "\3\2\2\2\u0812\u0815\3\2\2\2\u0813\u0811\3\2\2\2\u0813\u0814\3\2\2\2\u0814"+ "\u0816\3\2\2\2\u0815\u0813\3\2\2\2\u0816\u0821\7h\2\2\u0817\u081b\7C\2"+ "\2\u0818\u081a\5\u00ecw\2\u0819\u0818\3\2\2\2\u081a\u081d\3\2\2\2\u081b"+ "\u0819\3\2\2\2\u081b\u081c\3\2\2\2\u081c\u081e\3\2\2\2\u081d\u081b\3\2"+ "\2\2\u081e\u0820\7h\2\2\u081f\u0817\3\2\2\2\u0820\u0823\3\2\2\2\u0821"+ "\u081f\3\2\2\2\u0821\u0822\3\2\2\2\u0822\u0825\3\2\2\2\u0823\u0821\3\2"+ "\2\2\u0824\u0826\5\u0180\u00c1\2\u0825\u0824\3\2\2\2\u0825\u0826\3\2\2"+ "\2\u0826\u0827\3\2\2\2\u0827\u0829\7;\2\2\u0828\u082a\5\u0194\u00cb\2"+ "\u0829\u0828\3\2\2\2\u0829\u082a\3\2\2\2\u082a\u082b\3\2\2\2\u082b\u082d"+ "\7<\2\2\u082c\u082e\5h\65\2\u082d\u082c\3\2\2\2\u082d\u082e\3\2\2\2\u082e"+ "\u0860\3\2\2\2\u082f\u0830\5<\37\2\u0830\u0831\7C\2\2\u0831\u0833\7!\2"+ "\2\u0832\u0834\5,\27\2\u0833\u0832\3\2\2\2\u0833\u0834\3\2\2\2\u0834\u0838"+ "\3\2\2\2\u0835\u0837\5\u00ecw\2\u0836\u0835\3\2\2\2\u0837\u083a\3\2\2"+ "\2\u0838\u0836\3\2\2\2\u0838\u0839\3\2\2\2\u0839\u083b\3\2\2\2\u083a\u0838"+ "\3\2\2\2\u083b\u083d\7h\2\2\u083c\u083e\5\u0180\u00c1\2\u083d\u083c\3"+ "\2\2\2\u083d\u083e\3\2\2\2\u083e\u083f\3\2\2\2\u083f\u0841\7;\2\2\u0840"+ "\u0842\5\u0194\u00cb\2\u0841\u0840\3\2\2\2\u0841\u0842\3\2\2\2\u0842\u0843"+ "\3\2\2\2\u0843\u0845\7<\2\2\u0844\u0846\5h\65\2\u0845\u0844\3\2\2\2\u0845"+ "\u0846\3\2\2\2\u0846\u0860\3\2\2\2\u0847\u0848\5\u0166\u00b4\2\u0848\u0849"+ "\7C\2\2\u0849\u084b\7!\2\2\u084a\u084c\5,\27\2\u084b\u084a\3\2\2\2\u084b"+ "\u084c\3\2\2\2\u084c\u0850\3\2\2\2\u084d\u084f\5\u00ecw\2\u084e\u084d"+ "\3\2\2\2\u084f\u0852\3\2\2\2\u0850\u084e\3\2\2\2\u0850\u0851\3\2\2\2\u0851"+ "\u0853\3\2\2\2\u0852\u0850\3\2\2\2\u0853\u0855\7h\2\2\u0854\u0856\5\u0180"+ "\u00c1\2\u0855\u0854\3\2\2\2\u0855\u0856\3\2\2\2\u0856\u0857\3\2\2\2\u0857"+ "\u0859\7;\2\2\u0858\u085a\5\u0194\u00cb\2\u0859\u0858\3\2\2\2\u0859\u085a"+ "\3\2\2\2\u085a\u085b\3\2\2\2\u085b\u085d\7<\2\2\u085c\u085e\5h\65\2\u085d"+ "\u085c\3\2\2\2\u085d\u085e\3\2\2\2\u085e\u0860\3\2\2\2\u085f\u080c\3\2"+ "\2\2\u085f\u082f\3\2\2\2\u085f\u0847\3\2\2\2\u0860\u017b\3\2\2\2\u0861"+ "\u0862\7C\2\2\u0862\u0864\7!\2\2\u0863\u0865\5,\27\2\u0864\u0863\3\2\2"+ "\2\u0864\u0865\3\2\2\2\u0865\u0869\3\2\2\2\u0866\u0868\5\u00ecw\2\u0867"+ "\u0866\3\2\2\2\u0868\u086b\3\2\2\2\u0869\u0867\3\2\2\2\u0869\u086a\3\2"+ "\2\2\u086a\u086c\3\2\2\2\u086b\u0869\3\2\2\2\u086c\u086e\7h\2\2\u086d"+ "\u086f\5\u0180\u00c1\2\u086e\u086d\3\2\2\2\u086e\u086f\3\2\2\2\u086f\u0870"+ "\3\2\2\2\u0870\u0872\7;\2\2\u0871\u0873\5\u0194\u00cb\2\u0872\u0871\3"+ "\2\2\2\u0872\u0873\3\2\2\2\u0873\u0874\3\2\2\2\u0874\u0876\7<\2\2\u0875"+ "\u0877\5h\65\2\u0876\u0875\3\2\2\2\u0876\u0877\3\2\2\2\u0877\u017d\3\2"+ "\2\2\u0878\u087a\7!\2\2\u0879\u087b\5,\27\2\u087a\u0879\3\2\2\2\u087a"+ "\u087b\3\2\2\2\u087b\u087f\3\2\2\2\u087c\u087e\5\u00ecw\2\u087d\u087c"+ "\3\2\2\2\u087e\u0881\3\2\2\2\u087f\u087d\3\2\2\2\u087f\u0880\3\2\2\2\u0880"+ "\u0882\3\2\2\2\u0881\u087f\3\2\2\2\u0882\u088d\7h\2\2\u0883\u0887\7C\2"+ "\2\u0884\u0886\5\u00ecw\2\u0885\u0884\3\2\2\2\u0886\u0889\3\2\2\2\u0887"+ "\u0885\3\2\2\2\u0887\u0888\3\2\2\2\u0888\u088a\3\2\2\2\u0889\u0887\3\2"+ "\2\2\u088a\u088c\7h\2\2\u088b\u0883\3\2\2\2\u088c\u088f\3\2\2\2\u088d"+ "\u088b\3\2\2\2\u088d\u088e\3\2\2\2\u088e\u0891\3\2\2\2\u088f\u088d\3\2"+ "\2\2\u0890\u0892\5\u0180\u00c1\2\u0891\u0890\3\2\2\2\u0891\u0892\3\2\2"+ "\2\u0892\u0893\3\2\2\2\u0893\u0895\7;\2\2\u0894\u0896\5\u0194\u00cb\2"+ "\u0895\u0894\3\2\2\2\u0895\u0896\3\2\2\2\u0896\u0897\3\2\2\2\u0897\u0899"+ "\7<\2\2\u0898\u089a\5h\65\2\u0899\u0898\3\2\2\2\u0899\u089a\3\2\2\2\u089a"+ "\u08b4\3\2\2\2\u089b\u089c\5<\37\2\u089c\u089d\7C\2\2\u089d\u089f\7!\2"+ "\2\u089e\u08a0\5,\27\2\u089f\u089e\3\2\2\2\u089f\u08a0\3\2\2\2\u08a0\u08a4"+ "\3\2\2\2\u08a1\u08a3\5\u00ecw\2\u08a2\u08a1\3\2\2\2\u08a3\u08a6\3\2\2"+ "\2\u08a4\u08a2\3\2\2\2\u08a4\u08a5\3\2\2\2\u08a5\u08a7\3\2\2\2\u08a6\u08a4"+ "\3\2\2\2\u08a7\u08a9\7h\2\2\u08a8\u08aa\5\u0180\u00c1\2\u08a9\u08a8\3"+ "\2\2\2\u08a9\u08aa\3\2\2\2\u08aa\u08ab\3\2\2\2\u08ab\u08ad\7;\2\2\u08ac"+ "\u08ae\5\u0194\u00cb\2\u08ad\u08ac\3\2\2\2\u08ad\u08ae\3\2\2\2\u08ae\u08af"+ "\3\2\2\2\u08af\u08b1\7<\2\2\u08b0\u08b2\5h\65\2\u08b1\u08b0\3\2\2\2\u08b1"+ "\u08b2\3\2\2\2\u08b2\u08b4\3\2\2\2\u08b3\u0878\3\2\2\2\u08b3\u089b\3\2"+ "\2\2\u08b4\u017f\3\2\2\2\u08b5\u08b9\5,\27\2\u08b6\u08b7\7F\2\2\u08b7"+ "\u08b9\7E\2\2\u08b8\u08b5\3\2\2\2\u08b8\u08b6\3\2\2\2\u08b9\u0181\3\2"+ "\2\2\u08ba\u08bb\5\u0166\u00b4\2\u08bb\u08bc\7C\2\2\u08bc\u08bd\7h\2\2"+ "\u08bd\u08c8\3\2\2\2\u08be\u08bf\7*\2\2\u08bf\u08c0\7C\2\2\u08c0\u08c8"+ "\7h\2\2\u08c1\u08c2\58\35\2\u08c2\u08c3\7C\2\2\u08c3\u08c4\7*\2\2\u08c4"+ "\u08c5\7C\2\2\u08c5\u08c6\7h\2\2\u08c6\u08c8\3\2\2\2\u08c7\u08ba\3\2\2"+ "\2\u08c7\u08be\3\2\2\2\u08c7\u08c1\3\2\2\2\u08c8\u0183\3\2\2\2\u08c9\u08ca"+ "\7C\2\2\u08ca\u08cb\7h\2\2\u08cb\u0185\3\2\2\2\u08cc\u08cd\7*\2\2\u08cd"+ "\u08ce\7C\2\2\u08ce\u08d6\7h\2\2\u08cf\u08d0\58\35\2\u08d0\u08d1\7C\2"+ "\2\u08d1\u08d2\7*\2\2\u08d2\u08d3\7C\2\2\u08d3\u08d4\7h\2\2\u08d4\u08d6"+ "\3\2\2\2\u08d5\u08cc\3\2\2\2\u08d5\u08cf\3\2\2\2\u08d6\u0187\3\2\2\2\u08d7"+ "\u08d8\5<\37\2\u08d8\u08d9\7?\2\2\u08d9\u08da\5\u01a4\u00d3\2\u08da\u08db"+ "\7@\2\2\u08db\u08e2\3\2\2\2\u08dc\u08dd\5\u016c\u00b7\2\u08dd\u08de\7"+ "?\2\2\u08de\u08df\5\u01a4\u00d3\2\u08df\u08e0\7@\2\2\u08e0\u08e2\3\2\2"+ "\2\u08e1\u08d7\3\2\2\2\u08e1\u08dc\3\2\2\2\u08e2\u08ea\3\2\2\2\u08e3\u08e4"+ "\5\u016a\u00b6\2\u08e4\u08e5\7?\2\2\u08e5\u08e6\5\u01a4\u00d3\2\u08e6"+ "\u08e7\7@\2\2\u08e7\u08e9\3\2\2\2\u08e8\u08e3\3\2\2\2\u08e9\u08ec\3\2"+ "\2\2\u08ea\u08e8\3\2\2\2\u08ea\u08eb\3\2\2\2\u08eb\u0189\3\2\2\2\u08ec"+ "\u08ea\3\2\2\2\u08ed\u08ee\5\u0172\u00ba\2\u08ee\u08ef\7?\2\2\u08ef\u08f0"+ "\5\u01a4\u00d3\2\u08f0\u08f1\7@\2\2\u08f1\u08f9\3\2\2\2\u08f2\u08f3\5"+ "\u0170\u00b9\2\u08f3\u08f4\7?\2\2\u08f4\u08f5\5\u01a4\u00d3\2\u08f5\u08f6"+ "\7@\2\2\u08f6\u08f8\3\2\2\2\u08f7\u08f2\3\2\2\2\u08f8\u08fb\3\2\2\2\u08f9"+ "\u08f7\3\2\2\2\u08f9\u08fa\3\2\2\2\u08fa\u018b\3\2\2\2\u08fb\u08f9\3\2"+ "\2\2\u08fc\u08fd\5<\37\2\u08fd\u08fe\7?\2\2\u08fe\u08ff\5\u01a4\u00d3"+ "\2\u08ff\u0900\7@\2\2\u0900\u0907\3\2\2\2\u0901\u0902\5\u0178\u00bd\2"+ "\u0902\u0903\7?\2\2\u0903\u0904\5\u01a4\u00d3\2\u0904\u0905\7@\2\2\u0905"+ "\u0907\3\2\2\2\u0906\u08fc\3\2\2\2\u0906\u0901\3\2\2\2\u0907\u090f\3\2"+ "\2\2\u0908\u0909\5\u0176\u00bc\2\u0909\u090a\7?\2\2\u090a\u090b\5\u01a4"+ "\u00d3\2\u090b\u090c\7@\2\2\u090c\u090e\3\2\2\2\u090d\u0908\3\2\2\2\u090e"+ "\u0911\3\2\2\2\u090f\u090d\3\2\2\2\u090f\u0910\3\2\2\2\u0910\u018d\3\2"+ "\2\2\u0911\u090f\3\2\2\2\u0912\u0913\5> \2\u0913\u0915\7;\2\2\u0914\u0916"+ "\5\u0194\u00cb\2\u0915\u0914\3\2\2\2\u0915\u0916\3\2\2\2\u0916\u0917\3"+ "\2\2\2\u0917\u0918\7<\2\2\u0918\u0957\3\2\2\2\u0919\u091a\58\35\2\u091a"+ "\u091c\7C\2\2\u091b\u091d\5,\27\2\u091c\u091b\3\2\2\2\u091c\u091d\3\2"+ "\2\2\u091d\u091e\3\2\2\2\u091e\u091f\7h\2\2\u091f\u0921\7;\2\2\u0920\u0922"+ "\5\u0194\u00cb\2\u0921\u0920\3\2\2\2\u0921\u0922\3\2\2\2\u0922\u0923\3"+ "\2\2\2\u0923\u0924\7<\2\2\u0924\u0957\3\2\2\2\u0925\u0926\5<\37\2\u0926"+ "\u0928\7C\2\2\u0927\u0929\5,\27\2\u0928\u0927\3\2\2\2\u0928\u0929\3\2"+ "\2\2\u0929\u092a\3\2\2\2\u092a\u092b\7h\2\2\u092b\u092d\7;\2\2\u092c\u092e"+ "\5\u0194\u00cb\2\u092d\u092c\3\2\2\2\u092d\u092e\3\2\2\2\u092e\u092f\3"+ "\2\2\2\u092f\u0930\7<\2\2\u0930\u0957\3\2\2\2\u0931\u0932\5\u0166\u00b4"+ "\2\u0932\u0934\7C\2\2\u0933\u0935\5,\27\2\u0934\u0933\3\2\2\2\u0934\u0935"+ "\3\2\2\2\u0935\u0936\3\2\2\2\u0936\u0937\7h\2\2\u0937\u0939\7;\2\2\u0938"+ "\u093a\5\u0194\u00cb\2\u0939\u0938\3\2\2\2\u0939\u093a\3\2\2\2\u093a\u093b"+ "\3\2\2\2\u093b\u093c\7<\2\2\u093c\u0957\3\2\2\2\u093d\u093e\7*\2\2\u093e"+ "\u0940\7C\2\2\u093f\u0941\5,\27\2\u0940\u093f\3\2\2\2\u0940\u0941\3\2"+ "\2\2\u0941\u0942\3\2\2\2\u0942\u0943\7h\2\2\u0943\u0945\7;\2\2\u0944\u0946"+ "\5\u0194\u00cb\2\u0945\u0944\3\2\2\2\u0945\u0946\3\2\2\2\u0946\u0947\3"+ "\2\2\2\u0947\u0957\7<\2\2\u0948\u0949\58\35\2\u0949\u094a\7C\2\2\u094a"+ "\u094b\7*\2\2\u094b\u094d\7C\2\2\u094c\u094e\5,\27\2\u094d\u094c\3\2\2"+ "\2\u094d\u094e\3\2\2\2\u094e\u094f\3\2\2\2\u094f\u0950\7h\2\2\u0950\u0952"+ "\7;\2\2\u0951\u0953\5\u0194\u00cb\2\u0952\u0951\3\2\2\2\u0952\u0953\3"+ "\2\2\2\u0953\u0954\3\2\2\2\u0954\u0955\7<\2\2\u0955\u0957\3\2\2\2\u0956"+ "\u0912\3\2\2\2\u0956\u0919\3\2\2\2\u0956\u0925\3\2\2\2\u0956\u0931\3\2"+ "\2\2\u0956\u093d\3\2\2\2\u0956\u0948\3\2\2\2\u0957\u018f\3\2\2\2\u0958"+ "\u095a\7C\2\2\u0959\u095b\5,\27\2\u095a\u0959\3\2\2\2\u095a\u095b\3\2"+ "\2\2\u095b\u095c\3\2\2\2\u095c\u095d\7h\2\2\u095d\u095f\7;\2\2\u095e\u0960"+ "\5\u0194\u00cb\2\u095f\u095e\3\2\2\2\u095f\u0960\3\2\2\2\u0960\u0961\3"+ "\2\2\2\u0961\u0962\7<\2\2\u0962\u0191\3\2\2\2\u0963\u0964\5"; private static final String _serializedATNSegment1 = "> \2\u0964\u0966\7;\2\2\u0965\u0967\5\u0194\u00cb\2\u0966\u0965\3\2\2"+ "\2\u0966\u0967\3\2\2\2\u0967\u0968\3\2\2\2\u0968\u0969\7<\2\2\u0969\u099c"+ "\3\2\2\2\u096a\u096b\58\35\2\u096b\u096d\7C\2\2\u096c\u096e\5,\27\2\u096d"+ "\u096c\3\2\2\2\u096d\u096e\3\2\2\2\u096e\u096f\3\2\2\2\u096f\u0970\7h"+ "\2\2\u0970\u0972\7;\2\2\u0971\u0973\5\u0194\u00cb\2\u0972\u0971\3\2\2"+ "\2\u0972\u0973\3\2\2\2\u0973\u0974\3\2\2\2\u0974\u0975\7<\2\2\u0975\u099c"+ "\3\2\2\2\u0976\u0977\5<\37\2\u0977\u0979\7C\2\2\u0978\u097a\5,\27\2\u0979"+ "\u0978\3\2\2\2\u0979\u097a\3\2\2\2\u097a\u097b\3\2\2\2\u097b\u097c\7h"+ "\2\2\u097c\u097e\7;\2\2\u097d\u097f\5\u0194\u00cb\2\u097e\u097d\3\2\2"+ "\2\u097e\u097f\3\2\2\2\u097f\u0980\3\2\2\2\u0980\u0981\7<\2\2\u0981\u099c"+ "\3\2\2\2\u0982\u0983\7*\2\2\u0983\u0985\7C\2\2\u0984\u0986\5,\27\2\u0985"+ "\u0984\3\2\2\2\u0985\u0986\3\2\2\2\u0986\u0987\3\2\2\2\u0987\u0988\7h"+ "\2\2\u0988\u098a\7;\2\2\u0989\u098b\5\u0194\u00cb\2\u098a\u0989\3\2\2"+ "\2\u098a\u098b\3\2\2\2\u098b\u098c\3\2\2\2\u098c\u099c\7<\2\2\u098d\u098e"+ "\58\35\2\u098e\u098f\7C\2\2\u098f\u0990\7*\2\2\u0990\u0992\7C\2\2\u0991"+ "\u0993\5,\27\2\u0992\u0991\3\2\2\2\u0992\u0993\3\2\2\2\u0993\u0994\3\2"+ "\2\2\u0994\u0995\7h\2\2\u0995\u0997\7;\2\2\u0996\u0998\5\u0194\u00cb\2"+ "\u0997\u0996\3\2\2\2\u0997\u0998\3\2\2\2\u0998\u0999\3\2\2\2\u0999\u099a"+ "\7<\2\2\u099a\u099c\3\2\2\2\u099b\u0963\3\2\2\2\u099b\u096a\3\2\2\2\u099b"+ "\u0976\3\2\2\2\u099b\u0982\3\2\2\2\u099b\u098d\3\2\2\2\u099c\u0193\3\2"+ "\2\2\u099d\u09a2\5\u01a4\u00d3\2\u099e\u099f\7B\2\2\u099f\u09a1\5\u01a4"+ "\u00d3\2\u09a0\u099e\3\2\2\2\u09a1\u09a4\3\2\2\2\u09a2\u09a0\3\2\2\2\u09a2"+ "\u09a3\3\2\2\2\u09a3\u0195\3\2\2\2\u09a4\u09a2\3\2\2\2\u09a5\u09a6\5<"+ "\37\2\u09a6\u09a8\7\\\2\2\u09a7\u09a9\5,\27\2\u09a8\u09a7\3\2\2\2\u09a8"+ "\u09a9\3\2\2\2\u09a9\u09aa\3\2\2\2\u09aa\u09ab\7h\2\2\u09ab\u09d5\3\2"+ "\2\2\u09ac\u09ad\5\16\b\2\u09ad\u09af\7\\\2\2\u09ae\u09b0\5,\27\2\u09af"+ "\u09ae\3\2\2\2\u09af\u09b0\3\2\2\2\u09b0\u09b1\3\2\2\2\u09b1\u09b2\7h"+ "\2\2\u09b2\u09d5\3\2\2\2\u09b3\u09b4\5\u0166\u00b4\2\u09b4\u09b6\7\\\2"+ "\2\u09b5\u09b7\5,\27\2\u09b6\u09b5\3\2\2\2\u09b6\u09b7\3\2\2\2\u09b7\u09b8"+ "\3\2\2\2\u09b8\u09b9\7h\2\2\u09b9\u09d5\3\2\2\2\u09ba\u09bb\7*\2\2\u09bb"+ "\u09bd\7\\\2\2\u09bc\u09be\5,\27\2\u09bd\u09bc\3\2\2\2\u09bd\u09be\3\2"+ "\2\2\u09be\u09bf\3\2\2\2\u09bf\u09d5\7h\2\2\u09c0\u09c1\58\35\2\u09c1"+ "\u09c2\7C\2\2\u09c2\u09c3\7*\2\2\u09c3\u09c5\7\\\2\2\u09c4\u09c6\5,\27"+ "\2\u09c5\u09c4\3\2\2\2\u09c5\u09c6\3\2\2\2\u09c6\u09c7\3\2\2\2\u09c7\u09c8"+ "\7h\2\2\u09c8\u09d5\3\2\2\2\u09c9\u09ca\5\22\n\2\u09ca\u09cc\7\\\2\2\u09cb"+ "\u09cd\5,\27\2\u09cc\u09cb\3\2\2\2\u09cc\u09cd\3\2\2\2\u09cd\u09ce\3\2"+ "\2\2\u09ce\u09cf\7!\2\2\u09cf\u09d5\3\2\2\2\u09d0\u09d1\5 \21\2\u09d1"+ "\u09d2\7\\\2\2\u09d2\u09d3\7!\2\2\u09d3\u09d5\3\2\2\2\u09d4\u09a5\3\2"+ "\2\2\u09d4\u09ac\3\2\2\2\u09d4\u09b3\3\2\2\2\u09d4\u09ba\3\2\2\2\u09d4"+ "\u09c0\3\2\2\2\u09d4\u09c9\3\2\2\2\u09d4\u09d0\3\2\2\2\u09d5\u0197\3\2"+ "\2\2\u09d6\u09d8\7\\\2\2\u09d7\u09d9\5,\27\2\u09d8\u09d7\3\2\2\2\u09d8"+ "\u09d9\3\2\2\2\u09d9\u09da\3\2\2\2\u09da\u09db\7h\2\2\u09db\u0199\3\2"+ "\2\2\u09dc\u09dd\5<\37\2\u09dd\u09df\7\\\2\2\u09de\u09e0\5,\27\2\u09df"+ "\u09de\3\2\2\2\u09df\u09e0\3\2\2\2\u09e0\u09e1\3\2\2\2\u09e1\u09e2\7h"+ "\2\2\u09e2\u0a05\3\2\2\2\u09e3\u09e4\5\16\b\2\u09e4\u09e6\7\\\2\2\u09e5"+ "\u09e7\5,\27\2\u09e6\u09e5\3\2\2\2\u09e6\u09e7\3\2\2\2\u09e7\u09e8\3\2"+ "\2\2\u09e8\u09e9\7h\2\2\u09e9\u0a05\3\2\2\2\u09ea\u09eb\7*\2\2\u09eb\u09ed"+ "\7\\\2\2\u09ec\u09ee\5,\27\2\u09ed\u09ec\3\2\2\2\u09ed\u09ee\3\2\2\2\u09ee"+ "\u09ef\3\2\2\2\u09ef\u0a05\7h\2\2\u09f0\u09f1\58\35\2\u09f1\u09f2\7C\2"+ "\2\u09f2\u09f3\7*\2\2\u09f3\u09f5\7\\\2\2\u09f4\u09f6\5,\27\2\u09f5\u09f4"+ "\3\2\2\2\u09f5\u09f6\3\2\2\2\u09f6\u09f7\3\2\2\2\u09f7\u09f8\7h\2\2\u09f8"+ "\u0a05\3\2\2\2\u09f9\u09fa\5\22\n\2\u09fa\u09fc\7\\\2\2\u09fb\u09fd\5"+ ",\27\2\u09fc\u09fb\3\2\2\2\u09fc\u09fd\3\2\2\2\u09fd\u09fe\3\2\2\2\u09fe"+ "\u09ff\7!\2\2\u09ff\u0a05\3\2\2\2\u0a00\u0a01\5 \21\2\u0a01\u0a02\7\\"+ "\2\2\u0a02\u0a03\7!\2\2\u0a03\u0a05\3\2\2\2\u0a04\u09dc\3\2\2\2\u0a04"+ "\u09e3\3\2\2\2\u0a04\u09ea\3\2\2\2\u0a04\u09f0\3\2\2\2\u0a04\u09f9\3\2"+ "\2\2\u0a04\u0a00\3\2\2\2\u0a05\u019b\3\2\2\2\u0a06\u0a07\7!\2\2\u0a07"+ "\u0a08\5\6\4\2\u0a08\u0a0a\5\u019e\u00d0\2\u0a09\u0a0b\5\"\22\2\u0a0a"+ "\u0a09\3\2\2\2\u0a0a\u0a0b\3\2\2\2\u0a0b\u0a1d\3\2\2\2\u0a0c\u0a0d\7!"+ "\2\2\u0a0d\u0a0e\5\20\t\2\u0a0e\u0a10\5\u019e\u00d0\2\u0a0f\u0a11\5\""+ "\22\2\u0a10\u0a0f\3\2\2\2\u0a10\u0a11\3\2\2\2\u0a11\u0a1d\3\2\2\2\u0a12"+ "\u0a13\7!\2\2\u0a13\u0a14\5\6\4\2\u0a14\u0a15\5\"\22\2\u0a15\u0a16\5\u00fe"+ "\u0080\2\u0a16\u0a1d\3\2\2\2\u0a17\u0a18\7!\2\2\u0a18\u0a19\5\20\t\2\u0a19"+ "\u0a1a\5\"\22\2\u0a1a\u0a1b\5\u00fe\u0080\2\u0a1b\u0a1d\3\2\2\2\u0a1c"+ "\u0a06\3\2\2\2\u0a1c\u0a0c\3\2\2\2\u0a1c\u0a12\3\2\2\2\u0a1c\u0a17\3\2"+ "\2\2\u0a1d\u019d\3\2\2\2\u0a1e\u0a22\5\u01a0\u00d1\2\u0a1f\u0a21\5\u01a0"+ "\u00d1\2\u0a20\u0a1f\3\2\2\2\u0a21\u0a24\3\2\2\2\u0a22\u0a20\3\2\2\2\u0a22"+ "\u0a23\3\2\2\2\u0a23\u019f\3\2\2\2\u0a24\u0a22\3\2\2\2\u0a25\u0a27\5\u00ec"+ "w\2\u0a26\u0a25\3\2\2\2\u0a27\u0a2a\3\2\2\2\u0a28\u0a26\3\2\2\2\u0a28"+ "\u0a29\3\2\2\2\u0a29\u0a2b\3\2\2\2\u0a2a\u0a28\3\2\2\2\u0a2b\u0a2c\7?"+ "\2\2\u0a2c\u0a2d\5\u01a4\u00d3\2\u0a2d\u0a2e\7@\2\2\u0a2e\u01a1\3\2\2"+ "\2\u0a2f\u0a30\5\u01a4\u00d3\2\u0a30\u01a3\3\2\2\2\u0a31\u0a34\5\u01a6"+ "\u00d4\2\u0a32\u0a34\5\u01ae\u00d8\2\u0a33\u0a31\3\2\2\2\u0a33\u0a32\3"+ "\2\2\2\u0a34\u01a5\3\2\2\2\u0a35\u0a36\5\u01a8\u00d5\2\u0a36\u0a37\7["+ "\2\2\u0a37\u0a38\5\u01ac\u00d7\2\u0a38\u01a7\3\2\2\2\u0a39\u0a44\7h\2"+ "\2\u0a3a\u0a3c\7;\2\2\u0a3b\u0a3d\5\u009cO\2\u0a3c\u0a3b\3\2\2\2\u0a3c"+ "\u0a3d\3\2\2\2\u0a3d\u0a3e\3\2\2\2\u0a3e\u0a44\7<\2\2\u0a3f\u0a40\7;\2"+ "\2\u0a40\u0a41\5\u01aa\u00d6\2\u0a41\u0a42\7<\2\2\u0a42\u0a44\3\2\2\2"+ "\u0a43\u0a39\3\2\2\2\u0a43\u0a3a\3\2\2\2\u0a43\u0a3f\3\2\2\2\u0a44\u01a9"+ "\3\2\2\2\u0a45\u0a4a\7h\2\2\u0a46\u0a47\7B\2\2\u0a47\u0a49\7h\2\2\u0a48"+ "\u0a46\3\2\2\2\u0a49\u0a4c\3\2\2\2\u0a4a\u0a48\3\2\2\2\u0a4a\u0a4b\3\2"+ "\2\2\u0a4b\u01ab\3\2\2\2\u0a4c\u0a4a\3\2\2\2\u0a4d\u0a50\5\u01a4\u00d3"+ "\2\u0a4e\u0a50\5\u0102\u0082\2\u0a4f\u0a4d\3\2\2\2\u0a4f\u0a4e\3\2\2\2"+ "\u0a50\u01ad\3\2\2\2\u0a51\u0a54\5\u01b6\u00dc\2\u0a52\u0a54\5\u01b0\u00d9"+ "\2\u0a53\u0a51\3\2\2\2\u0a53\u0a52\3\2\2\2\u0a54\u01af\3\2\2\2\u0a55\u0a56"+ "\5\u01b2\u00da\2\u0a56\u0a57\5\u01b4\u00db\2\u0a57\u0a58\5\u01a4\u00d3"+ "\2\u0a58\u01b1\3\2\2\2\u0a59\u0a5d\5<\37\2\u0a5a\u0a5d\5\u0182\u00c2\2"+ "\u0a5b\u0a5d\5\u0188\u00c5\2\u0a5c\u0a59\3\2\2\2\u0a5c\u0a5a\3\2\2\2\u0a5c"+ "\u0a5b\3\2\2\2\u0a5d\u01b3\3\2\2\2\u0a5e\u0a5f\t\5\2\2\u0a5f\u01b5\3\2"+ "\2\2\u0a60\u0a68\5\u01b8\u00dd\2\u0a61\u0a62\5\u01b8\u00dd\2\u0a62\u0a63"+ "\7I\2\2\u0a63\u0a64\5\u01a4\u00d3\2\u0a64\u0a65\7J\2\2\u0a65\u0a66\5\u01b6"+ "\u00dc\2\u0a66\u0a68\3\2\2\2\u0a67\u0a60\3\2\2\2\u0a67\u0a61\3\2\2\2\u0a68"+ "\u01b7\3\2\2\2\u0a69\u0a6a\b\u00dd\1\2\u0a6a\u0a6b\5\u01ba\u00de\2\u0a6b"+ "\u0a71\3\2\2\2\u0a6c\u0a6d\f\3\2\2\u0a6d\u0a6e\7P\2\2\u0a6e\u0a70\5\u01ba"+ "\u00de\2\u0a6f\u0a6c\3\2\2\2\u0a70\u0a73\3\2\2\2\u0a71\u0a6f\3\2\2\2\u0a71"+ "\u0a72\3\2\2\2\u0a72\u01b9\3\2\2\2\u0a73\u0a71\3\2\2\2\u0a74\u0a75\b\u00de"+ "\1\2\u0a75\u0a76\5\u01bc\u00df\2\u0a76\u0a7c\3\2\2\2\u0a77\u0a78\f\3\2"+ "\2\u0a78\u0a79\7O\2\2\u0a79\u0a7b\5\u01bc\u00df\2\u0a7a\u0a77\3\2\2\2"+ "\u0a7b\u0a7e\3\2\2\2\u0a7c\u0a7a\3\2\2\2\u0a7c\u0a7d\3\2\2\2\u0a7d\u01bb"+ "\3\2\2\2\u0a7e\u0a7c\3\2\2\2\u0a7f\u0a80\b\u00df\1\2\u0a80\u0a81\5\u01be"+ "\u00e0\2\u0a81\u0a87\3\2\2\2\u0a82\u0a83\f\3\2\2\u0a83\u0a84\7X\2\2\u0a84"+ "\u0a86\5\u01be\u00e0\2\u0a85\u0a82\3\2\2\2\u0a86\u0a89\3\2\2\2\u0a87\u0a85"+ "\3\2\2\2\u0a87\u0a88\3\2\2\2\u0a88\u01bd\3\2\2\2\u0a89\u0a87\3\2\2\2\u0a8a"+ "\u0a8b\b\u00e0\1\2\u0a8b\u0a8c\5\u01c0\u00e1\2\u0a8c\u0a92\3\2\2\2\u0a8d"+ "\u0a8e\f\3\2\2\u0a8e\u0a8f\7Y\2\2\u0a8f\u0a91\5\u01c0\u00e1\2\u0a90\u0a8d"+ "\3\2\2\2\u0a91\u0a94\3\2\2\2\u0a92\u0a90\3\2\2\2\u0a92\u0a93\3\2\2\2\u0a93"+ "\u01bf\3\2\2\2\u0a94\u0a92\3\2\2\2\u0a95\u0a96\b\u00e1\1\2\u0a96\u0a97"+ "\5\u01c2\u00e2\2\u0a97\u0a9d\3\2\2\2\u0a98\u0a99\f\3\2\2\u0a99\u0a9a\7"+ "W\2\2\u0a9a\u0a9c\5\u01c2\u00e2\2\u0a9b\u0a98\3\2\2\2\u0a9c\u0a9f\3\2"+ "\2\2\u0a9d\u0a9b\3\2\2\2\u0a9d\u0a9e\3\2\2\2\u0a9e\u01c1\3\2\2\2\u0a9f"+ "\u0a9d\3\2\2\2\u0aa0\u0aa1\b\u00e2\1\2\u0aa1\u0aa2\5\u01c4\u00e3\2\u0aa2"+ "\u0aab\3\2\2\2\u0aa3\u0aa4\f\4\2\2\u0aa4\u0aa5\7K\2\2\u0aa5\u0aaa\5\u01c4"+ "\u00e3\2\u0aa6\u0aa7\f\3\2\2\u0aa7\u0aa8\7N\2\2\u0aa8\u0aaa\5\u01c4\u00e3"+ "\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\u01c3\3\2\2\2\u0aad\u0aab\3\2\2\2\u0aae"+ "\u0aaf\b\u00e3\1\2\u0aaf\u0ab0\5\u01c6\u00e4\2\u0ab0\u0ac2\3\2\2\2\u0ab1"+ "\u0ab2\f\7\2\2\u0ab2\u0ab3\7F\2\2\u0ab3\u0ac1\5\u01c6\u00e4\2\u0ab4\u0ab5"+ "\f\6\2\2\u0ab5\u0ab6\7E\2\2\u0ab6\u0ac1\5\u01c6\u00e4\2\u0ab7\u0ab8\f"+ "\5\2\2\u0ab8\u0ab9\7L\2\2\u0ab9\u0ac1\5\u01c6\u00e4\2\u0aba\u0abb\f\4"+ "\2\2\u0abb\u0abc\7M\2\2\u0abc\u0ac1\5\u01c6\u00e4\2\u0abd\u0abe\f\3\2"+ "\2\u0abe\u0abf\7\34\2\2\u0abf\u0ac1\5\16\b\2\u0ac0\u0ab1\3\2\2\2\u0ac0"+ "\u0ab4\3\2\2\2\u0ac0\u0ab7\3\2\2\2\u0ac0\u0aba\3\2\2\2\u0ac0\u0abd\3\2"+ "\2\2\u0ac1\u0ac4\3\2\2\2\u0ac2\u0ac0\3\2\2\2\u0ac2\u0ac3\3\2\2\2\u0ac3"+ "\u01c5\3\2\2\2\u0ac4\u0ac2\3\2\2\2\u0ac5\u0ac6\b\u00e4\1\2\u0ac6\u0ac7"+ "\5\u01c8\u00e5\2\u0ac7\u0ad7\3\2\2\2\u0ac8\u0ac9\f\5\2\2\u0ac9\u0aca\7"+ "F\2\2\u0aca\u0acb\7F\2\2\u0acb\u0ad6\5\u01c8\u00e5\2\u0acc\u0acd\f\4\2"+ "\2\u0acd\u0ace\7E\2\2\u0ace\u0acf\7E\2\2\u0acf\u0ad6\5\u01c8\u00e5\2\u0ad0"+ "\u0ad1\f\3\2\2\u0ad1\u0ad2\7E\2\2\u0ad2\u0ad3\7E\2\2\u0ad3\u0ad4\7E\2"+ "\2\u0ad4\u0ad6\5\u01c8\u00e5\2\u0ad5\u0ac8\3\2\2\2\u0ad5\u0acc\3\2\2\2"+ "\u0ad5\u0ad0\3\2\2\2\u0ad6\u0ad9\3\2\2\2\u0ad7\u0ad5\3\2\2\2\u0ad7\u0ad8"+ "\3\2\2\2\u0ad8\u01c7\3\2\2\2\u0ad9\u0ad7\3\2\2\2\u0ada\u0adb\b\u00e5\1"+ "\2\u0adb\u0adc\5\u01ca\u00e6\2\u0adc\u0ae5\3\2\2\2\u0add\u0ade\f\4\2\2"+ "\u0ade\u0adf\7S\2\2\u0adf\u0ae4\5\u01ca\u00e6\2\u0ae0\u0ae1\f\3\2\2\u0ae1"+ "\u0ae2\7T\2\2\u0ae2\u0ae4\5\u01ca\u00e6\2\u0ae3\u0add\3\2\2\2\u0ae3\u0ae0"+ "\3\2\2\2\u0ae4\u0ae7\3\2\2\2\u0ae5\u0ae3\3\2\2\2\u0ae5\u0ae6\3\2\2\2\u0ae6"+ "\u01c9\3\2\2\2\u0ae7\u0ae5\3\2\2\2\u0ae8\u0ae9\b\u00e6\1\2\u0ae9\u0aea"+ "\5\u01cc\u00e7\2\u0aea\u0af6\3\2\2\2\u0aeb\u0aec\f\5\2\2\u0aec\u0aed\7"+ "U\2\2\u0aed\u0af5\5\u01cc\u00e7\2\u0aee\u0aef\f\4\2\2\u0aef\u0af0\7V\2"+ "\2\u0af0\u0af5\5\u01cc\u00e7\2\u0af1\u0af2\f\3\2\2\u0af2\u0af3\7Z\2\2"+ "\u0af3\u0af5\5\u01cc\u00e7\2\u0af4\u0aeb\3\2\2\2\u0af4\u0aee\3\2\2\2\u0af4"+ "\u0af1\3\2\2\2\u0af5\u0af8\3\2\2\2\u0af6\u0af4\3\2\2\2\u0af6\u0af7\3\2"+ "\2\2\u0af7\u01cb\3\2\2\2\u0af8\u0af6\3\2\2\2\u0af9\u0b01\5\u01ce\u00e8"+ "\2\u0afa\u0b01\5\u01d0\u00e9\2\u0afb\u0afc\7S\2\2\u0afc\u0b01\5\u01cc"+ "\u00e7\2\u0afd\u0afe\7T\2\2\u0afe\u0b01\5\u01cc\u00e7\2\u0aff\u0b01\5"+ "\u01d2\u00ea\2\u0b00\u0af9\3\2\2\2\u0b00\u0afa\3\2\2\2\u0b00\u0afb\3\2"+ "\2\2\u0b00\u0afd\3\2\2\2\u0b00\u0aff\3\2\2\2\u0b01\u01cd\3\2\2\2\u0b02"+ "\u0b03\7Q\2\2\u0b03\u0b04\5\u01cc\u00e7\2\u0b04\u01cf\3\2\2\2\u0b05\u0b06"+ "\7R\2\2\u0b06\u0b07\5\u01cc\u00e7\2\u0b07\u01d1\3\2\2\2\u0b08\u0b0f\5"+ "\u01d4\u00eb\2\u0b09\u0b0a\7H\2\2\u0b0a\u0b0f\5\u01cc\u00e7\2\u0b0b\u0b0c"+ "\7G\2\2\u0b0c\u0b0f\5\u01cc\u00e7\2\u0b0d\u0b0f\5\u01de\u00f0\2\u0b0e"+ "\u0b08\3\2\2\2\u0b0e\u0b09\3\2\2\2\u0b0e\u0b0b\3\2\2\2\u0b0e\u0b0d\3\2"+ "\2\2\u0b0f\u01d3\3\2\2\2\u0b10\u0b13\5\u0166\u00b4\2\u0b11\u0b13\5<\37"+ "\2\u0b12\u0b10\3\2\2\2\u0b12\u0b11\3\2\2\2\u0b13\u0b18\3\2\2\2\u0b14\u0b17"+ "\5\u01d8\u00ed\2\u0b15\u0b17\5\u01dc\u00ef\2\u0b16\u0b14\3\2\2\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\u01d5\3\2\2\2\u0b1a\u0b18\3\2\2\2\u0b1b\u0b1c\5\u01d4\u00eb"+ "\2\u0b1c\u0b1d\7Q\2\2\u0b1d\u01d7\3\2\2\2\u0b1e\u0b1f\7Q\2\2\u0b1f\u01d9"+ "\3\2\2\2\u0b20\u0b21\5\u01d4\u00eb\2\u0b21\u0b22\7R\2\2\u0b22\u01db\3"+ "\2\2\2\u0b23\u0b24\7R\2\2\u0b24\u01dd\3\2\2\2\u0b25\u0b26\7;\2\2\u0b26"+ "\u0b27\5\6\4\2\u0b27\u0b28\7<\2\2\u0b28\u0b29\5\u01cc\u00e7\2\u0b29\u0b41"+ "\3\2\2\2\u0b2a\u0b2b\7;\2\2\u0b2b\u0b2f\5\16\b\2\u0b2c\u0b2e\5*\26\2\u0b2d"+ "\u0b2c\3\2\2\2\u0b2e\u0b31\3\2\2\2\u0b2f\u0b2d\3\2\2\2\u0b2f\u0b30\3\2"+ "\2\2\u0b30\u0b32\3\2\2\2\u0b31\u0b2f\3\2\2\2\u0b32\u0b33\7<\2\2\u0b33"+ "\u0b34\5\u01d2\u00ea\2\u0b34\u0b41\3\2\2\2\u0b35\u0b36\7;\2\2\u0b36\u0b3a"+ "\5\16\b\2\u0b37\u0b39\5*\26\2\u0b38\u0b37\3\2\2\2\u0b39\u0b3c\3\2\2\2"+ "\u0b3a\u0b38\3\2\2\2\u0b3a\u0b3b\3\2\2\2\u0b3b\u0b3d\3\2\2\2\u0b3c\u0b3a"+ "\3\2\2\2\u0b3d\u0b3e\7<\2\2\u0b3e\u0b3f\5\u01a6\u00d4\2\u0b3f\u0b41\3"+ "\2\2\2\u0b40\u0b25\3\2\2\2\u0b40\u0b2a\3\2\2\2\u0b40\u0b35\3\2\2\2\u0b41"+ "\u01df\3\2\2\2\u014b\u01e4\u01e9\u01f0\u01f4\u01f8\u0201\u0205\u0209\u020b"+ "\u0211\u0216\u021d\u0222\u0224\u022a\u022f\u0234\u0239\u0244\u0252\u0257"+ "\u025f\u0266\u026c\u0271\u027c\u027f\u028d\u0292\u0297\u029c\u02a2\u02ac"+ "\u02b4\u02be\u02c6\u02d2\u02d8\u02dd\u02e0\u02e5\u02eb\u02ef\u02f3\u02f7"+ "\u02fc\u0305\u0310\u032d\u0331\u0336\u033c\u033f\u0342\u034e\u0359\u0367"+ "\u036e\u0377\u037e\u0383\u0392\u0399\u039f\u03a3\u03a7\u03ab\u03af\u03b4"+ "\u03b8\u03bc\u03be\u03c3\u03ca\u03cf\u03d1\u03d7\u03dc\u03e0\u03f3\u03f8"+ "\u0408\u040d\u0413\u0419\u041b\u041f\u0424\u0428\u042f\u0436\u043e\u0441"+ "\u0446\u044e\u0453\u045a\u0461\u0466\u046c\u0478\u047d\u0481\u048b\u0490"+ "\u0498\u049b\u04a0\u04a8\u04ab\u04b0\u04b5\u04ba\u04bf\u04c6\u04cb\u04d3"+ "\u04d8\u04dd\u04e2\u04e8\u04ee\u04f1\u04f4\u04fd\u0503\u0509\u050c\u050f"+ "\u0517\u051c\u0521\u0527\u052a\u0535\u053e\u0548\u054d\u0558\u055d\u0569"+ "\u056e\u057a\u0584\u0589\u0591\u0594\u059b\u05a3\u05a9\u05b2\u05bc\u05c0"+ "\u05c3\u05cc\u05da\u05dd\u05e6\u05eb\u05f3\u05f9\u0601\u060d\u0614\u0622"+ "\u0638\u065a\u0666\u066c\u0678\u0685\u069f\u06a3\u06a8\u06ac\u06b0\u06b8"+ "\u06bc\u06c0\u06c7\u06d0\u06d8\u06e7\u06f3\u06f9\u06ff\u0714\u0719\u071f"+ "\u072b\u0736\u0740\u0743\u0748\u0751\u0757\u0761\u0766\u076f\u0786\u0790"+ "\u07a6\u07ad\u07b5\u07bd\u07c8\u07df\u07e9\u07f4\u080a\u080e\u0813\u081b"+ "\u0821\u0825\u0829\u082d\u0833\u0838\u083d\u0841\u0845\u084b\u0850\u0855"+ "\u0859\u085d\u085f\u0864\u0869\u086e\u0872\u0876\u087a\u087f\u0887\u088d"+ "\u0891\u0895\u0899\u089f\u08a4\u08a9\u08ad\u08b1\u08b3\u08b8\u08c7\u08d5"+ "\u08e1\u08ea\u08f9\u0906\u090f\u0915\u091c\u0921\u0928\u092d\u0934\u0939"+ "\u0940\u0945\u094d\u0952\u0956\u095a\u095f\u0966\u096d\u0972\u0979\u097e"+ "\u0985\u098a\u0992\u0997\u099b\u09a2\u09a8\u09af\u09b6\u09bd\u09c5\u09cc"+ "\u09d4\u09d8\u09df\u09e6\u09ed\u09f5\u09fc\u0a04\u0a0a\u0a10\u0a1c\u0a22"+ "\u0a28\u0a33\u0a3c\u0a43\u0a4a\u0a4f\u0a53\u0a5c\u0a67\u0a71\u0a7c\u0a87"+ "\u0a92\u0a9d\u0aa9\u0aab\u0ac0\u0ac2\u0ad5\u0ad7\u0ae3\u0ae5\u0af4\u0af6"+ "\u0b00\u0b0e\u0b12\u0b16\u0b18\u0b2f\u0b3a\u0b40"; 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); } } }