From 4cc844f410d7480cd10be76061d5f177c83e3a6a Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 9 Jun 2015 04:04:14 +0100 Subject: [PATCH] take into consideration assignment expressions in loop heads when replacing let references - fixes #1707 --- src/babel/transformation/transformers/es6/block-scoping.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/babel/transformation/transformers/es6/block-scoping.js b/src/babel/transformation/transformers/es6/block-scoping.js index 558e160039..76c13bf957 100644 --- a/src/babel/transformation/transformers/es6/block-scoping.js +++ b/src/babel/transformation/transformers/es6/block-scoping.js @@ -116,6 +116,13 @@ function traverseReplace(node, parent, scope, remaps) { replace(node, parent, scope, remaps); } + if (t.isAssignmentExpression(node)) { + var ids = t.getBindingIdentifiers(node); + for (var name in ids) { + replace(ids[name], parent, scope, remaps); + } + } + scope.traverse(node, replaceVisitor, remaps); }