diff --git a/lib/6to5/generation/node/parentheses.js b/lib/6to5/generation/node/parentheses.js index 8415b0c9a5..5518086e27 100644 --- a/lib/6to5/generation/node/parentheses.js +++ b/lib/6to5/generation/node/parentheses.js @@ -21,6 +21,13 @@ _.each([ }); }); +exports.UpdateExpression = function (node, parent) { + if (t.isMemberExpression(parent) && parent.object === node) { + // (foo++).test() + return true; + } +}; + exports.ObjectExpression = function (node, parent) { if (t.isExpressionStatement(parent)) { // ({ foo: "bar" }); diff --git a/test/fixtures/generation/types/UpdateExpression/actual.js b/test/fixtures/generation/types/UpdateExpression/actual.js index b074c6b4a1..0aba7be1a0 100644 --- a/test/fixtures/generation/types/UpdateExpression/actual.js +++ b/test/fixtures/generation/types/UpdateExpression/actual.js @@ -1,2 +1,3 @@ ++i; i++; +(foo++).test(); diff --git a/test/fixtures/generation/types/UpdateExpression/expected.js b/test/fixtures/generation/types/UpdateExpression/expected.js index b074c6b4a1..0aba7be1a0 100644 --- a/test/fixtures/generation/types/UpdateExpression/expected.js +++ b/test/fixtures/generation/types/UpdateExpression/expected.js @@ -1,2 +1,3 @@ ++i; i++; +(foo++).test();