(boolean noIn)
| 719 | } |
| 720 | |
| 721 | public Expression relationalExpression(boolean noIn) { |
| 722 | Expression expr = shiftExpression(); |
| 723 | |
| 724 | while (la() == LESS_THAN || la() == LESS_THAN_EQUAL || la() == GREATER_THAN || la() == GREATER_THAN_EQUAL || la() == INSTANCEOF || (!noIn && (la() == IN || la() == OF))) { |
| 725 | switch (la()) { |
| 726 | case LESS_THAN: |
| 727 | consume(); |
| 728 | expr = factory.lessThanOperator(expr, shiftExpression()); |
| 729 | break; |
| 730 | case LESS_THAN_EQUAL: |
| 731 | consume(); |
| 732 | expr = factory.lessThanEqualOperator(expr, shiftExpression()); |
| 733 | break; |
| 734 | case GREATER_THAN: |
| 735 | consume(); |
| 736 | expr = factory.greaterThanOperator(expr, shiftExpression()); |
| 737 | break; |
| 738 | case GREATER_THAN_EQUAL: |
| 739 | consume(); |
| 740 | expr = factory.greaterThanEqualOperator(expr, shiftExpression()); |
| 741 | break; |
| 742 | case INSTANCEOF: |
| 743 | consume(); |
| 744 | expr = factory.instanceofOperator(expr, shiftExpression()); |
| 745 | break; |
| 746 | case IN: |
| 747 | if (!noIn) { |
| 748 | consume(); |
| 749 | expr = factory.inOperator(expr, shiftExpression()); |
| 750 | break; |
| 751 | } |
| 752 | } |
| 753 | } |
| 754 | |
| 755 | return expr; |
| 756 | } |
| 757 | |
| 758 | public Expression shiftExpression() { |
| 759 | Expression expr = additiveExpression(); |
no test coverage detected