1// Generated from BindingExpression.g4 by ANTLR 4.5.3 2package android.databinding.parser; 3import org.antlr.v4.runtime.atn.*; 4import org.antlr.v4.runtime.dfa.DFA; 5import org.antlr.v4.runtime.*; 6import org.antlr.v4.runtime.misc.*; 7import org.antlr.v4.runtime.tree.*; 8import java.util.List; 9import java.util.Iterator; 10import java.util.ArrayList; 11 12@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) 13public class BindingExpressionParser extends Parser { 14 static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } 15 16 protected static final DFA[] _decisionToDFA; 17 protected static final PredictionContextCache _sharedContextCache = 18 new PredictionContextCache(); 19 public static final int 20 T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, 21 T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17, 22 T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24, 23 T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31, 24 T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38, 25 T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, THIS=45, VoidLiteral=46, 26 IntegerLiteral=47, FloatingPointLiteral=48, BooleanLiteral=49, CharacterLiteral=50, 27 SingleQuoteString=51, DoubleQuoteString=52, NullLiteral=53, Identifier=54, 28 WS=55, ResourceReference=56, PackageName=57, ResourceType=58; 29 public static final int 30 RULE_bindingSyntax = 0, RULE_defaults = 1, RULE_constantValue = 2, RULE_lambdaExpression = 3, 31 RULE_lambdaParameters = 4, RULE_inferredFormalParameterList = 5, RULE_expression = 6, 32 RULE_classExtraction = 7, RULE_expressionList = 8, RULE_literal = 9, RULE_identifier = 10, 33 RULE_javaLiteral = 11, RULE_stringLiteral = 12, RULE_explicitGenericInvocation = 13, 34 RULE_typeArguments = 14, RULE_type = 15, RULE_explicitGenericInvocationSuffix = 16, 35 RULE_arguments = 17, RULE_classOrInterfaceType = 18, RULE_primitiveType = 19, 36 RULE_resources = 20, RULE_resourceParameters = 21; 37 public static final String[] ruleNames = { 38 "bindingSyntax", "defaults", "constantValue", "lambdaExpression", "lambdaParameters", 39 "inferredFormalParameterList", "expression", "classExtraction", "expressionList", 40 "literal", "identifier", "javaLiteral", "stringLiteral", "explicitGenericInvocation", 41 "typeArguments", "type", "explicitGenericInvocationSuffix", "arguments", 42 "classOrInterfaceType", "primitiveType", "resources", "resourceParameters" 43 }; 44 45 private static final String[] _LITERAL_NAMES = { 46 null, "','", "'default'", "'='", "'->'", "'('", "')'", "'.'", "'::'", 47 "'['", "']'", "'+'", "'-'", "'~'", "'!'", "'*'", "'/'", "'%'", "'<<'", 48 "'>>>'", "'>>'", "'<='", "'>='", "'>'", "'<'", "'instanceof'", "'=='", 49 "'!='", "'&'", "'^'", "'|'", "'&&'", "'||'", "'?'", "':'", "'??'", "'class'", 50 "'boolean'", "'char'", "'byte'", "'short'", "'int'", "'long'", "'float'", 51 "'double'", "'this'", null, null, null, null, null, null, null, "'null'" 52 }; 53 private static final String[] _SYMBOLIC_NAMES = { 54 null, null, null, null, null, null, null, null, null, null, null, null, 55 null, null, null, null, null, null, null, null, null, null, null, null, 56 null, null, null, null, null, null, null, null, null, null, null, null, 57 null, null, null, null, null, null, null, null, null, "THIS", "VoidLiteral", 58 "IntegerLiteral", "FloatingPointLiteral", "BooleanLiteral", "CharacterLiteral", 59 "SingleQuoteString", "DoubleQuoteString", "NullLiteral", "Identifier", 60 "WS", "ResourceReference", "PackageName", "ResourceType" 61 }; 62 public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); 63 64 /** 65 * @deprecated Use {@link #VOCABULARY} instead. 66 */ 67 @Deprecated 68 public static final String[] tokenNames; 69 static { 70 tokenNames = new String[_SYMBOLIC_NAMES.length]; 71 for (int i = 0; i < tokenNames.length; i++) { 72 tokenNames[i] = VOCABULARY.getLiteralName(i); 73 if (tokenNames[i] == null) { 74 tokenNames[i] = VOCABULARY.getSymbolicName(i); 75 } 76 77 if (tokenNames[i] == null) { 78 tokenNames[i] = "<INVALID>"; 79 } 80 } 81 } 82 83 @Override 84 @Deprecated 85 public String[] getTokenNames() { 86 return tokenNames; 87 } 88 89 @Override 90 91 public Vocabulary getVocabulary() { 92 return VOCABULARY; 93 } 94 95 @Override 96 public String getGrammarFileName() { return "BindingExpression.g4"; } 97 98 @Override 99 public String[] getRuleNames() { return ruleNames; } 100 101 @Override 102 public String getSerializedATN() { return _serializedATN; } 103 104 @Override 105 public ATN getATN() { return _ATN; } 106 107 public BindingExpressionParser(TokenStream input) { 108 super(input); 109 _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); 110 } 111 public static class BindingSyntaxContext extends ParserRuleContext { 112 public BindingSyntaxContext(ParserRuleContext parent, int invokingState) { 113 super(parent, invokingState); 114 } 115 @Override public int getRuleIndex() { return RULE_bindingSyntax; } 116 117 public BindingSyntaxContext() { } 118 public void copyFrom(BindingSyntaxContext ctx) { 119 super.copyFrom(ctx); 120 } 121 } 122 public static class RootExprContext extends BindingSyntaxContext { 123 public ExpressionContext expression() { 124 return getRuleContext(ExpressionContext.class,0); 125 } 126 public DefaultsContext defaults() { 127 return getRuleContext(DefaultsContext.class,0); 128 } 129 public RootExprContext(BindingSyntaxContext ctx) { copyFrom(ctx); } 130 @Override 131 public void enterRule(ParseTreeListener listener) { 132 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterRootExpr(this); 133 } 134 @Override 135 public void exitRule(ParseTreeListener listener) { 136 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitRootExpr(this); 137 } 138 @Override 139 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 140 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitRootExpr(this); 141 else return visitor.visitChildren(this); 142 } 143 } 144 public static class RootLambdaContext extends BindingSyntaxContext { 145 public LambdaExpressionContext lambdaExpression() { 146 return getRuleContext(LambdaExpressionContext.class,0); 147 } 148 public RootLambdaContext(BindingSyntaxContext ctx) { copyFrom(ctx); } 149 @Override 150 public void enterRule(ParseTreeListener listener) { 151 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterRootLambda(this); 152 } 153 @Override 154 public void exitRule(ParseTreeListener listener) { 155 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitRootLambda(this); 156 } 157 @Override 158 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 159 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitRootLambda(this); 160 else return visitor.visitChildren(this); 161 } 162 } 163 164 public final BindingSyntaxContext bindingSyntax() throws RecognitionException { 165 BindingSyntaxContext _localctx = new BindingSyntaxContext(_ctx, getState()); 166 enterRule(_localctx, 0, RULE_bindingSyntax); 167 int _la; 168 try { 169 setState(49); 170 _errHandler.sync(this); 171 switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) { 172 case 1: 173 _localctx = new RootExprContext(_localctx); 174 enterOuterAlt(_localctx, 1); 175 { 176 setState(44); 177 expression(0); 178 setState(46); 179 _la = _input.LA(1); 180 if (_la==T__0) { 181 { 182 setState(45); 183 defaults(); 184 } 185 } 186 187 } 188 break; 189 case 2: 190 _localctx = new RootLambdaContext(_localctx); 191 enterOuterAlt(_localctx, 2); 192 { 193 setState(48); 194 lambdaExpression(); 195 } 196 break; 197 } 198 } 199 catch (RecognitionException re) { 200 _localctx.exception = re; 201 _errHandler.reportError(this, re); 202 _errHandler.recover(this, re); 203 } 204 finally { 205 exitRule(); 206 } 207 return _localctx; 208 } 209 210 public static class DefaultsContext extends ParserRuleContext { 211 public ConstantValueContext constantValue() { 212 return getRuleContext(ConstantValueContext.class,0); 213 } 214 public DefaultsContext(ParserRuleContext parent, int invokingState) { 215 super(parent, invokingState); 216 } 217 @Override public int getRuleIndex() { return RULE_defaults; } 218 @Override 219 public void enterRule(ParseTreeListener listener) { 220 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterDefaults(this); 221 } 222 @Override 223 public void exitRule(ParseTreeListener listener) { 224 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitDefaults(this); 225 } 226 @Override 227 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 228 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitDefaults(this); 229 else return visitor.visitChildren(this); 230 } 231 } 232 233 public final DefaultsContext defaults() throws RecognitionException { 234 DefaultsContext _localctx = new DefaultsContext(_ctx, getState()); 235 enterRule(_localctx, 2, RULE_defaults); 236 try { 237 enterOuterAlt(_localctx, 1); 238 { 239 setState(51); 240 match(T__0); 241 setState(52); 242 match(T__1); 243 setState(53); 244 match(T__2); 245 setState(54); 246 constantValue(); 247 } 248 } 249 catch (RecognitionException re) { 250 _localctx.exception = re; 251 _errHandler.reportError(this, re); 252 _errHandler.recover(this, re); 253 } 254 finally { 255 exitRule(); 256 } 257 return _localctx; 258 } 259 260 public static class ConstantValueContext extends ParserRuleContext { 261 public LiteralContext literal() { 262 return getRuleContext(LiteralContext.class,0); 263 } 264 public TerminalNode ResourceReference() { return getToken(BindingExpressionParser.ResourceReference, 0); } 265 public IdentifierContext identifier() { 266 return getRuleContext(IdentifierContext.class,0); 267 } 268 public ConstantValueContext(ParserRuleContext parent, int invokingState) { 269 super(parent, invokingState); 270 } 271 @Override public int getRuleIndex() { return RULE_constantValue; } 272 @Override 273 public void enterRule(ParseTreeListener listener) { 274 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterConstantValue(this); 275 } 276 @Override 277 public void exitRule(ParseTreeListener listener) { 278 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitConstantValue(this); 279 } 280 @Override 281 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 282 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitConstantValue(this); 283 else return visitor.visitChildren(this); 284 } 285 } 286 287 public final ConstantValueContext constantValue() throws RecognitionException { 288 ConstantValueContext _localctx = new ConstantValueContext(_ctx, getState()); 289 enterRule(_localctx, 4, RULE_constantValue); 290 try { 291 setState(59); 292 switch (_input.LA(1)) { 293 case IntegerLiteral: 294 case FloatingPointLiteral: 295 case BooleanLiteral: 296 case CharacterLiteral: 297 case SingleQuoteString: 298 case DoubleQuoteString: 299 case NullLiteral: 300 enterOuterAlt(_localctx, 1); 301 { 302 setState(56); 303 literal(); 304 } 305 break; 306 case ResourceReference: 307 enterOuterAlt(_localctx, 2); 308 { 309 setState(57); 310 match(ResourceReference); 311 } 312 break; 313 case Identifier: 314 enterOuterAlt(_localctx, 3); 315 { 316 setState(58); 317 identifier(); 318 } 319 break; 320 default: 321 throw new NoViableAltException(this); 322 } 323 } 324 catch (RecognitionException re) { 325 _localctx.exception = re; 326 _errHandler.reportError(this, re); 327 _errHandler.recover(this, re); 328 } 329 finally { 330 exitRule(); 331 } 332 return _localctx; 333 } 334 335 public static class LambdaExpressionContext extends ParserRuleContext { 336 public LambdaParametersContext args; 337 public ExpressionContext expr; 338 public LambdaParametersContext lambdaParameters() { 339 return getRuleContext(LambdaParametersContext.class,0); 340 } 341 public ExpressionContext expression() { 342 return getRuleContext(ExpressionContext.class,0); 343 } 344 public LambdaExpressionContext(ParserRuleContext parent, int invokingState) { 345 super(parent, invokingState); 346 } 347 @Override public int getRuleIndex() { return RULE_lambdaExpression; } 348 @Override 349 public void enterRule(ParseTreeListener listener) { 350 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterLambdaExpression(this); 351 } 352 @Override 353 public void exitRule(ParseTreeListener listener) { 354 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitLambdaExpression(this); 355 } 356 @Override 357 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 358 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitLambdaExpression(this); 359 else return visitor.visitChildren(this); 360 } 361 } 362 363 public final LambdaExpressionContext lambdaExpression() throws RecognitionException { 364 LambdaExpressionContext _localctx = new LambdaExpressionContext(_ctx, getState()); 365 enterRule(_localctx, 6, RULE_lambdaExpression); 366 try { 367 enterOuterAlt(_localctx, 1); 368 { 369 setState(61); 370 ((LambdaExpressionContext)_localctx).args = lambdaParameters(); 371 setState(62); 372 match(T__3); 373 setState(63); 374 ((LambdaExpressionContext)_localctx).expr = expression(0); 375 } 376 } 377 catch (RecognitionException re) { 378 _localctx.exception = re; 379 _errHandler.reportError(this, re); 380 _errHandler.recover(this, re); 381 } 382 finally { 383 exitRule(); 384 } 385 return _localctx; 386 } 387 388 public static class LambdaParametersContext extends ParserRuleContext { 389 public LambdaParametersContext(ParserRuleContext parent, int invokingState) { 390 super(parent, invokingState); 391 } 392 @Override public int getRuleIndex() { return RULE_lambdaParameters; } 393 394 public LambdaParametersContext() { } 395 public void copyFrom(LambdaParametersContext ctx) { 396 super.copyFrom(ctx); 397 } 398 } 399 public static class SingleLambdaParameterContext extends LambdaParametersContext { 400 public TerminalNode Identifier() { return getToken(BindingExpressionParser.Identifier, 0); } 401 public SingleLambdaParameterContext(LambdaParametersContext ctx) { copyFrom(ctx); } 402 @Override 403 public void enterRule(ParseTreeListener listener) { 404 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterSingleLambdaParameter(this); 405 } 406 @Override 407 public void exitRule(ParseTreeListener listener) { 408 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitSingleLambdaParameter(this); 409 } 410 @Override 411 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 412 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitSingleLambdaParameter(this); 413 else return visitor.visitChildren(this); 414 } 415 } 416 public static class LambdaParameterListContext extends LambdaParametersContext { 417 public InferredFormalParameterListContext params; 418 public InferredFormalParameterListContext inferredFormalParameterList() { 419 return getRuleContext(InferredFormalParameterListContext.class,0); 420 } 421 public LambdaParameterListContext(LambdaParametersContext ctx) { copyFrom(ctx); } 422 @Override 423 public void enterRule(ParseTreeListener listener) { 424 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterLambdaParameterList(this); 425 } 426 @Override 427 public void exitRule(ParseTreeListener listener) { 428 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitLambdaParameterList(this); 429 } 430 @Override 431 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 432 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitLambdaParameterList(this); 433 else return visitor.visitChildren(this); 434 } 435 } 436 437 public final LambdaParametersContext lambdaParameters() throws RecognitionException { 438 LambdaParametersContext _localctx = new LambdaParametersContext(_ctx, getState()); 439 enterRule(_localctx, 8, RULE_lambdaParameters); 440 int _la; 441 try { 442 setState(71); 443 switch (_input.LA(1)) { 444 case Identifier: 445 _localctx = new SingleLambdaParameterContext(_localctx); 446 enterOuterAlt(_localctx, 1); 447 { 448 setState(65); 449 match(Identifier); 450 } 451 break; 452 case T__4: 453 _localctx = new LambdaParameterListContext(_localctx); 454 enterOuterAlt(_localctx, 2); 455 { 456 setState(66); 457 match(T__4); 458 setState(68); 459 _la = _input.LA(1); 460 if (_la==Identifier) { 461 { 462 setState(67); 463 ((LambdaParameterListContext)_localctx).params = inferredFormalParameterList(); 464 } 465 } 466 467 setState(70); 468 match(T__5); 469 } 470 break; 471 default: 472 throw new NoViableAltException(this); 473 } 474 } 475 catch (RecognitionException re) { 476 _localctx.exception = re; 477 _errHandler.reportError(this, re); 478 _errHandler.recover(this, re); 479 } 480 finally { 481 exitRule(); 482 } 483 return _localctx; 484 } 485 486 public static class InferredFormalParameterListContext extends ParserRuleContext { 487 public List<TerminalNode> Identifier() { return getTokens(BindingExpressionParser.Identifier); } 488 public TerminalNode Identifier(int i) { 489 return getToken(BindingExpressionParser.Identifier, i); 490 } 491 public InferredFormalParameterListContext(ParserRuleContext parent, int invokingState) { 492 super(parent, invokingState); 493 } 494 @Override public int getRuleIndex() { return RULE_inferredFormalParameterList; } 495 @Override 496 public void enterRule(ParseTreeListener listener) { 497 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterInferredFormalParameterList(this); 498 } 499 @Override 500 public void exitRule(ParseTreeListener listener) { 501 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitInferredFormalParameterList(this); 502 } 503 @Override 504 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 505 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitInferredFormalParameterList(this); 506 else return visitor.visitChildren(this); 507 } 508 } 509 510 public final InferredFormalParameterListContext inferredFormalParameterList() throws RecognitionException { 511 InferredFormalParameterListContext _localctx = new InferredFormalParameterListContext(_ctx, getState()); 512 enterRule(_localctx, 10, RULE_inferredFormalParameterList); 513 int _la; 514 try { 515 enterOuterAlt(_localctx, 1); 516 { 517 setState(73); 518 match(Identifier); 519 setState(78); 520 _errHandler.sync(this); 521 _la = _input.LA(1); 522 while (_la==T__0) { 523 { 524 { 525 setState(74); 526 match(T__0); 527 setState(75); 528 match(Identifier); 529 } 530 } 531 setState(80); 532 _errHandler.sync(this); 533 _la = _input.LA(1); 534 } 535 } 536 } 537 catch (RecognitionException re) { 538 _localctx.exception = re; 539 _errHandler.reportError(this, re); 540 _errHandler.recover(this, re); 541 } 542 finally { 543 exitRule(); 544 } 545 return _localctx; 546 } 547 548 public static class ExpressionContext extends ParserRuleContext { 549 public ExpressionContext(ParserRuleContext parent, int invokingState) { 550 super(parent, invokingState); 551 } 552 @Override public int getRuleIndex() { return RULE_expression; } 553 554 public ExpressionContext() { } 555 public void copyFrom(ExpressionContext ctx) { 556 super.copyFrom(ctx); 557 } 558 } 559 public static class CastOpContext extends ExpressionContext { 560 public TypeContext type() { 561 return getRuleContext(TypeContext.class,0); 562 } 563 public ExpressionContext expression() { 564 return getRuleContext(ExpressionContext.class,0); 565 } 566 public CastOpContext(ExpressionContext ctx) { copyFrom(ctx); } 567 @Override 568 public void enterRule(ParseTreeListener listener) { 569 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterCastOp(this); 570 } 571 @Override 572 public void exitRule(ParseTreeListener listener) { 573 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitCastOp(this); 574 } 575 @Override 576 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 577 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitCastOp(this); 578 else return visitor.visitChildren(this); 579 } 580 } 581 public static class ComparisonOpContext extends ExpressionContext { 582 public ExpressionContext left; 583 public Token op; 584 public ExpressionContext right; 585 public List<ExpressionContext> expression() { 586 return getRuleContexts(ExpressionContext.class); 587 } 588 public ExpressionContext expression(int i) { 589 return getRuleContext(ExpressionContext.class,i); 590 } 591 public ComparisonOpContext(ExpressionContext ctx) { copyFrom(ctx); } 592 @Override 593 public void enterRule(ParseTreeListener listener) { 594 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterComparisonOp(this); 595 } 596 @Override 597 public void exitRule(ParseTreeListener listener) { 598 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitComparisonOp(this); 599 } 600 @Override 601 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 602 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitComparisonOp(this); 603 else return visitor.visitChildren(this); 604 } 605 } 606 public static class UnaryOpContext extends ExpressionContext { 607 public Token op; 608 public ExpressionContext expression() { 609 return getRuleContext(ExpressionContext.class,0); 610 } 611 public UnaryOpContext(ExpressionContext ctx) { copyFrom(ctx); } 612 @Override 613 public void enterRule(ParseTreeListener listener) { 614 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterUnaryOp(this); 615 } 616 @Override 617 public void exitRule(ParseTreeListener listener) { 618 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitUnaryOp(this); 619 } 620 @Override 621 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 622 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitUnaryOp(this); 623 else return visitor.visitChildren(this); 624 } 625 } 626 public static class BracketOpContext extends ExpressionContext { 627 public List<ExpressionContext> expression() { 628 return getRuleContexts(ExpressionContext.class); 629 } 630 public ExpressionContext expression(int i) { 631 return getRuleContext(ExpressionContext.class,i); 632 } 633 public BracketOpContext(ExpressionContext ctx) { copyFrom(ctx); } 634 @Override 635 public void enterRule(ParseTreeListener listener) { 636 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterBracketOp(this); 637 } 638 @Override 639 public void exitRule(ParseTreeListener listener) { 640 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitBracketOp(this); 641 } 642 @Override 643 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 644 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitBracketOp(this); 645 else return visitor.visitChildren(this); 646 } 647 } 648 public static class ResourceContext extends ExpressionContext { 649 public ResourcesContext resources() { 650 return getRuleContext(ResourcesContext.class,0); 651 } 652 public ResourceContext(ExpressionContext ctx) { copyFrom(ctx); } 653 @Override 654 public void enterRule(ParseTreeListener listener) { 655 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterResource(this); 656 } 657 @Override 658 public void exitRule(ParseTreeListener listener) { 659 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitResource(this); 660 } 661 @Override 662 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 663 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitResource(this); 664 else return visitor.visitChildren(this); 665 } 666 } 667 public static class QuestionQuestionOpContext extends ExpressionContext { 668 public ExpressionContext left; 669 public Token op; 670 public ExpressionContext right; 671 public List<ExpressionContext> expression() { 672 return getRuleContexts(ExpressionContext.class); 673 } 674 public ExpressionContext expression(int i) { 675 return getRuleContext(ExpressionContext.class,i); 676 } 677 public QuestionQuestionOpContext(ExpressionContext ctx) { copyFrom(ctx); } 678 @Override 679 public void enterRule(ParseTreeListener listener) { 680 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterQuestionQuestionOp(this); 681 } 682 @Override 683 public void exitRule(ParseTreeListener listener) { 684 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitQuestionQuestionOp(this); 685 } 686 @Override 687 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 688 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitQuestionQuestionOp(this); 689 else return visitor.visitChildren(this); 690 } 691 } 692 public static class GroupingContext extends ExpressionContext { 693 public ExpressionContext expression() { 694 return getRuleContext(ExpressionContext.class,0); 695 } 696 public GroupingContext(ExpressionContext ctx) { copyFrom(ctx); } 697 @Override 698 public void enterRule(ParseTreeListener listener) { 699 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterGrouping(this); 700 } 701 @Override 702 public void exitRule(ParseTreeListener listener) { 703 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitGrouping(this); 704 } 705 @Override 706 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 707 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitGrouping(this); 708 else return visitor.visitChildren(this); 709 } 710 } 711 public static class MethodInvocationContext extends ExpressionContext { 712 public ExpressionContext target; 713 public Token methodName; 714 public ExpressionListContext args; 715 public ExpressionContext expression() { 716 return getRuleContext(ExpressionContext.class,0); 717 } 718 public TerminalNode Identifier() { return getToken(BindingExpressionParser.Identifier, 0); } 719 public ExpressionListContext expressionList() { 720 return getRuleContext(ExpressionListContext.class,0); 721 } 722 public MethodInvocationContext(ExpressionContext ctx) { copyFrom(ctx); } 723 @Override 724 public void enterRule(ParseTreeListener listener) { 725 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterMethodInvocation(this); 726 } 727 @Override 728 public void exitRule(ParseTreeListener listener) { 729 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitMethodInvocation(this); 730 } 731 @Override 732 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 733 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitMethodInvocation(this); 734 else return visitor.visitChildren(this); 735 } 736 } 737 public static class BitShiftOpContext extends ExpressionContext { 738 public ExpressionContext left; 739 public Token op; 740 public ExpressionContext right; 741 public List<ExpressionContext> expression() { 742 return getRuleContexts(ExpressionContext.class); 743 } 744 public ExpressionContext expression(int i) { 745 return getRuleContext(ExpressionContext.class,i); 746 } 747 public BitShiftOpContext(ExpressionContext ctx) { copyFrom(ctx); } 748 @Override 749 public void enterRule(ParseTreeListener listener) { 750 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterBitShiftOp(this); 751 } 752 @Override 753 public void exitRule(ParseTreeListener listener) { 754 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitBitShiftOp(this); 755 } 756 @Override 757 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 758 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitBitShiftOp(this); 759 else return visitor.visitChildren(this); 760 } 761 } 762 public static class AndOrOpContext extends ExpressionContext { 763 public ExpressionContext left; 764 public Token op; 765 public ExpressionContext right; 766 public List<ExpressionContext> expression() { 767 return getRuleContexts(ExpressionContext.class); 768 } 769 public ExpressionContext expression(int i) { 770 return getRuleContext(ExpressionContext.class,i); 771 } 772 public AndOrOpContext(ExpressionContext ctx) { copyFrom(ctx); } 773 @Override 774 public void enterRule(ParseTreeListener listener) { 775 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterAndOrOp(this); 776 } 777 @Override 778 public void exitRule(ParseTreeListener listener) { 779 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitAndOrOp(this); 780 } 781 @Override 782 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 783 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitAndOrOp(this); 784 else return visitor.visitChildren(this); 785 } 786 } 787 public static class TernaryOpContext extends ExpressionContext { 788 public ExpressionContext left; 789 public Token op; 790 public ExpressionContext iftrue; 791 public ExpressionContext iffalse; 792 public List<ExpressionContext> expression() { 793 return getRuleContexts(ExpressionContext.class); 794 } 795 public ExpressionContext expression(int i) { 796 return getRuleContext(ExpressionContext.class,i); 797 } 798 public TernaryOpContext(ExpressionContext ctx) { copyFrom(ctx); } 799 @Override 800 public void enterRule(ParseTreeListener listener) { 801 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterTernaryOp(this); 802 } 803 @Override 804 public void exitRule(ParseTreeListener listener) { 805 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitTernaryOp(this); 806 } 807 @Override 808 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 809 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitTernaryOp(this); 810 else return visitor.visitChildren(this); 811 } 812 } 813 public static class PrimaryContext extends ExpressionContext { 814 public LiteralContext literal() { 815 return getRuleContext(LiteralContext.class,0); 816 } 817 public TerminalNode VoidLiteral() { return getToken(BindingExpressionParser.VoidLiteral, 0); } 818 public IdentifierContext identifier() { 819 return getRuleContext(IdentifierContext.class,0); 820 } 821 public ClassExtractionContext classExtraction() { 822 return getRuleContext(ClassExtractionContext.class,0); 823 } 824 public PrimaryContext(ExpressionContext ctx) { copyFrom(ctx); } 825 @Override 826 public void enterRule(ParseTreeListener listener) { 827 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterPrimary(this); 828 } 829 @Override 830 public void exitRule(ParseTreeListener listener) { 831 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitPrimary(this); 832 } 833 @Override 834 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 835 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitPrimary(this); 836 else return visitor.visitChildren(this); 837 } 838 } 839 public static class DotOpContext extends ExpressionContext { 840 public ExpressionContext expression() { 841 return getRuleContext(ExpressionContext.class,0); 842 } 843 public TerminalNode Identifier() { return getToken(BindingExpressionParser.Identifier, 0); } 844 public DotOpContext(ExpressionContext ctx) { copyFrom(ctx); } 845 @Override 846 public void enterRule(ParseTreeListener listener) { 847 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterDotOp(this); 848 } 849 @Override 850 public void exitRule(ParseTreeListener listener) { 851 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitDotOp(this); 852 } 853 @Override 854 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 855 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitDotOp(this); 856 else return visitor.visitChildren(this); 857 } 858 } 859 public static class MathOpContext extends ExpressionContext { 860 public ExpressionContext left; 861 public Token op; 862 public ExpressionContext right; 863 public List<ExpressionContext> expression() { 864 return getRuleContexts(ExpressionContext.class); 865 } 866 public ExpressionContext expression(int i) { 867 return getRuleContext(ExpressionContext.class,i); 868 } 869 public MathOpContext(ExpressionContext ctx) { copyFrom(ctx); } 870 @Override 871 public void enterRule(ParseTreeListener listener) { 872 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterMathOp(this); 873 } 874 @Override 875 public void exitRule(ParseTreeListener listener) { 876 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitMathOp(this); 877 } 878 @Override 879 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 880 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitMathOp(this); 881 else return visitor.visitChildren(this); 882 } 883 } 884 public static class InstanceOfOpContext extends ExpressionContext { 885 public ExpressionContext expression() { 886 return getRuleContext(ExpressionContext.class,0); 887 } 888 public TypeContext type() { 889 return getRuleContext(TypeContext.class,0); 890 } 891 public InstanceOfOpContext(ExpressionContext ctx) { copyFrom(ctx); } 892 @Override 893 public void enterRule(ParseTreeListener listener) { 894 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterInstanceOfOp(this); 895 } 896 @Override 897 public void exitRule(ParseTreeListener listener) { 898 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitInstanceOfOp(this); 899 } 900 @Override 901 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 902 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitInstanceOfOp(this); 903 else return visitor.visitChildren(this); 904 } 905 } 906 public static class BinaryOpContext extends ExpressionContext { 907 public ExpressionContext left; 908 public Token op; 909 public ExpressionContext right; 910 public List<ExpressionContext> expression() { 911 return getRuleContexts(ExpressionContext.class); 912 } 913 public ExpressionContext expression(int i) { 914 return getRuleContext(ExpressionContext.class,i); 915 } 916 public BinaryOpContext(ExpressionContext ctx) { copyFrom(ctx); } 917 @Override 918 public void enterRule(ParseTreeListener listener) { 919 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterBinaryOp(this); 920 } 921 @Override 922 public void exitRule(ParseTreeListener listener) { 923 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitBinaryOp(this); 924 } 925 @Override 926 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 927 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitBinaryOp(this); 928 else return visitor.visitChildren(this); 929 } 930 } 931 public static class FunctionRefContext extends ExpressionContext { 932 public ExpressionContext expression() { 933 return getRuleContext(ExpressionContext.class,0); 934 } 935 public TerminalNode Identifier() { return getToken(BindingExpressionParser.Identifier, 0); } 936 public FunctionRefContext(ExpressionContext ctx) { copyFrom(ctx); } 937 @Override 938 public void enterRule(ParseTreeListener listener) { 939 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterFunctionRef(this); 940 } 941 @Override 942 public void exitRule(ParseTreeListener listener) { 943 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitFunctionRef(this); 944 } 945 @Override 946 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 947 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitFunctionRef(this); 948 else return visitor.visitChildren(this); 949 } 950 } 951 952 public final ExpressionContext expression() throws RecognitionException { 953 return expression(0); 954 } 955 956 private ExpressionContext expression(int _p) throws RecognitionException { 957 ParserRuleContext _parentctx = _ctx; 958 int _parentState = getState(); 959 ExpressionContext _localctx = new ExpressionContext(_ctx, _parentState); 960 ExpressionContext _prevctx = _localctx; 961 int _startState = 12; 962 enterRecursionRule(_localctx, 12, RULE_expression, _p); 963 int _la; 964 try { 965 int _alt; 966 enterOuterAlt(_localctx, 1); 967 { 968 setState(100); 969 _errHandler.sync(this); 970 switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) { 971 case 1: 972 { 973 _localctx = new GroupingContext(_localctx); 974 _ctx = _localctx; 975 _prevctx = _localctx; 976 977 setState(82); 978 match(T__4); 979 setState(83); 980 expression(0); 981 setState(84); 982 match(T__5); 983 } 984 break; 985 case 2: 986 { 987 _localctx = new PrimaryContext(_localctx); 988 _ctx = _localctx; 989 _prevctx = _localctx; 990 setState(86); 991 literal(); 992 } 993 break; 994 case 3: 995 { 996 _localctx = new PrimaryContext(_localctx); 997 _ctx = _localctx; 998 _prevctx = _localctx; 999 setState(87); 1000 match(VoidLiteral); 1001 } 1002 break; 1003 case 4: 1004 { 1005 _localctx = new PrimaryContext(_localctx); 1006 _ctx = _localctx; 1007 _prevctx = _localctx; 1008 setState(88); 1009 identifier(); 1010 } 1011 break; 1012 case 5: 1013 { 1014 _localctx = new PrimaryContext(_localctx); 1015 _ctx = _localctx; 1016 _prevctx = _localctx; 1017 setState(89); 1018 classExtraction(); 1019 } 1020 break; 1021 case 6: 1022 { 1023 _localctx = new ResourceContext(_localctx); 1024 _ctx = _localctx; 1025 _prevctx = _localctx; 1026 setState(90); 1027 resources(); 1028 } 1029 break; 1030 case 7: 1031 { 1032 _localctx = new CastOpContext(_localctx); 1033 _ctx = _localctx; 1034 _prevctx = _localctx; 1035 setState(91); 1036 match(T__4); 1037 setState(92); 1038 type(); 1039 setState(93); 1040 match(T__5); 1041 setState(94); 1042 expression(16); 1043 } 1044 break; 1045 case 8: 1046 { 1047 _localctx = new UnaryOpContext(_localctx); 1048 _ctx = _localctx; 1049 _prevctx = _localctx; 1050 setState(96); 1051 ((UnaryOpContext)_localctx).op = _input.LT(1); 1052 _la = _input.LA(1); 1053 if ( !(_la==T__10 || _la==T__11) ) { 1054 ((UnaryOpContext)_localctx).op = (Token)_errHandler.recoverInline(this); 1055 } else { 1056 consume(); 1057 } 1058 setState(97); 1059 expression(15); 1060 } 1061 break; 1062 case 9: 1063 { 1064 _localctx = new UnaryOpContext(_localctx); 1065 _ctx = _localctx; 1066 _prevctx = _localctx; 1067 setState(98); 1068 ((UnaryOpContext)_localctx).op = _input.LT(1); 1069 _la = _input.LA(1); 1070 if ( !(_la==T__12 || _la==T__13) ) { 1071 ((UnaryOpContext)_localctx).op = (Token)_errHandler.recoverInline(this); 1072 } else { 1073 consume(); 1074 } 1075 setState(99); 1076 expression(14); 1077 } 1078 break; 1079 } 1080 _ctx.stop = _input.LT(-1); 1081 setState(165); 1082 _errHandler.sync(this); 1083 _alt = getInterpreter().adaptivePredict(_input,9,_ctx); 1084 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { 1085 if ( _alt==1 ) { 1086 if ( _parseListeners!=null ) triggerExitRuleEvent(); 1087 _prevctx = _localctx; 1088 { 1089 setState(163); 1090 _errHandler.sync(this); 1091 switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) { 1092 case 1: 1093 { 1094 _localctx = new MathOpContext(new ExpressionContext(_parentctx, _parentState)); 1095 ((MathOpContext)_localctx).left = _prevctx; 1096 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1097 setState(102); 1098 if (!(precpred(_ctx, 13))) throw new FailedPredicateException(this, "precpred(_ctx, 13)"); 1099 setState(103); 1100 ((MathOpContext)_localctx).op = _input.LT(1); 1101 _la = _input.LA(1); 1102 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__14) | (1L << T__15) | (1L << T__16))) != 0)) ) { 1103 ((MathOpContext)_localctx).op = (Token)_errHandler.recoverInline(this); 1104 } else { 1105 consume(); 1106 } 1107 setState(104); 1108 ((MathOpContext)_localctx).right = expression(14); 1109 } 1110 break; 1111 case 2: 1112 { 1113 _localctx = new MathOpContext(new ExpressionContext(_parentctx, _parentState)); 1114 ((MathOpContext)_localctx).left = _prevctx; 1115 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1116 setState(105); 1117 if (!(precpred(_ctx, 12))) throw new FailedPredicateException(this, "precpred(_ctx, 12)"); 1118 setState(106); 1119 ((MathOpContext)_localctx).op = _input.LT(1); 1120 _la = _input.LA(1); 1121 if ( !(_la==T__10 || _la==T__11) ) { 1122 ((MathOpContext)_localctx).op = (Token)_errHandler.recoverInline(this); 1123 } else { 1124 consume(); 1125 } 1126 setState(107); 1127 ((MathOpContext)_localctx).right = expression(13); 1128 } 1129 break; 1130 case 3: 1131 { 1132 _localctx = new BitShiftOpContext(new ExpressionContext(_parentctx, _parentState)); 1133 ((BitShiftOpContext)_localctx).left = _prevctx; 1134 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1135 setState(108); 1136 if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)"); 1137 setState(109); 1138 ((BitShiftOpContext)_localctx).op = _input.LT(1); 1139 _la = _input.LA(1); 1140 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__17) | (1L << T__18) | (1L << T__19))) != 0)) ) { 1141 ((BitShiftOpContext)_localctx).op = (Token)_errHandler.recoverInline(this); 1142 } else { 1143 consume(); 1144 } 1145 setState(110); 1146 ((BitShiftOpContext)_localctx).right = expression(12); 1147 } 1148 break; 1149 case 4: 1150 { 1151 _localctx = new ComparisonOpContext(new ExpressionContext(_parentctx, _parentState)); 1152 ((ComparisonOpContext)_localctx).left = _prevctx; 1153 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1154 setState(111); 1155 if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)"); 1156 setState(112); 1157 ((ComparisonOpContext)_localctx).op = _input.LT(1); 1158 _la = _input.LA(1); 1159 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__20) | (1L << T__21) | (1L << T__22) | (1L << T__23))) != 0)) ) { 1160 ((ComparisonOpContext)_localctx).op = (Token)_errHandler.recoverInline(this); 1161 } else { 1162 consume(); 1163 } 1164 setState(113); 1165 ((ComparisonOpContext)_localctx).right = expression(11); 1166 } 1167 break; 1168 case 5: 1169 { 1170 _localctx = new ComparisonOpContext(new ExpressionContext(_parentctx, _parentState)); 1171 ((ComparisonOpContext)_localctx).left = _prevctx; 1172 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1173 setState(114); 1174 if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)"); 1175 setState(115); 1176 ((ComparisonOpContext)_localctx).op = _input.LT(1); 1177 _la = _input.LA(1); 1178 if ( !(_la==T__25 || _la==T__26) ) { 1179 ((ComparisonOpContext)_localctx).op = (Token)_errHandler.recoverInline(this); 1180 } else { 1181 consume(); 1182 } 1183 setState(116); 1184 ((ComparisonOpContext)_localctx).right = expression(9); 1185 } 1186 break; 1187 case 6: 1188 { 1189 _localctx = new BinaryOpContext(new ExpressionContext(_parentctx, _parentState)); 1190 ((BinaryOpContext)_localctx).left = _prevctx; 1191 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1192 setState(117); 1193 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)"); 1194 setState(118); 1195 ((BinaryOpContext)_localctx).op = match(T__27); 1196 setState(119); 1197 ((BinaryOpContext)_localctx).right = expression(8); 1198 } 1199 break; 1200 case 7: 1201 { 1202 _localctx = new BinaryOpContext(new ExpressionContext(_parentctx, _parentState)); 1203 ((BinaryOpContext)_localctx).left = _prevctx; 1204 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1205 setState(120); 1206 if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)"); 1207 setState(121); 1208 ((BinaryOpContext)_localctx).op = match(T__28); 1209 setState(122); 1210 ((BinaryOpContext)_localctx).right = expression(7); 1211 } 1212 break; 1213 case 8: 1214 { 1215 _localctx = new BinaryOpContext(new ExpressionContext(_parentctx, _parentState)); 1216 ((BinaryOpContext)_localctx).left = _prevctx; 1217 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1218 setState(123); 1219 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); 1220 setState(124); 1221 ((BinaryOpContext)_localctx).op = match(T__29); 1222 setState(125); 1223 ((BinaryOpContext)_localctx).right = expression(6); 1224 } 1225 break; 1226 case 9: 1227 { 1228 _localctx = new AndOrOpContext(new ExpressionContext(_parentctx, _parentState)); 1229 ((AndOrOpContext)_localctx).left = _prevctx; 1230 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1231 setState(126); 1232 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); 1233 setState(127); 1234 ((AndOrOpContext)_localctx).op = match(T__30); 1235 setState(128); 1236 ((AndOrOpContext)_localctx).right = expression(5); 1237 } 1238 break; 1239 case 10: 1240 { 1241 _localctx = new AndOrOpContext(new ExpressionContext(_parentctx, _parentState)); 1242 ((AndOrOpContext)_localctx).left = _prevctx; 1243 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1244 setState(129); 1245 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); 1246 setState(130); 1247 ((AndOrOpContext)_localctx).op = match(T__31); 1248 setState(131); 1249 ((AndOrOpContext)_localctx).right = expression(4); 1250 } 1251 break; 1252 case 11: 1253 { 1254 _localctx = new TernaryOpContext(new ExpressionContext(_parentctx, _parentState)); 1255 ((TernaryOpContext)_localctx).left = _prevctx; 1256 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1257 setState(132); 1258 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); 1259 setState(133); 1260 ((TernaryOpContext)_localctx).op = match(T__32); 1261 setState(134); 1262 ((TernaryOpContext)_localctx).iftrue = expression(0); 1263 setState(135); 1264 match(T__33); 1265 setState(136); 1266 ((TernaryOpContext)_localctx).iffalse = expression(2); 1267 } 1268 break; 1269 case 12: 1270 { 1271 _localctx = new QuestionQuestionOpContext(new ExpressionContext(_parentctx, _parentState)); 1272 ((QuestionQuestionOpContext)_localctx).left = _prevctx; 1273 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1274 setState(138); 1275 if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); 1276 setState(139); 1277 ((QuestionQuestionOpContext)_localctx).op = match(T__34); 1278 setState(140); 1279 ((QuestionQuestionOpContext)_localctx).right = expression(2); 1280 } 1281 break; 1282 case 13: 1283 { 1284 _localctx = new DotOpContext(new ExpressionContext(_parentctx, _parentState)); 1285 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1286 setState(141); 1287 if (!(precpred(_ctx, 20))) throw new FailedPredicateException(this, "precpred(_ctx, 20)"); 1288 setState(142); 1289 match(T__6); 1290 setState(143); 1291 match(Identifier); 1292 } 1293 break; 1294 case 14: 1295 { 1296 _localctx = new FunctionRefContext(new ExpressionContext(_parentctx, _parentState)); 1297 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1298 setState(144); 1299 if (!(precpred(_ctx, 19))) throw new FailedPredicateException(this, "precpred(_ctx, 19)"); 1300 setState(145); 1301 match(T__7); 1302 setState(146); 1303 match(Identifier); 1304 } 1305 break; 1306 case 15: 1307 { 1308 _localctx = new BracketOpContext(new ExpressionContext(_parentctx, _parentState)); 1309 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1310 setState(147); 1311 if (!(precpred(_ctx, 18))) throw new FailedPredicateException(this, "precpred(_ctx, 18)"); 1312 setState(148); 1313 match(T__8); 1314 setState(149); 1315 expression(0); 1316 setState(150); 1317 match(T__9); 1318 } 1319 break; 1320 case 16: 1321 { 1322 _localctx = new MethodInvocationContext(new ExpressionContext(_parentctx, _parentState)); 1323 ((MethodInvocationContext)_localctx).target = _prevctx; 1324 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1325 setState(152); 1326 if (!(precpred(_ctx, 17))) throw new FailedPredicateException(this, "precpred(_ctx, 17)"); 1327 setState(153); 1328 match(T__6); 1329 setState(154); 1330 ((MethodInvocationContext)_localctx).methodName = match(Identifier); 1331 setState(155); 1332 match(T__4); 1333 setState(157); 1334 _la = _input.LA(1); 1335 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__4) | (1L << T__10) | (1L << T__11) | (1L << T__12) | (1L << T__13) | (1L << T__36) | (1L << T__37) | (1L << T__38) | (1L << T__39) | (1L << T__40) | (1L << T__41) | (1L << T__42) | (1L << T__43) | (1L << VoidLiteral) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << SingleQuoteString) | (1L << DoubleQuoteString) | (1L << NullLiteral) | (1L << Identifier) | (1L << ResourceReference))) != 0)) { 1336 { 1337 setState(156); 1338 ((MethodInvocationContext)_localctx).args = expressionList(); 1339 } 1340 } 1341 1342 setState(159); 1343 match(T__5); 1344 } 1345 break; 1346 case 17: 1347 { 1348 _localctx = new InstanceOfOpContext(new ExpressionContext(_parentctx, _parentState)); 1349 pushNewRecursionContext(_localctx, _startState, RULE_expression); 1350 setState(160); 1351 if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)"); 1352 setState(161); 1353 match(T__24); 1354 setState(162); 1355 type(); 1356 } 1357 break; 1358 } 1359 } 1360 } 1361 setState(167); 1362 _errHandler.sync(this); 1363 _alt = getInterpreter().adaptivePredict(_input,9,_ctx); 1364 } 1365 } 1366 } 1367 catch (RecognitionException re) { 1368 _localctx.exception = re; 1369 _errHandler.reportError(this, re); 1370 _errHandler.recover(this, re); 1371 } 1372 finally { 1373 unrollRecursionContexts(_parentctx); 1374 } 1375 return _localctx; 1376 } 1377 1378 public static class ClassExtractionContext extends ParserRuleContext { 1379 public TypeContext type() { 1380 return getRuleContext(TypeContext.class,0); 1381 } 1382 public ClassExtractionContext(ParserRuleContext parent, int invokingState) { 1383 super(parent, invokingState); 1384 } 1385 @Override public int getRuleIndex() { return RULE_classExtraction; } 1386 @Override 1387 public void enterRule(ParseTreeListener listener) { 1388 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterClassExtraction(this); 1389 } 1390 @Override 1391 public void exitRule(ParseTreeListener listener) { 1392 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitClassExtraction(this); 1393 } 1394 @Override 1395 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1396 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitClassExtraction(this); 1397 else return visitor.visitChildren(this); 1398 } 1399 } 1400 1401 public final ClassExtractionContext classExtraction() throws RecognitionException { 1402 ClassExtractionContext _localctx = new ClassExtractionContext(_ctx, getState()); 1403 enterRule(_localctx, 14, RULE_classExtraction); 1404 try { 1405 enterOuterAlt(_localctx, 1); 1406 { 1407 setState(168); 1408 type(); 1409 setState(169); 1410 match(T__6); 1411 setState(170); 1412 match(T__35); 1413 } 1414 } 1415 catch (RecognitionException re) { 1416 _localctx.exception = re; 1417 _errHandler.reportError(this, re); 1418 _errHandler.recover(this, re); 1419 } 1420 finally { 1421 exitRule(); 1422 } 1423 return _localctx; 1424 } 1425 1426 public static class ExpressionListContext extends ParserRuleContext { 1427 public List<ExpressionContext> expression() { 1428 return getRuleContexts(ExpressionContext.class); 1429 } 1430 public ExpressionContext expression(int i) { 1431 return getRuleContext(ExpressionContext.class,i); 1432 } 1433 public ExpressionListContext(ParserRuleContext parent, int invokingState) { 1434 super(parent, invokingState); 1435 } 1436 @Override public int getRuleIndex() { return RULE_expressionList; } 1437 @Override 1438 public void enterRule(ParseTreeListener listener) { 1439 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterExpressionList(this); 1440 } 1441 @Override 1442 public void exitRule(ParseTreeListener listener) { 1443 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitExpressionList(this); 1444 } 1445 @Override 1446 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1447 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitExpressionList(this); 1448 else return visitor.visitChildren(this); 1449 } 1450 } 1451 1452 public final ExpressionListContext expressionList() throws RecognitionException { 1453 ExpressionListContext _localctx = new ExpressionListContext(_ctx, getState()); 1454 enterRule(_localctx, 16, RULE_expressionList); 1455 int _la; 1456 try { 1457 enterOuterAlt(_localctx, 1); 1458 { 1459 setState(172); 1460 expression(0); 1461 setState(177); 1462 _errHandler.sync(this); 1463 _la = _input.LA(1); 1464 while (_la==T__0) { 1465 { 1466 { 1467 setState(173); 1468 match(T__0); 1469 setState(174); 1470 expression(0); 1471 } 1472 } 1473 setState(179); 1474 _errHandler.sync(this); 1475 _la = _input.LA(1); 1476 } 1477 } 1478 } 1479 catch (RecognitionException re) { 1480 _localctx.exception = re; 1481 _errHandler.reportError(this, re); 1482 _errHandler.recover(this, re); 1483 } 1484 finally { 1485 exitRule(); 1486 } 1487 return _localctx; 1488 } 1489 1490 public static class LiteralContext extends ParserRuleContext { 1491 public JavaLiteralContext javaLiteral() { 1492 return getRuleContext(JavaLiteralContext.class,0); 1493 } 1494 public StringLiteralContext stringLiteral() { 1495 return getRuleContext(StringLiteralContext.class,0); 1496 } 1497 public LiteralContext(ParserRuleContext parent, int invokingState) { 1498 super(parent, invokingState); 1499 } 1500 @Override public int getRuleIndex() { return RULE_literal; } 1501 @Override 1502 public void enterRule(ParseTreeListener listener) { 1503 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterLiteral(this); 1504 } 1505 @Override 1506 public void exitRule(ParseTreeListener listener) { 1507 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitLiteral(this); 1508 } 1509 @Override 1510 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1511 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitLiteral(this); 1512 else return visitor.visitChildren(this); 1513 } 1514 } 1515 1516 public final LiteralContext literal() throws RecognitionException { 1517 LiteralContext _localctx = new LiteralContext(_ctx, getState()); 1518 enterRule(_localctx, 18, RULE_literal); 1519 try { 1520 setState(182); 1521 switch (_input.LA(1)) { 1522 case IntegerLiteral: 1523 case FloatingPointLiteral: 1524 case BooleanLiteral: 1525 case CharacterLiteral: 1526 case NullLiteral: 1527 enterOuterAlt(_localctx, 1); 1528 { 1529 setState(180); 1530 javaLiteral(); 1531 } 1532 break; 1533 case SingleQuoteString: 1534 case DoubleQuoteString: 1535 enterOuterAlt(_localctx, 2); 1536 { 1537 setState(181); 1538 stringLiteral(); 1539 } 1540 break; 1541 default: 1542 throw new NoViableAltException(this); 1543 } 1544 } 1545 catch (RecognitionException re) { 1546 _localctx.exception = re; 1547 _errHandler.reportError(this, re); 1548 _errHandler.recover(this, re); 1549 } 1550 finally { 1551 exitRule(); 1552 } 1553 return _localctx; 1554 } 1555 1556 public static class IdentifierContext extends ParserRuleContext { 1557 public TerminalNode Identifier() { return getToken(BindingExpressionParser.Identifier, 0); } 1558 public IdentifierContext(ParserRuleContext parent, int invokingState) { 1559 super(parent, invokingState); 1560 } 1561 @Override public int getRuleIndex() { return RULE_identifier; } 1562 @Override 1563 public void enterRule(ParseTreeListener listener) { 1564 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterIdentifier(this); 1565 } 1566 @Override 1567 public void exitRule(ParseTreeListener listener) { 1568 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitIdentifier(this); 1569 } 1570 @Override 1571 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1572 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitIdentifier(this); 1573 else return visitor.visitChildren(this); 1574 } 1575 } 1576 1577 public final IdentifierContext identifier() throws RecognitionException { 1578 IdentifierContext _localctx = new IdentifierContext(_ctx, getState()); 1579 enterRule(_localctx, 20, RULE_identifier); 1580 try { 1581 enterOuterAlt(_localctx, 1); 1582 { 1583 setState(184); 1584 match(Identifier); 1585 } 1586 } 1587 catch (RecognitionException re) { 1588 _localctx.exception = re; 1589 _errHandler.reportError(this, re); 1590 _errHandler.recover(this, re); 1591 } 1592 finally { 1593 exitRule(); 1594 } 1595 return _localctx; 1596 } 1597 1598 public static class JavaLiteralContext extends ParserRuleContext { 1599 public TerminalNode IntegerLiteral() { return getToken(BindingExpressionParser.IntegerLiteral, 0); } 1600 public TerminalNode FloatingPointLiteral() { return getToken(BindingExpressionParser.FloatingPointLiteral, 0); } 1601 public TerminalNode BooleanLiteral() { return getToken(BindingExpressionParser.BooleanLiteral, 0); } 1602 public TerminalNode NullLiteral() { return getToken(BindingExpressionParser.NullLiteral, 0); } 1603 public TerminalNode CharacterLiteral() { return getToken(BindingExpressionParser.CharacterLiteral, 0); } 1604 public JavaLiteralContext(ParserRuleContext parent, int invokingState) { 1605 super(parent, invokingState); 1606 } 1607 @Override public int getRuleIndex() { return RULE_javaLiteral; } 1608 @Override 1609 public void enterRule(ParseTreeListener listener) { 1610 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterJavaLiteral(this); 1611 } 1612 @Override 1613 public void exitRule(ParseTreeListener listener) { 1614 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitJavaLiteral(this); 1615 } 1616 @Override 1617 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1618 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitJavaLiteral(this); 1619 else return visitor.visitChildren(this); 1620 } 1621 } 1622 1623 public final JavaLiteralContext javaLiteral() throws RecognitionException { 1624 JavaLiteralContext _localctx = new JavaLiteralContext(_ctx, getState()); 1625 enterRule(_localctx, 22, RULE_javaLiteral); 1626 int _la; 1627 try { 1628 enterOuterAlt(_localctx, 1); 1629 { 1630 setState(186); 1631 _la = _input.LA(1); 1632 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << NullLiteral))) != 0)) ) { 1633 _errHandler.recoverInline(this); 1634 } else { 1635 consume(); 1636 } 1637 } 1638 } 1639 catch (RecognitionException re) { 1640 _localctx.exception = re; 1641 _errHandler.reportError(this, re); 1642 _errHandler.recover(this, re); 1643 } 1644 finally { 1645 exitRule(); 1646 } 1647 return _localctx; 1648 } 1649 1650 public static class StringLiteralContext extends ParserRuleContext { 1651 public TerminalNode SingleQuoteString() { return getToken(BindingExpressionParser.SingleQuoteString, 0); } 1652 public TerminalNode DoubleQuoteString() { return getToken(BindingExpressionParser.DoubleQuoteString, 0); } 1653 public StringLiteralContext(ParserRuleContext parent, int invokingState) { 1654 super(parent, invokingState); 1655 } 1656 @Override public int getRuleIndex() { return RULE_stringLiteral; } 1657 @Override 1658 public void enterRule(ParseTreeListener listener) { 1659 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterStringLiteral(this); 1660 } 1661 @Override 1662 public void exitRule(ParseTreeListener listener) { 1663 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitStringLiteral(this); 1664 } 1665 @Override 1666 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1667 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitStringLiteral(this); 1668 else return visitor.visitChildren(this); 1669 } 1670 } 1671 1672 public final StringLiteralContext stringLiteral() throws RecognitionException { 1673 StringLiteralContext _localctx = new StringLiteralContext(_ctx, getState()); 1674 enterRule(_localctx, 24, RULE_stringLiteral); 1675 int _la; 1676 try { 1677 enterOuterAlt(_localctx, 1); 1678 { 1679 setState(188); 1680 _la = _input.LA(1); 1681 if ( !(_la==SingleQuoteString || _la==DoubleQuoteString) ) { 1682 _errHandler.recoverInline(this); 1683 } else { 1684 consume(); 1685 } 1686 } 1687 } 1688 catch (RecognitionException re) { 1689 _localctx.exception = re; 1690 _errHandler.reportError(this, re); 1691 _errHandler.recover(this, re); 1692 } 1693 finally { 1694 exitRule(); 1695 } 1696 return _localctx; 1697 } 1698 1699 public static class ExplicitGenericInvocationContext extends ParserRuleContext { 1700 public TypeArgumentsContext typeArguments() { 1701 return getRuleContext(TypeArgumentsContext.class,0); 1702 } 1703 public ExplicitGenericInvocationSuffixContext explicitGenericInvocationSuffix() { 1704 return getRuleContext(ExplicitGenericInvocationSuffixContext.class,0); 1705 } 1706 public ExplicitGenericInvocationContext(ParserRuleContext parent, int invokingState) { 1707 super(parent, invokingState); 1708 } 1709 @Override public int getRuleIndex() { return RULE_explicitGenericInvocation; } 1710 @Override 1711 public void enterRule(ParseTreeListener listener) { 1712 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterExplicitGenericInvocation(this); 1713 } 1714 @Override 1715 public void exitRule(ParseTreeListener listener) { 1716 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitExplicitGenericInvocation(this); 1717 } 1718 @Override 1719 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1720 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitExplicitGenericInvocation(this); 1721 else return visitor.visitChildren(this); 1722 } 1723 } 1724 1725 public final ExplicitGenericInvocationContext explicitGenericInvocation() throws RecognitionException { 1726 ExplicitGenericInvocationContext _localctx = new ExplicitGenericInvocationContext(_ctx, getState()); 1727 enterRule(_localctx, 26, RULE_explicitGenericInvocation); 1728 try { 1729 enterOuterAlt(_localctx, 1); 1730 { 1731 setState(190); 1732 typeArguments(); 1733 setState(191); 1734 explicitGenericInvocationSuffix(); 1735 } 1736 } 1737 catch (RecognitionException re) { 1738 _localctx.exception = re; 1739 _errHandler.reportError(this, re); 1740 _errHandler.recover(this, re); 1741 } 1742 finally { 1743 exitRule(); 1744 } 1745 return _localctx; 1746 } 1747 1748 public static class TypeArgumentsContext extends ParserRuleContext { 1749 public List<TypeContext> type() { 1750 return getRuleContexts(TypeContext.class); 1751 } 1752 public TypeContext type(int i) { 1753 return getRuleContext(TypeContext.class,i); 1754 } 1755 public TypeArgumentsContext(ParserRuleContext parent, int invokingState) { 1756 super(parent, invokingState); 1757 } 1758 @Override public int getRuleIndex() { return RULE_typeArguments; } 1759 @Override 1760 public void enterRule(ParseTreeListener listener) { 1761 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterTypeArguments(this); 1762 } 1763 @Override 1764 public void exitRule(ParseTreeListener listener) { 1765 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitTypeArguments(this); 1766 } 1767 @Override 1768 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1769 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitTypeArguments(this); 1770 else return visitor.visitChildren(this); 1771 } 1772 } 1773 1774 public final TypeArgumentsContext typeArguments() throws RecognitionException { 1775 TypeArgumentsContext _localctx = new TypeArgumentsContext(_ctx, getState()); 1776 enterRule(_localctx, 28, RULE_typeArguments); 1777 int _la; 1778 try { 1779 enterOuterAlt(_localctx, 1); 1780 { 1781 setState(193); 1782 match(T__23); 1783 setState(194); 1784 type(); 1785 setState(199); 1786 _errHandler.sync(this); 1787 _la = _input.LA(1); 1788 while (_la==T__0) { 1789 { 1790 { 1791 setState(195); 1792 match(T__0); 1793 setState(196); 1794 type(); 1795 } 1796 } 1797 setState(201); 1798 _errHandler.sync(this); 1799 _la = _input.LA(1); 1800 } 1801 setState(202); 1802 match(T__22); 1803 } 1804 } 1805 catch (RecognitionException re) { 1806 _localctx.exception = re; 1807 _errHandler.reportError(this, re); 1808 _errHandler.recover(this, re); 1809 } 1810 finally { 1811 exitRule(); 1812 } 1813 return _localctx; 1814 } 1815 1816 public static class TypeContext extends ParserRuleContext { 1817 public ClassOrInterfaceTypeContext classOrInterfaceType() { 1818 return getRuleContext(ClassOrInterfaceTypeContext.class,0); 1819 } 1820 public PrimitiveTypeContext primitiveType() { 1821 return getRuleContext(PrimitiveTypeContext.class,0); 1822 } 1823 public TypeContext(ParserRuleContext parent, int invokingState) { 1824 super(parent, invokingState); 1825 } 1826 @Override public int getRuleIndex() { return RULE_type; } 1827 @Override 1828 public void enterRule(ParseTreeListener listener) { 1829 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterType(this); 1830 } 1831 @Override 1832 public void exitRule(ParseTreeListener listener) { 1833 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitType(this); 1834 } 1835 @Override 1836 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1837 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitType(this); 1838 else return visitor.visitChildren(this); 1839 } 1840 } 1841 1842 public final TypeContext type() throws RecognitionException { 1843 TypeContext _localctx = new TypeContext(_ctx, getState()); 1844 enterRule(_localctx, 30, RULE_type); 1845 try { 1846 int _alt; 1847 setState(220); 1848 switch (_input.LA(1)) { 1849 case Identifier: 1850 enterOuterAlt(_localctx, 1); 1851 { 1852 setState(204); 1853 classOrInterfaceType(); 1854 setState(209); 1855 _errHandler.sync(this); 1856 _alt = getInterpreter().adaptivePredict(_input,13,_ctx); 1857 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { 1858 if ( _alt==1 ) { 1859 { 1860 { 1861 setState(205); 1862 match(T__8); 1863 setState(206); 1864 match(T__9); 1865 } 1866 } 1867 } 1868 setState(211); 1869 _errHandler.sync(this); 1870 _alt = getInterpreter().adaptivePredict(_input,13,_ctx); 1871 } 1872 } 1873 break; 1874 case T__36: 1875 case T__37: 1876 case T__38: 1877 case T__39: 1878 case T__40: 1879 case T__41: 1880 case T__42: 1881 case T__43: 1882 enterOuterAlt(_localctx, 2); 1883 { 1884 setState(212); 1885 primitiveType(); 1886 setState(217); 1887 _errHandler.sync(this); 1888 _alt = getInterpreter().adaptivePredict(_input,14,_ctx); 1889 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { 1890 if ( _alt==1 ) { 1891 { 1892 { 1893 setState(213); 1894 match(T__8); 1895 setState(214); 1896 match(T__9); 1897 } 1898 } 1899 } 1900 setState(219); 1901 _errHandler.sync(this); 1902 _alt = getInterpreter().adaptivePredict(_input,14,_ctx); 1903 } 1904 } 1905 break; 1906 default: 1907 throw new NoViableAltException(this); 1908 } 1909 } 1910 catch (RecognitionException re) { 1911 _localctx.exception = re; 1912 _errHandler.reportError(this, re); 1913 _errHandler.recover(this, re); 1914 } 1915 finally { 1916 exitRule(); 1917 } 1918 return _localctx; 1919 } 1920 1921 public static class ExplicitGenericInvocationSuffixContext extends ParserRuleContext { 1922 public TerminalNode Identifier() { return getToken(BindingExpressionParser.Identifier, 0); } 1923 public ArgumentsContext arguments() { 1924 return getRuleContext(ArgumentsContext.class,0); 1925 } 1926 public ExplicitGenericInvocationSuffixContext(ParserRuleContext parent, int invokingState) { 1927 super(parent, invokingState); 1928 } 1929 @Override public int getRuleIndex() { return RULE_explicitGenericInvocationSuffix; } 1930 @Override 1931 public void enterRule(ParseTreeListener listener) { 1932 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterExplicitGenericInvocationSuffix(this); 1933 } 1934 @Override 1935 public void exitRule(ParseTreeListener listener) { 1936 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitExplicitGenericInvocationSuffix(this); 1937 } 1938 @Override 1939 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1940 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitExplicitGenericInvocationSuffix(this); 1941 else return visitor.visitChildren(this); 1942 } 1943 } 1944 1945 public final ExplicitGenericInvocationSuffixContext explicitGenericInvocationSuffix() throws RecognitionException { 1946 ExplicitGenericInvocationSuffixContext _localctx = new ExplicitGenericInvocationSuffixContext(_ctx, getState()); 1947 enterRule(_localctx, 32, RULE_explicitGenericInvocationSuffix); 1948 try { 1949 enterOuterAlt(_localctx, 1); 1950 { 1951 setState(222); 1952 match(Identifier); 1953 setState(223); 1954 arguments(); 1955 } 1956 } 1957 catch (RecognitionException re) { 1958 _localctx.exception = re; 1959 _errHandler.reportError(this, re); 1960 _errHandler.recover(this, re); 1961 } 1962 finally { 1963 exitRule(); 1964 } 1965 return _localctx; 1966 } 1967 1968 public static class ArgumentsContext extends ParserRuleContext { 1969 public ExpressionListContext expressionList() { 1970 return getRuleContext(ExpressionListContext.class,0); 1971 } 1972 public ArgumentsContext(ParserRuleContext parent, int invokingState) { 1973 super(parent, invokingState); 1974 } 1975 @Override public int getRuleIndex() { return RULE_arguments; } 1976 @Override 1977 public void enterRule(ParseTreeListener listener) { 1978 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterArguments(this); 1979 } 1980 @Override 1981 public void exitRule(ParseTreeListener listener) { 1982 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitArguments(this); 1983 } 1984 @Override 1985 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 1986 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitArguments(this); 1987 else return visitor.visitChildren(this); 1988 } 1989 } 1990 1991 public final ArgumentsContext arguments() throws RecognitionException { 1992 ArgumentsContext _localctx = new ArgumentsContext(_ctx, getState()); 1993 enterRule(_localctx, 34, RULE_arguments); 1994 int _la; 1995 try { 1996 enterOuterAlt(_localctx, 1); 1997 { 1998 setState(225); 1999 match(T__4); 2000 setState(227); 2001 _la = _input.LA(1); 2002 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__4) | (1L << T__10) | (1L << T__11) | (1L << T__12) | (1L << T__13) | (1L << T__36) | (1L << T__37) | (1L << T__38) | (1L << T__39) | (1L << T__40) | (1L << T__41) | (1L << T__42) | (1L << T__43) | (1L << VoidLiteral) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << SingleQuoteString) | (1L << DoubleQuoteString) | (1L << NullLiteral) | (1L << Identifier) | (1L << ResourceReference))) != 0)) { 2003 { 2004 setState(226); 2005 expressionList(); 2006 } 2007 } 2008 2009 setState(229); 2010 match(T__5); 2011 } 2012 } 2013 catch (RecognitionException re) { 2014 _localctx.exception = re; 2015 _errHandler.reportError(this, re); 2016 _errHandler.recover(this, re); 2017 } 2018 finally { 2019 exitRule(); 2020 } 2021 return _localctx; 2022 } 2023 2024 public static class ClassOrInterfaceTypeContext extends ParserRuleContext { 2025 public IdentifierContext identifier() { 2026 return getRuleContext(IdentifierContext.class,0); 2027 } 2028 public List<TypeArgumentsContext> typeArguments() { 2029 return getRuleContexts(TypeArgumentsContext.class); 2030 } 2031 public TypeArgumentsContext typeArguments(int i) { 2032 return getRuleContext(TypeArgumentsContext.class,i); 2033 } 2034 public List<TerminalNode> Identifier() { return getTokens(BindingExpressionParser.Identifier); } 2035 public TerminalNode Identifier(int i) { 2036 return getToken(BindingExpressionParser.Identifier, i); 2037 } 2038 public ClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { 2039 super(parent, invokingState); 2040 } 2041 @Override public int getRuleIndex() { return RULE_classOrInterfaceType; } 2042 @Override 2043 public void enterRule(ParseTreeListener listener) { 2044 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterClassOrInterfaceType(this); 2045 } 2046 @Override 2047 public void exitRule(ParseTreeListener listener) { 2048 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitClassOrInterfaceType(this); 2049 } 2050 @Override 2051 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 2052 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitClassOrInterfaceType(this); 2053 else return visitor.visitChildren(this); 2054 } 2055 } 2056 2057 public final ClassOrInterfaceTypeContext classOrInterfaceType() throws RecognitionException { 2058 ClassOrInterfaceTypeContext _localctx = new ClassOrInterfaceTypeContext(_ctx, getState()); 2059 enterRule(_localctx, 36, RULE_classOrInterfaceType); 2060 try { 2061 int _alt; 2062 enterOuterAlt(_localctx, 1); 2063 { 2064 setState(231); 2065 identifier(); 2066 setState(233); 2067 _errHandler.sync(this); 2068 switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) { 2069 case 1: 2070 { 2071 setState(232); 2072 typeArguments(); 2073 } 2074 break; 2075 } 2076 setState(242); 2077 _errHandler.sync(this); 2078 _alt = getInterpreter().adaptivePredict(_input,19,_ctx); 2079 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { 2080 if ( _alt==1 ) { 2081 { 2082 { 2083 setState(235); 2084 match(T__6); 2085 setState(236); 2086 match(Identifier); 2087 setState(238); 2088 _errHandler.sync(this); 2089 switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) { 2090 case 1: 2091 { 2092 setState(237); 2093 typeArguments(); 2094 } 2095 break; 2096 } 2097 } 2098 } 2099 } 2100 setState(244); 2101 _errHandler.sync(this); 2102 _alt = getInterpreter().adaptivePredict(_input,19,_ctx); 2103 } 2104 } 2105 } 2106 catch (RecognitionException re) { 2107 _localctx.exception = re; 2108 _errHandler.reportError(this, re); 2109 _errHandler.recover(this, re); 2110 } 2111 finally { 2112 exitRule(); 2113 } 2114 return _localctx; 2115 } 2116 2117 public static class PrimitiveTypeContext extends ParserRuleContext { 2118 public PrimitiveTypeContext(ParserRuleContext parent, int invokingState) { 2119 super(parent, invokingState); 2120 } 2121 @Override public int getRuleIndex() { return RULE_primitiveType; } 2122 @Override 2123 public void enterRule(ParseTreeListener listener) { 2124 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterPrimitiveType(this); 2125 } 2126 @Override 2127 public void exitRule(ParseTreeListener listener) { 2128 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitPrimitiveType(this); 2129 } 2130 @Override 2131 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 2132 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitPrimitiveType(this); 2133 else return visitor.visitChildren(this); 2134 } 2135 } 2136 2137 public final PrimitiveTypeContext primitiveType() throws RecognitionException { 2138 PrimitiveTypeContext _localctx = new PrimitiveTypeContext(_ctx, getState()); 2139 enterRule(_localctx, 38, RULE_primitiveType); 2140 int _la; 2141 try { 2142 enterOuterAlt(_localctx, 1); 2143 { 2144 setState(245); 2145 _la = _input.LA(1); 2146 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__36) | (1L << T__37) | (1L << T__38) | (1L << T__39) | (1L << T__40) | (1L << T__41) | (1L << T__42) | (1L << T__43))) != 0)) ) { 2147 _errHandler.recoverInline(this); 2148 } else { 2149 consume(); 2150 } 2151 } 2152 } 2153 catch (RecognitionException re) { 2154 _localctx.exception = re; 2155 _errHandler.reportError(this, re); 2156 _errHandler.recover(this, re); 2157 } 2158 finally { 2159 exitRule(); 2160 } 2161 return _localctx; 2162 } 2163 2164 public static class ResourcesContext extends ParserRuleContext { 2165 public TerminalNode ResourceReference() { return getToken(BindingExpressionParser.ResourceReference, 0); } 2166 public ResourceParametersContext resourceParameters() { 2167 return getRuleContext(ResourceParametersContext.class,0); 2168 } 2169 public ResourcesContext(ParserRuleContext parent, int invokingState) { 2170 super(parent, invokingState); 2171 } 2172 @Override public int getRuleIndex() { return RULE_resources; } 2173 @Override 2174 public void enterRule(ParseTreeListener listener) { 2175 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterResources(this); 2176 } 2177 @Override 2178 public void exitRule(ParseTreeListener listener) { 2179 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitResources(this); 2180 } 2181 @Override 2182 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 2183 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitResources(this); 2184 else return visitor.visitChildren(this); 2185 } 2186 } 2187 2188 public final ResourcesContext resources() throws RecognitionException { 2189 ResourcesContext _localctx = new ResourcesContext(_ctx, getState()); 2190 enterRule(_localctx, 40, RULE_resources); 2191 try { 2192 enterOuterAlt(_localctx, 1); 2193 { 2194 setState(247); 2195 match(ResourceReference); 2196 setState(249); 2197 _errHandler.sync(this); 2198 switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) { 2199 case 1: 2200 { 2201 setState(248); 2202 resourceParameters(); 2203 } 2204 break; 2205 } 2206 } 2207 } 2208 catch (RecognitionException re) { 2209 _localctx.exception = re; 2210 _errHandler.reportError(this, re); 2211 _errHandler.recover(this, re); 2212 } 2213 finally { 2214 exitRule(); 2215 } 2216 return _localctx; 2217 } 2218 2219 public static class ResourceParametersContext extends ParserRuleContext { 2220 public ExpressionListContext expressionList() { 2221 return getRuleContext(ExpressionListContext.class,0); 2222 } 2223 public ResourceParametersContext(ParserRuleContext parent, int invokingState) { 2224 super(parent, invokingState); 2225 } 2226 @Override public int getRuleIndex() { return RULE_resourceParameters; } 2227 @Override 2228 public void enterRule(ParseTreeListener listener) { 2229 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterResourceParameters(this); 2230 } 2231 @Override 2232 public void exitRule(ParseTreeListener listener) { 2233 if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitResourceParameters(this); 2234 } 2235 @Override 2236 public <T> T accept(ParseTreeVisitor<? extends T> visitor) { 2237 if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitResourceParameters(this); 2238 else return visitor.visitChildren(this); 2239 } 2240 } 2241 2242 public final ResourceParametersContext resourceParameters() throws RecognitionException { 2243 ResourceParametersContext _localctx = new ResourceParametersContext(_ctx, getState()); 2244 enterRule(_localctx, 42, RULE_resourceParameters); 2245 try { 2246 enterOuterAlt(_localctx, 1); 2247 { 2248 setState(251); 2249 match(T__4); 2250 setState(252); 2251 expressionList(); 2252 setState(253); 2253 match(T__5); 2254 } 2255 } 2256 catch (RecognitionException re) { 2257 _localctx.exception = re; 2258 _errHandler.reportError(this, re); 2259 _errHandler.recover(this, re); 2260 } 2261 finally { 2262 exitRule(); 2263 } 2264 return _localctx; 2265 } 2266 2267 public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { 2268 switch (ruleIndex) { 2269 case 6: 2270 return expression_sempred((ExpressionContext)_localctx, predIndex); 2271 } 2272 return true; 2273 } 2274 private boolean expression_sempred(ExpressionContext _localctx, int predIndex) { 2275 switch (predIndex) { 2276 case 0: 2277 return precpred(_ctx, 13); 2278 case 1: 2279 return precpred(_ctx, 12); 2280 case 2: 2281 return precpred(_ctx, 11); 2282 case 3: 2283 return precpred(_ctx, 10); 2284 case 4: 2285 return precpred(_ctx, 8); 2286 case 5: 2287 return precpred(_ctx, 7); 2288 case 6: 2289 return precpred(_ctx, 6); 2290 case 7: 2291 return precpred(_ctx, 5); 2292 case 8: 2293 return precpred(_ctx, 4); 2294 case 9: 2295 return precpred(_ctx, 3); 2296 case 10: 2297 return precpred(_ctx, 2); 2298 case 11: 2299 return precpred(_ctx, 1); 2300 case 12: 2301 return precpred(_ctx, 20); 2302 case 13: 2303 return precpred(_ctx, 19); 2304 case 14: 2305 return precpred(_ctx, 18); 2306 case 15: 2307 return precpred(_ctx, 17); 2308 case 16: 2309 return precpred(_ctx, 9); 2310 } 2311 return true; 2312 } 2313 2314 public static final String _serializedATN = 2315 "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3<\u0102\4\2\t\2\4"+ 2316 "\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"+ 2317 "\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"+ 2318 "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\3\2\3\2\5\2\61\n\2"+ 2319 "\3\2\5\2\64\n\2\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\5\4>\n\4\3\5\3\5\3\5\3"+ 2320 "\5\3\6\3\6\3\6\5\6G\n\6\3\6\5\6J\n\6\3\7\3\7\3\7\7\7O\n\7\f\7\16\7R\13"+ 2321 "\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b"+ 2322 "\3\b\3\b\5\bg\n\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b"+ 2323 "\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3"+ 2324 "\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b"+ 2325 "\3\b\3\b\3\b\3\b\3\b\3\b\3\b\5\b\u00a0\n\b\3\b\3\b\3\b\3\b\7\b\u00a6\n"+ 2326 "\b\f\b\16\b\u00a9\13\b\3\t\3\t\3\t\3\t\3\n\3\n\3\n\7\n\u00b2\n\n\f\n\16"+ 2327 "\n\u00b5\13\n\3\13\3\13\5\13\u00b9\n\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17"+ 2328 "\3\17\3\17\3\20\3\20\3\20\3\20\7\20\u00c8\n\20\f\20\16\20\u00cb\13\20"+ 2329 "\3\20\3\20\3\21\3\21\3\21\7\21\u00d2\n\21\f\21\16\21\u00d5\13\21\3\21"+ 2330 "\3\21\3\21\7\21\u00da\n\21\f\21\16\21\u00dd\13\21\5\21\u00df\n\21\3\22"+ 2331 "\3\22\3\22\3\23\3\23\5\23\u00e6\n\23\3\23\3\23\3\24\3\24\5\24\u00ec\n"+ 2332 "\24\3\24\3\24\3\24\5\24\u00f1\n\24\7\24\u00f3\n\24\f\24\16\24\u00f6\13"+ 2333 "\24\3\25\3\25\3\26\3\26\5\26\u00fc\n\26\3\27\3\27\3\27\3\27\3\27\2\3\16"+ 2334 "\30\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,\2\13\3\2\r\16\3\2\17"+ 2335 "\20\3\2\21\23\3\2\24\26\3\2\27\32\3\2\34\35\4\2\61\64\67\67\3\2\65\66"+ 2336 "\3\2\'.\u0117\2\63\3\2\2\2\4\65\3\2\2\2\6=\3\2\2\2\b?\3\2\2\2\nI\3\2\2"+ 2337 "\2\fK\3\2\2\2\16f\3\2\2\2\20\u00aa\3\2\2\2\22\u00ae\3\2\2\2\24\u00b8\3"+ 2338 "\2\2\2\26\u00ba\3\2\2\2\30\u00bc\3\2\2\2\32\u00be\3\2\2\2\34\u00c0\3\2"+ 2339 "\2\2\36\u00c3\3\2\2\2 \u00de\3\2\2\2\"\u00e0\3\2\2\2$\u00e3\3\2\2\2&\u00e9"+ 2340 "\3\2\2\2(\u00f7\3\2\2\2*\u00f9\3\2\2\2,\u00fd\3\2\2\2.\60\5\16\b\2/\61"+ 2341 "\5\4\3\2\60/\3\2\2\2\60\61\3\2\2\2\61\64\3\2\2\2\62\64\5\b\5\2\63.\3\2"+ 2342 "\2\2\63\62\3\2\2\2\64\3\3\2\2\2\65\66\7\3\2\2\66\67\7\4\2\2\678\7\5\2"+ 2343 "\289\5\6\4\29\5\3\2\2\2:>\5\24\13\2;>\7:\2\2<>\5\26\f\2=:\3\2\2\2=;\3"+ 2344 "\2\2\2=<\3\2\2\2>\7\3\2\2\2?@\5\n\6\2@A\7\6\2\2AB\5\16\b\2B\t\3\2\2\2"+ 2345 "CJ\78\2\2DF\7\7\2\2EG\5\f\7\2FE\3\2\2\2FG\3\2\2\2GH\3\2\2\2HJ\7\b\2\2"+ 2346 "IC\3\2\2\2ID\3\2\2\2J\13\3\2\2\2KP\78\2\2LM\7\3\2\2MO\78\2\2NL\3\2\2\2"+ 2347 "OR\3\2\2\2PN\3\2\2\2PQ\3\2\2\2Q\r\3\2\2\2RP\3\2\2\2ST\b\b\1\2TU\7\7\2"+ 2348 "\2UV\5\16\b\2VW\7\b\2\2Wg\3\2\2\2Xg\5\24\13\2Yg\7\60\2\2Zg\5\26\f\2[g"+ 2349 "\5\20\t\2\\g\5*\26\2]^\7\7\2\2^_\5 \21\2_`\7\b\2\2`a\5\16\b\22ag\3\2\2"+ 2350 "\2bc\t\2\2\2cg\5\16\b\21de\t\3\2\2eg\5\16\b\20fS\3\2\2\2fX\3\2\2\2fY\3"+ 2351 "\2\2\2fZ\3\2\2\2f[\3\2\2\2f\\\3\2\2\2f]\3\2\2\2fb\3\2\2\2fd\3\2\2\2g\u00a7"+ 2352 "\3\2\2\2hi\f\17\2\2ij\t\4\2\2j\u00a6\5\16\b\20kl\f\16\2\2lm\t\2\2\2m\u00a6"+ 2353 "\5\16\b\17no\f\r\2\2op\t\5\2\2p\u00a6\5\16\b\16qr\f\f\2\2rs\t\6\2\2s\u00a6"+ 2354 "\5\16\b\rtu\f\n\2\2uv\t\7\2\2v\u00a6\5\16\b\13wx\f\t\2\2xy\7\36\2\2y\u00a6"+ 2355 "\5\16\b\nz{\f\b\2\2{|\7\37\2\2|\u00a6\5\16\b\t}~\f\7\2\2~\177\7 \2\2\177"+ 2356 "\u00a6\5\16\b\b\u0080\u0081\f\6\2\2\u0081\u0082\7!\2\2\u0082\u00a6\5\16"+ 2357 "\b\7\u0083\u0084\f\5\2\2\u0084\u0085\7\"\2\2\u0085\u00a6\5\16\b\6\u0086"+ 2358 "\u0087\f\4\2\2\u0087\u0088\7#\2\2\u0088\u0089\5\16\b\2\u0089\u008a\7$"+ 2359 "\2\2\u008a\u008b\5\16\b\4\u008b\u00a6\3\2\2\2\u008c\u008d\f\3\2\2\u008d"+ 2360 "\u008e\7%\2\2\u008e\u00a6\5\16\b\4\u008f\u0090\f\26\2\2\u0090\u0091\7"+ 2361 "\t\2\2\u0091\u00a6\78\2\2\u0092\u0093\f\25\2\2\u0093\u0094\7\n\2\2\u0094"+ 2362 "\u00a6\78\2\2\u0095\u0096\f\24\2\2\u0096\u0097\7\13\2\2\u0097\u0098\5"+ 2363 "\16\b\2\u0098\u0099\7\f\2\2\u0099\u00a6\3\2\2\2\u009a\u009b\f\23\2\2\u009b"+ 2364 "\u009c\7\t\2\2\u009c\u009d\78\2\2\u009d\u009f\7\7\2\2\u009e\u00a0\5\22"+ 2365 "\n\2\u009f\u009e\3\2\2\2\u009f\u00a0\3\2\2\2\u00a0\u00a1\3\2\2\2\u00a1"+ 2366 "\u00a6\7\b\2\2\u00a2\u00a3\f\13\2\2\u00a3\u00a4\7\33\2\2\u00a4\u00a6\5"+ 2367 " \21\2\u00a5h\3\2\2\2\u00a5k\3\2\2\2\u00a5n\3\2\2\2\u00a5q\3\2\2\2\u00a5"+ 2368 "t\3\2\2\2\u00a5w\3\2\2\2\u00a5z\3\2\2\2\u00a5}\3\2\2\2\u00a5\u0080\3\2"+ 2369 "\2\2\u00a5\u0083\3\2\2\2\u00a5\u0086\3\2\2\2\u00a5\u008c\3\2\2\2\u00a5"+ 2370 "\u008f\3\2\2\2\u00a5\u0092\3\2\2\2\u00a5\u0095\3\2\2\2\u00a5\u009a\3\2"+ 2371 "\2\2\u00a5\u00a2\3\2\2\2\u00a6\u00a9\3\2\2\2\u00a7\u00a5\3\2\2\2\u00a7"+ 2372 "\u00a8\3\2\2\2\u00a8\17\3\2\2\2\u00a9\u00a7\3\2\2\2\u00aa\u00ab\5 \21"+ 2373 "\2\u00ab\u00ac\7\t\2\2\u00ac\u00ad\7&\2\2\u00ad\21\3\2\2\2\u00ae\u00b3"+ 2374 "\5\16\b\2\u00af\u00b0\7\3\2\2\u00b0\u00b2\5\16\b\2\u00b1\u00af\3\2\2\2"+ 2375 "\u00b2\u00b5\3\2\2\2\u00b3\u00b1\3\2\2\2\u00b3\u00b4\3\2\2\2\u00b4\23"+ 2376 "\3\2\2\2\u00b5\u00b3\3\2\2\2\u00b6\u00b9\5\30\r\2\u00b7\u00b9\5\32\16"+ 2377 "\2\u00b8\u00b6\3\2\2\2\u00b8\u00b7\3\2\2\2\u00b9\25\3\2\2\2\u00ba\u00bb"+ 2378 "\78\2\2\u00bb\27\3\2\2\2\u00bc\u00bd\t\b\2\2\u00bd\31\3\2\2\2\u00be\u00bf"+ 2379 "\t\t\2\2\u00bf\33\3\2\2\2\u00c0\u00c1\5\36\20\2\u00c1\u00c2\5\"\22\2\u00c2"+ 2380 "\35\3\2\2\2\u00c3\u00c4\7\32\2\2\u00c4\u00c9\5 \21\2\u00c5\u00c6\7\3\2"+ 2381 "\2\u00c6\u00c8\5 \21\2\u00c7\u00c5\3\2\2\2\u00c8\u00cb\3\2\2\2\u00c9\u00c7"+ 2382 "\3\2\2\2\u00c9\u00ca\3\2\2\2\u00ca\u00cc\3\2\2\2\u00cb\u00c9\3\2\2\2\u00cc"+ 2383 "\u00cd\7\31\2\2\u00cd\37\3\2\2\2\u00ce\u00d3\5&\24\2\u00cf\u00d0\7\13"+ 2384 "\2\2\u00d0\u00d2\7\f\2\2\u00d1\u00cf\3\2\2\2\u00d2\u00d5\3\2\2\2\u00d3"+ 2385 "\u00d1\3\2\2\2\u00d3\u00d4\3\2\2\2\u00d4\u00df\3\2\2\2\u00d5\u00d3\3\2"+ 2386 "\2\2\u00d6\u00db\5(\25\2\u00d7\u00d8\7\13\2\2\u00d8\u00da\7\f\2\2\u00d9"+ 2387 "\u00d7\3\2\2\2\u00da\u00dd\3\2\2\2\u00db\u00d9\3\2\2\2\u00db\u00dc\3\2"+ 2388 "\2\2\u00dc\u00df\3\2\2\2\u00dd\u00db\3\2\2\2\u00de\u00ce\3\2\2\2\u00de"+ 2389 "\u00d6\3\2\2\2\u00df!\3\2\2\2\u00e0\u00e1\78\2\2\u00e1\u00e2\5$\23\2\u00e2"+ 2390 "#\3\2\2\2\u00e3\u00e5\7\7\2\2\u00e4\u00e6\5\22\n\2\u00e5\u00e4\3\2\2\2"+ 2391 "\u00e5\u00e6\3\2\2\2\u00e6\u00e7\3\2\2\2\u00e7\u00e8\7\b\2\2\u00e8%\3"+ 2392 "\2\2\2\u00e9\u00eb\5\26\f\2\u00ea\u00ec\5\36\20\2\u00eb\u00ea\3\2\2\2"+ 2393 "\u00eb\u00ec\3\2\2\2\u00ec\u00f4\3\2\2\2\u00ed\u00ee\7\t\2\2\u00ee\u00f0"+ 2394 "\78\2\2\u00ef\u00f1\5\36\20\2\u00f0\u00ef\3\2\2\2\u00f0\u00f1\3\2\2\2"+ 2395 "\u00f1\u00f3\3\2\2\2\u00f2\u00ed\3\2\2\2\u00f3\u00f6\3\2\2\2\u00f4\u00f2"+ 2396 "\3\2\2\2\u00f4\u00f5\3\2\2\2\u00f5\'\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f7"+ 2397 "\u00f8\t\n\2\2\u00f8)\3\2\2\2\u00f9\u00fb\7:\2\2\u00fa\u00fc\5,\27\2\u00fb"+ 2398 "\u00fa\3\2\2\2\u00fb\u00fc\3\2\2\2\u00fc+\3\2\2\2\u00fd\u00fe\7\7\2\2"+ 2399 "\u00fe\u00ff\5\22\n\2\u00ff\u0100\7\b\2\2\u0100-\3\2\2\2\27\60\63=FIP"+ 2400 "f\u009f\u00a5\u00a7\u00b3\u00b8\u00c9\u00d3\u00db\u00de\u00e5\u00eb\u00f0"+ 2401 "\u00f4\u00fb"; 2402 public static final ATN _ATN = 2403 new ATNDeserializer().deserialize(_serializedATN.toCharArray()); 2404 static { 2405 _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; 2406 for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { 2407 _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); 2408 } 2409 } 2410}