[Pkg-javascript-commits] [node-acorn-jsx] 421/484: Avoid extra call and arg in parseExpression for single-expression case.
Bastien Roucariès
rouca at moszumanska.debian.org
Sat Aug 19 14:21:05 UTC 2017
This is an automated email from the git hooks/post-receive script.
rouca pushed a commit to branch master
in repository node-acorn-jsx.
commit f0569147e6b34b94c60f0bdf2edcd8d092012a5d
Author: Ingvar Stepanyan <me at rreverser.com>
Date: Fri Jan 23 21:48:33 2015 +0200
Avoid extra call and arg in parseExpression for single-expression case.
---
acorn.js | 18 +++++++++---------
acorn_loose.js | 24 ++++++++++++------------
2 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/acorn.js b/acorn.js
index 35015ad..d7fc369 100644
--- a/acorn.js
+++ b/acorn.js
@@ -1837,7 +1837,7 @@
return parseForIn(node, init);
return parseFor(node, init);
}
- var init = parseExpression(false, true);
+ var init = parseExpression(true);
if (tokType === _in || (options.ecmaVersion >= 6 && isContextual("of"))) {
checkLVal(init);
return parseForIn(node, init);
@@ -2054,7 +2054,7 @@
var decl = startNode();
decl.id = parseAssignableAtom();
checkLVal(decl.id, true);
- decl.init = eat(_eq) ? parseExpression(true, noIn) : (kind === _const.keyword ? unexpected() : null);
+ decl.init = eat(_eq) ? parseMaybeAssign(noIn) : (kind === _const.keyword ? unexpected() : null);
node.declarations.push(finishNode(decl, "VariableDeclarator"));
if (!eat(_comma)) break;
}
@@ -2073,10 +2073,10 @@
// sequences (in argument lists, array literals, or object literals)
// or the `in` operator (in for loops initalization expressions).
- function parseExpression(noComma, noIn) {
+ function parseExpression(noIn) {
var start = storeCurrentPos();
var expr = parseMaybeAssign(noIn);
- if (!noComma && tokType === _comma) {
+ if (tokType === _comma) {
var node = startNodeAt(start);
node.expressions = [expr];
while (eat(_comma)) node.expressions.push(parseMaybeAssign(noIn));
@@ -2111,9 +2111,9 @@
if (eat(_question)) {
var node = startNodeAt(start);
node.test = expr;
- node.consequent = parseExpression(true);
+ node.consequent = parseMaybeAssign();
expect(_colon);
- node.alternate = parseExpression(true, noIn);
+ node.alternate = parseMaybeAssign(noIn);
return finishNode(node, "ConditionalExpression");
}
return expr;
@@ -2514,7 +2514,7 @@
var isExpression = allowExpression && tokType !== _braceL;
if (isExpression) {
- node.body = parseExpression(true);
+ node.body = parseMaybeAssign();
node.expression = true;
} else {
// Start a new scope with regard to labels and the `inFunction`
@@ -2637,7 +2637,7 @@
} else
// export default ...;
if (eat(_default)) {
- node.declaration = parseExpression(true);
+ node.declaration = parseMaybeAssign();
node['default'] = true;
node.specifiers = null;
node.source = null;
@@ -2755,7 +2755,7 @@
node.argument = null;
} else {
node.delegate = eat(_star);
- node.argument = parseExpression(true);
+ node.argument = parseMaybeAssign();
}
return finishNode(node, "YieldExpression");
}
diff --git a/acorn_loose.js b/acorn_loose.js
index 44b0870..297589a 100644
--- a/acorn_loose.js
+++ b/acorn_loose.js
@@ -366,7 +366,7 @@
}
return parseFor(node, init);
}
- var init = parseExpression(false, true);
+ var init = parseExpression(true);
if (token.type === tt._in || isContextual("of")) {
return parseForIn(node, checkLVal(init));
}
@@ -539,7 +539,7 @@
do {
var decl = startNode();
decl.id = options.ecmaVersion >= 6 ? toAssignable(parseExprAtom()) : parseIdent();
- decl.init = eat(tt.eq) ? parseExpression(true, noIn) : null;
+ decl.init = eat(tt.eq) ? parseMaybeAssign(noIn) : null;
node.declarations.push(finishNode(decl, "VariableDeclarator"));
} while (eat(tt.comma));
if (!node.declarations.length) {
@@ -551,10 +551,10 @@
return finishNode(node, "VariableDeclaration");
}
- function parseExpression(noComma, noIn) {
+ function parseExpression(noIn) {
var start = storeCurrentPos();
var expr = parseMaybeAssign(noIn);
- if (!noComma && token.type === tt.comma) {
+ if (token.type === tt.comma) {
var node = startNodeAt(start);
node.expressions = [expr];
while (eat(tt.comma)) node.expressions.push(parseMaybeAssign(noIn));
@@ -592,8 +592,8 @@
if (eat(tt.question)) {
var node = startNodeAt(start);
node.test = expr;
- node.consequent = parseExpression(true);
- node.alternate = expect(tt.colon) ? parseExpression(true, noIn) : dummyIdent();
+ node.consequent = parseMaybeAssign();
+ node.alternate = expect(tt.colon) ? parseMaybeAssign(noIn) : dummyIdent();
return finishNode(node, "ConditionalExpression");
}
return expr;
@@ -783,7 +783,7 @@
node.argument = null;
} else {
node.delegate = eat(tt.star);
- node.argument = parseExpression(true);
+ node.argument = parseMaybeAssign();
}
return finishNode(node, "YieldExpression");
@@ -871,7 +871,7 @@
isGenerator = eat(tt.star);
}
parsePropertyName(prop);
- if (isDummy(prop.key)) { if (isDummy(parseExpression(true))) next(); eat(tt.comma); continue; }
+ if (isDummy(prop.key)) { if (isDummy(parseMaybeAssign())) next(); eat(tt.comma); continue; }
if (isClass) {
if (prop.key.type === "Identifier" && !prop.computed && prop.key.name === "static" &&
(token.type != tt.parenL && token.type != tt.braceL)) {
@@ -884,7 +884,7 @@
}
if (!isClass && eat(tt.colon)) {
prop.kind = "init";
- prop.value = parseExpression(true);
+ prop.value = parseMaybeAssign();
} else if (options.ecmaVersion >= 6 && (token.type === tt.parenL || token.type === tt.braceL)) {
if (isClass) {
prop.kind = "";
@@ -1029,7 +1029,7 @@
node.params = parseFunctionParams();
node.generator = isGenerator || false;
node.expression = options.ecmaVersion >= 6 && token.type !== tt.braceL;
- node.body = node.expression ? parseExpression(true) : parseBlock();
+ node.body = node.expression ? parseMaybeAssign() : parseBlock();
return finishNode(node, "FunctionExpression");
}
@@ -1037,7 +1037,7 @@
initFunction(node);
node.params = toAssignableList(params);
node.expression = token.type !== tt.braceL;
- node.body = node.expression ? parseExpression(true) : parseBlock();
+ node.body = node.expression ? parseMaybeAssign() : parseBlock();
return finishNode(node, "ArrowFunctionExpression");
}
@@ -1124,7 +1124,7 @@
elts.push(allowEmpty ? null : dummyIdent());
continue;
}
- var elt = parseExpression(true);
+ var elt = parseMaybeAssign();
if (isDummy(elt)) {
if (closes(close, indent, line)) break;
next();
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-acorn-jsx.git
More information about the Pkg-javascript-commits
mailing list