Prevent breaking MemberExpression inside NewExpression (#3075)
* Test case * Prevent breaking MemberExpression inside NewExpressionmaster
parent
54bdd30595
commit
b53a426e15
|
@ -418,8 +418,9 @@ function genericPrintNoParens(path, options, print, args) {
|
||||||
|
|
||||||
const shouldInline =
|
const shouldInline =
|
||||||
(firstNonMemberParent &&
|
(firstNonMemberParent &&
|
||||||
((firstNonMemberParent.type === "VariableDeclarator" &&
|
(firstNonMemberParent.type === "NewExpression" ||
|
||||||
firstNonMemberParent.id.type !== "Identifier") ||
|
(firstNonMemberParent.type === "VariableDeclarator" &&
|
||||||
|
firstNonMemberParent.id.type !== "Identifier") ||
|
||||||
(firstNonMemberParent.type === "AssignmentExpression" &&
|
(firstNonMemberParent.type === "AssignmentExpression" &&
|
||||||
firstNonMemberParent.left.type !== "Identifier"))) ||
|
firstNonMemberParent.left.type !== "Identifier"))) ||
|
||||||
n.computed ||
|
n.computed ||
|
||||||
|
|
|
@ -23,3 +23,28 @@ new (typeof this == "function" ? this : Dict())();
|
||||||
new (createObj()).prop(a());
|
new (createObj()).prop(a());
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`with-member-expression.js 1`] = `
|
||||||
|
function functionName() {
|
||||||
|
// indent to make the line break
|
||||||
|
if (true) {
|
||||||
|
this._aVeryLongVariableNameToForceLineBreak = new this.Promise(
|
||||||
|
(resolve, reject) => {
|
||||||
|
// do something
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
function functionName() {
|
||||||
|
// indent to make the line break
|
||||||
|
if (true) {
|
||||||
|
this._aVeryLongVariableNameToForceLineBreak = new this.Promise(
|
||||||
|
(resolve, reject) => {
|
||||||
|
// do something
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
`;
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
function functionName() {
|
||||||
|
// indent to make the line break
|
||||||
|
if (true) {
|
||||||
|
this._aVeryLongVariableNameToForceLineBreak = new this.Promise(
|
||||||
|
(resolve, reject) => {
|
||||||
|
// do something
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue