UpdateExpressions as callees must be parenthesized (#6922)
This commit is contained in:
parent
58962c35b5
commit
18c8d97c3d
@ -38,9 +38,13 @@ export function NullableTypeAnnotation(node: Object, parent: Object): boolean {
|
|||||||
export { NullableTypeAnnotation as FunctionTypeAnnotation };
|
export { NullableTypeAnnotation as FunctionTypeAnnotation };
|
||||||
|
|
||||||
export function UpdateExpression(node: Object, parent: Object): boolean {
|
export function UpdateExpression(node: Object, parent: Object): boolean {
|
||||||
// (foo++).test()
|
|
||||||
return (
|
return (
|
||||||
(t.isMemberExpression(parent) && parent.object === node) ||
|
// (foo++).test(), (foo++)[0]
|
||||||
|
t.isMemberExpression(parent, { object: node }) ||
|
||||||
|
// (foo++)()
|
||||||
|
t.isCallExpression(parent, { callee: node }) ||
|
||||||
|
// new (foo++)()
|
||||||
|
t.isNewExpression(parent, { callee: node }) ||
|
||||||
isClassExtendsClause(node, parent)
|
isClassExtendsClause(node, parent)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
8
packages/babel-generator/test/fixtures/parentheses/update-expression/actual.js
vendored
Normal file
8
packages/babel-generator/test/fixtures/parentheses/update-expression/actual.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
(++a)();
|
||||||
|
(a++)();
|
||||||
|
|
||||||
|
new (++a)();
|
||||||
|
new (a++)();
|
||||||
|
|
||||||
|
new (++a);
|
||||||
|
new (a++);
|
||||||
6
packages/babel-generator/test/fixtures/parentheses/update-expression/expected.js
vendored
Normal file
6
packages/babel-generator/test/fixtures/parentheses/update-expression/expected.js
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
(++a)();
|
||||||
|
(a++)();
|
||||||
|
new (++a)();
|
||||||
|
new (a++)();
|
||||||
|
new (++a)();
|
||||||
|
new (a++)();
|
||||||
Loading…
x
Reference in New Issue
Block a user