Add parenthesis when class expressions are left of a ternary (#428)

Fixes #426
This commit is contained in:
Christopher Chedeau authored and GitHub committed 2017-01-22 20:32:17 -08:00
1 parent 4369e66017
commit d7a44bae10
3 files changed
+12

No files matched your search

+4
View File
@@ -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;
"
`;
+1
View File
@@ -0,0 +1 @@
if (1) (class {}) ? 1 : 2;