add NewExpression support to needsParans
This commit is contained in:
@@ -48,7 +48,7 @@ exports.isReferenced = function (node, parent) {
|
||||
};
|
||||
|
||||
exports.ensureBlock = function (node) {
|
||||
node[key] = exports.toBlock(node.body, node);
|
||||
node.body = exports.toBlock(node.body, node);
|
||||
};
|
||||
|
||||
exports.toBlock = function (node, parent) {
|
||||
@@ -84,6 +84,8 @@ exports.ensureExpressionType = function (node) {
|
||||
};
|
||||
|
||||
exports.needsParans = function (node, parent) {
|
||||
if (!parent) return false;
|
||||
|
||||
//
|
||||
if (exports.isUnaryLike(node)) {
|
||||
return parent.type === "MemberExpression" && parent.object === node;
|
||||
@@ -151,9 +153,18 @@ exports.needsParans = function (node, parent) {
|
||||
|| parent.type === "YieldExpression";
|
||||
}
|
||||
|
||||
//if (parent.type === "NewExpression" && parent.callee === node) {
|
||||
// return containsCallExpression(node);
|
||||
//}
|
||||
if (parent.type === "NewExpression") {
|
||||
if (node.type !== "Identifier" && node.callee === node) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (node.type === "NewExpression") {
|
||||
// (new Foo).bar();
|
||||
if (parent.type === "MemberExpression" && parent.object === node) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// (1).valueOf()
|
||||
if (node.type === "Literal" && _.isNumber(node.value) && parent.type === "MemberExpression" && parent.object === node) {
|
||||
|
||||
Reference in New Issue
Block a user