From 8f540dfff328aa3ffe3ba36673dd4a52b6ef37a5 Mon Sep 17 00:00:00 2001 From: Ondrej Kraus Date: Wed, 25 Feb 2015 12:07:46 +0100 Subject: [PATCH] call non-strict mode optimizer before strict mode one to simplify literals --- src/babel/transformation/transformers/es6/parameters.rest.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/babel/transformation/transformers/es6/parameters.rest.js b/src/babel/transformation/transformers/es6/parameters.rest.js index e76a1744ef..6f9cc0ecfc 100644 --- a/src/babel/transformation/transformers/es6/parameters.rest.js +++ b/src/babel/transformation/transformers/es6/parameters.rest.js @@ -52,6 +52,10 @@ function optimizeMemberExpression(node, parent, offset) { } function optimizeMemberExpressionStrict(node, parent, offset) { + // handle basic expressions specially (especially literals) + optimizeMemberExpression(node, parent, offset); + if (node.name === 'arguments') return; + var prop = parent.property; node.name = 'arguments'; parent.property = t.binaryExpression('+', prop, t.literal(offset));