better whitespace handling of parenthesized comments due to trailing comments
This commit is contained in:
parent
b8dd421073
commit
706626f79a
@ -148,10 +148,11 @@ CodeGenerator.prototype.print = function (node, parent, opts) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (this[node.type]) {
|
if (this[node.type]) {
|
||||||
// only compute if this node needs parens if our parent has been changed
|
var needsCommentParens = t.isExpression(node) && node.leadingComments && node.leadingComments.length;
|
||||||
// since acorn would've wrapped us in a ParanthesizedExpression
|
var needsParens = needsCommentParens || n.needsParens(node, parent);
|
||||||
var needsParens = n.needsParens(node, parent);
|
|
||||||
if (needsParens) this.push("(");
|
if (needsParens) this.push("(");
|
||||||
|
if (needsCommentParens) this.indent();
|
||||||
|
|
||||||
this.printLeadingComments(node, parent);
|
this.printLeadingComments(node, parent);
|
||||||
|
|
||||||
@ -162,6 +163,10 @@ CodeGenerator.prototype.print = function (node, parent, opts) {
|
|||||||
|
|
||||||
this[node.type](node, this.buildPrint(node), parent);
|
this[node.type](node, this.buildPrint(node), parent);
|
||||||
|
|
||||||
|
if (needsCommentParens) {
|
||||||
|
this.newline();
|
||||||
|
this.dedent();
|
||||||
|
}
|
||||||
if (needsParens) this.push(")");
|
if (needsParens) this.push(")");
|
||||||
|
|
||||||
this.map.mark(node, "end");
|
this.map.mark(node, "end");
|
||||||
|
|||||||
@ -60,10 +60,6 @@ Node.prototype.needsParens = function () {
|
|||||||
|
|
||||||
if (!parent) return false;
|
if (!parent) return false;
|
||||||
|
|
||||||
if (t.isExpression(node) && node.leadingComments && node.leadingComments.length) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (t.isNewExpression(parent) && parent.callee === node) {
|
if (t.isNewExpression(parent) && parent.callee === node) {
|
||||||
return t.isCallExpression(node) || _.some(node, function (val) {
|
return t.isCallExpression(node) || _.some(node, function (val) {
|
||||||
return t.isCallExpression(val);
|
return t.isCallExpression(val);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user