Wrap class expressions in parens if needed

This commit is contained in:
James Long committed 2016-12-30 14:25:52 -05:00
1 parent 4dfaf9da98
commit 32d4200f60
2 files changed
+25 -21

No files matched your search

+5 -1
View File
@@ -362,6 +362,9 @@ FPp.needsParens = function(assumeExpressionContext) {
return isBinary(parent);
case "ClassExpression":
return parent.type === "ExpressionStatement";
case "ObjectExpression":
if (parent.type === "ArrowFunctionExpression" &&
name === "body") {
@@ -435,7 +438,8 @@ function containsCallExpression(node) {
FPp.canBeFirstInStatement = function() {
var node = this.getNode();
return !n.FunctionExpression.check(node)
&& !n.ObjectExpression.check(node);
&& !n.ObjectExpression.check(node)
&& !n.ClassExpression.check(node);
};
FPp.firstInStatement = function() {
@@ -412,52 +412,52 @@ class Base {
this.x = value;
}
}
class extends Base {
(class extends Base {
get x(): B {
return b;
}
};
class extends Base {
});
(class extends Base {
set x(value: B): void {
}
};
class extends Base {
});
(class extends Base {
get x(): C {
return c;
}
set x(value: A): void {
}
};
class extends Base {
});
(class extends Base {
set pos(value: B): void {
}
};
class extends Base {
});
(class extends Base {
get pos(): C {
return c;
}
};
class extends Base {
});
(class extends Base {
get neg(): B {
return b;
}
};
class extends Base {
});
(class extends Base {
set neg(value: A): void {
}
};
class extends Base {
});
(class extends Base {
get: C;
};
class extends Base {
});
(class extends Base {
set: A;
};
class extends Base {
});
(class extends Base {
getset: B;
};
});
"
`;