From 9bbf109dc80e7fc9f6456bfb3e2b4cd9b2b14ce9 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sat, 10 Jan 2015 16:24:17 +1100 Subject: [PATCH] support UpdateExpressions as MemberExpression objects - fixes #440 --- lib/6to5/generation/node/parentheses.js | 7 +++++++ test/fixtures/generation/types/UpdateExpression/actual.js | 1 + .../fixtures/generation/types/UpdateExpression/expected.js | 1 + 3 files changed, 9 insertions(+) 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();