From 79f2dbb8d74944c3b604c0dc525cdff35663a72d Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 13 Oct 2014 04:48:44 +1100 Subject: [PATCH] better let scoping CallExpression comments and layout --- lib/6to5/transformers/let-scoping.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/6to5/transformers/let-scoping.js b/lib/6to5/transformers/let-scoping.js index 19bd70d0cd..bc33a2a1c7 100644 --- a/lib/6to5/transformers/let-scoping.js +++ b/lib/6to5/transformers/let-scoping.js @@ -26,16 +26,16 @@ exports.VariableDeclaration = function (node, parent, file) { // we're a property key if (parent.type === "Property" && parent.key === node) return; - if (parent.type !== "MemberExpression") { - // we aren't in a member expression - return id; - } else if (parent.type === "MemberExpression" && parent.property === node && parent.computed) { - // we're in a member expression but we're a computed property so we're referenced - return id; - } else if (parent.type === "MemberExpression" && parent.object === node) { - // we're in a member expression and we're the object so we're referenced - return id; - } + var isMemberExpression = parent.type === "MemberExpression"; + + // we're in a member expression and we're the computed property so we're referenced + var isComputedProperty = isMemberExpression && parent.property === node && parent.computed; + + // we're in a member expression and we're the object so we're referenced + var isObject = isMemberExpression && parent.object === node; + + // we are referenced + if (!isMemberExpression || isComputedProperty || isObject) return id; }; var replace = function (node, parent) {