Add parenthesis when class expressions are left of a ternary (#428)
Fixes #426
This commit is contained in:
1 parent
4369e66017
commit
d7a44bae10
3 files changed
+12
No files matched your search
@@ -452,6 +452,10 @@ FPp.needsParens = function(assumeExpressionContext) {
|
||||
}
|
||||
case "MemberExpression":
|
||||
return name === "object" && parent.object === node;
|
||||
case "ConditionalExpression":
|
||||
if (parent.test === node) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -305,3 +305,10 @@ declare var o: { p: number };
|
||||
(o: Class<C>); // error, object type incompatible with class type
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`test ternary.js 1`] = `
|
||||
"if (1) (class {}) ? 1 : 2;
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
if (1) (class {}) ? 1 : 2;
|
||||
"
|
||||
`;
|
||||
@@ -0,0 +1 @@
|
||||
if (1) (class {}) ? 1 : 2;
|
||||
Reference in new issue
Block a user