()
| 2772 | } |
| 2773 | |
| 2774 | function parseLeftHandSideExpression() { |
| 2775 | var expr, property, startToken; |
| 2776 | assert(state.allowIn, 'callee of new expression always allow in keyword.'); |
| 2777 | |
| 2778 | startToken = lookahead; |
| 2779 | |
| 2780 | expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); |
| 2781 | |
| 2782 | for (;;) { |
| 2783 | if (match('[')) { |
| 2784 | property = parseComputedMember(); |
| 2785 | expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property); |
| 2786 | } else if (match('.')) { |
| 2787 | property = parseNonComputedMember(); |
| 2788 | expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property); |
| 2789 | } else { |
| 2790 | break; |
| 2791 | } |
| 2792 | } |
| 2793 | return expr; |
| 2794 | } |
| 2795 | |
| 2796 | // 11.3 Postfix Expressions |
| 2797 |
no test coverage detected