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 function UpdateExpression(node: Object, parent: Object): boolean {
|
||||
// (foo++).test()
|
||||
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)
|
||||
);
|
||||
}
|
||||
|
||||
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