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

Method withStatement

rhino/src/main/java/org/mozilla/javascript/Parser.java:2204–2235  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2202 }
2203
2204 private WithStatement withStatement() throws IOException {
2205 if (currentToken != Token.WITH) codeBug();
2206 consumeToken();
2207
2208 Comment withComment = getAndResetJsDoc();
2209
2210 int lineno = lineNumber(), column = columnNumber(), pos = ts.tokenBeg, lp = -1, rp = -1;
2211 if (mustMatchToken(Token.LP, "msg.no.paren.with", true)) lp = ts.tokenBeg;
2212
2213 AstNode obj = expr(false);
2214
2215 if (mustMatchToken(Token.RP, "msg.no.paren.after.with", true)) rp = ts.tokenBeg;
2216
2217 WithStatement pn = new WithStatement(pos);
2218
2219 boolean previous = hasUndefinedBeenRedefined;
2220 try {
2221 hasUndefinedBeenRedefined = true;
2222 AstNode body = getNextStatementAfterInlineComments(pn);
2223
2224 pn.setLength(getNodeEnd(body) - pos);
2225 pn.setJsDocNode(withComment);
2226 pn.setExpression(obj);
2227 pn.setStatement(body);
2228 pn.setParens(lp, rp);
2229 pn.setLineColumnNumber(lineno, column);
2230 } finally {
2231 hasUndefinedBeenRedefined = previous;
2232 }
2233
2234 return pn;
2235 }
2236
2237 private AstNode letStatement() throws IOException {
2238 if (currentToken != Token.LET) codeBug();

Callers 1

statementHelperMethod · 0.95

Calls 15

codeBugMethod · 0.95
consumeTokenMethod · 0.95
getAndResetJsDocMethod · 0.95
lineNumberMethod · 0.95
columnNumberMethod · 0.95
mustMatchTokenMethod · 0.95
exprMethod · 0.95
getNodeEndMethod · 0.95
setExpressionMethod · 0.95
setStatementMethod · 0.95
setParensMethod · 0.95

Tested by

no test coverage detected