()
| 597 | * Choice For Choice markup a ? b : c, then Or |
| 598 | */ |
| 599 | final public void Choice() throws ParseException { |
| 600 | Or(); |
| 601 | label_6: |
| 602 | while (true) { |
| 603 | if (jj_2_5(3)) { |
| 604 | ; |
| 605 | } else { |
| 606 | break label_6; |
| 607 | } |
| 608 | jj_consume_token(QUESTIONMARK); |
| 609 | Choice(); |
| 610 | jj_consume_token(COLON); |
| 611 | AstChoice jjtn001 = new AstChoice(JJTCHOICE); |
| 612 | boolean jjtc001 = true; |
| 613 | jjtree.openNodeScope(jjtn001); |
| 614 | try { |
| 615 | Choice(); |
| 616 | } catch (Throwable jjte001) { |
| 617 | if (jjtc001) { |
| 618 | jjtree.clearNodeScope(jjtn001); |
| 619 | jjtc001 = false; |
| 620 | } else { |
| 621 | jjtree.popNode(); |
| 622 | } |
| 623 | if (jjte001 instanceof RuntimeException) { |
| 624 | { |
| 625 | if (true) { |
| 626 | throw (RuntimeException) jjte001; |
| 627 | } |
| 628 | } |
| 629 | } |
| 630 | if (jjte001 instanceof ParseException) { |
| 631 | { |
| 632 | if (true) { |
| 633 | throw (ParseException) jjte001; |
| 634 | } |
| 635 | } |
| 636 | } |
| 637 | { |
| 638 | if (true) { |
| 639 | throw (Error) jjte001; |
| 640 | } |
| 641 | } |
| 642 | } finally { |
| 643 | if (jjtc001) { |
| 644 | jjtree.closeNodeScope(jjtn001, 3); |
| 645 | } |
| 646 | } |
| 647 | } |
| 648 | } |
| 649 | |
| 650 | /* |
| 651 | * Or For 'or' '||', then And |
no test coverage detected