From 882ed48438e9754d6390d3ddfdd73ff76eb5e6f5 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 16 Dec 2014 08:08:06 +1100 Subject: [PATCH] fix a catch param property identifier incorrectly being replaced when exploding statements in generators - fixes #301 --- .../transformers/es6-generators/emit/explode-statements.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/6to5/transformation/transformers/es6-generators/emit/explode-statements.js b/lib/6to5/transformation/transformers/es6-generators/emit/explode-statements.js index 9f73681883..896d461561 100644 --- a/lib/6to5/transformation/transformers/es6-generators/emit/explode-statements.js +++ b/lib/6to5/transformation/transformers/es6-generators/emit/explode-statements.js @@ -297,7 +297,8 @@ exports.TryStatement = function (path, stmt) { types.visit(bodyPath, { visitIdentifier: function (path) { - if (path.value.name === catchParamName && + if (t.isReferenced(path.value, path.parentPath.node) && + path.value.name === catchParamName && path.scope.lookup(catchParamName) === catchScope) { return safeParam; }