MCPcopy Create free account
hub / github.com/mozilla/rhino / expr

Method expr

rhino/src/main/java/org/mozilla/javascript/Parser.java:2667–2682  ·  view source on GitHub ↗
(boolean allowTrailingComma)

Source from the content-addressed store, hash-verified

2665 }
2666
2667 private AstNode expr(boolean allowTrailingComma) throws IOException {
2668 AstNode pn = assignExpr();
2669 int pos = pn.getPosition();
2670 while (matchToken(Token.COMMA, true)) {
2671 int opPos = ts.tokenBeg;
2672 if (compilerEnv.isStrictMode() && !pn.hasSideEffects())
2673 addStrictWarning("msg.no.side.effects", "", pos, nodeEnd(pn) - pos);
2674 if (peekToken() == Token.YIELD) reportError("msg.yield.parenthesized");
2675 if (allowTrailingComma && peekToken() == Token.RP) {
2676 pn.putIntProp(Node.TRAILING_COMMA, 1);
2677 return pn;
2678 }
2679 pn = new InfixExpression(Token.COMMA, pn, assignExpr(), opPos);
2680 }
2681 return pn;
2682 }
2683
2684 private AstNode assignExpr() throws IOException {
2685 int tt = peekToken();

Callers 15

conditionMethod · 0.95
statementHelperMethod · 0.95
switchStatementMethod · 0.95
forLoopMethod · 0.95
forLoopInitMethod · 0.95
tryStatementMethod · 0.95
throwStatementMethod · 0.95
withStatementMethod · 0.95
returnOrYieldMethod · 0.95
defaultXmlNamespaceMethod · 0.95
nameOrLabelMethod · 0.95
letMethod · 0.95

Calls 10

assignExprMethod · 0.95
getPositionMethod · 0.95
matchTokenMethod · 0.95
hasSideEffectsMethod · 0.95
addStrictWarningMethod · 0.95
nodeEndMethod · 0.95
peekTokenMethod · 0.95
reportErrorMethod · 0.95
putIntPropMethod · 0.80
isStrictModeMethod · 0.45

Tested by

no test coverage detected