MCPcopy
hub / github.com/jquery/esprima / parseExpression

Method parseExpression

src/parser.ts:1751–1770  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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

Callers 13

parseTemplateLiteralMethod · 0.95
parseIfStatementMethod · 0.95
parseDoWhileStatementMethod · 0.95
parseWhileStatementMethod · 0.95
parseForStatementMethod · 0.95
parseReturnStatementMethod · 0.95
parseWithStatementMethod · 0.95
parseSwitchCaseMethod · 0.95
parseSwitchStatementMethod · 0.95
parseThrowStatementMethod · 0.95

Calls 6

isolateCoverGrammarMethod · 0.95
matchMethod · 0.95
nextTokenMethod · 0.95
finalizeMethod · 0.95
startNodeMethod · 0.95
pushMethod · 0.80

Tested by

no test coverage detected