()
| 1749 | // https://tc39.github.io/ecma262/#sec-comma-operator |
| 1750 | |
| 1751 | parseExpression(): Node.Expression | Node.SequenceExpression { |
| 1752 | const startToken = this.lookahead; |
| 1753 | let expr = this.isolateCoverGrammar(this.parseAssignmentExpression); |
| 1754 | |
| 1755 | if (this.match(',')) { |
| 1756 | const expressions: Node.Expression[] = []; |
| 1757 | expressions.push(expr); |
| 1758 | while (this.lookahead.type !== Token.EOF) { |
| 1759 | if (!this.match(',')) { |
| 1760 | break; |
| 1761 | } |
| 1762 | this.nextToken(); |
| 1763 | expressions.push(this.isolateCoverGrammar(this.parseAssignmentExpression)); |
| 1764 | } |
| 1765 | |
| 1766 | expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions)); |
| 1767 | } |
| 1768 | |
| 1769 | return expr; |
| 1770 | } |
| 1771 | |
| 1772 | // https://tc39.github.io/ecma262/#sec-block |
| 1773 |
no test coverage detected