From 6db7fce543f1dad1b5255f70987a8a97f7e8d040 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Thu, 15 Jan 2015 02:48:22 +1100 Subject: [PATCH] fix computed member expressions in playground memoization --- .../transformers/playground-memoization-operator.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/6to5/transformation/transformers/playground-memoization-operator.js b/lib/6to5/transformation/transformers/playground-memoization-operator.js index d8aad48236..1f5fa4bb9f 100644 --- a/lib/6to5/transformation/transformers/playground-memoization-operator.js +++ b/lib/6to5/transformation/transformers/playground-memoization-operator.js @@ -6,9 +6,11 @@ var isMemo = function (node) { return is; }; -var getPropRef = function (nodes, prop, file, scope) { - if (t.isIdentifier(prop)) { - return t.literal(prop.name); +var getPropRef = function (nodes, member, file, scope) { + var prop = member.property; + var key = t.toComputedKey(member, member.property); + if (t.isLiteral(key)) { + return key; } else { var temp = scope.generateUidBasedOnNode(prop, file); nodes.push(t.variableDeclaration("var", [ @@ -54,7 +56,7 @@ exports.ExpressionStatement = function (node, parent, file, scope) { var left = expr.left; var obj = getObjRef(nodes, left.object, file, scope); - var prop = getPropRef(nodes, left.property, file, scope); + var prop = getPropRef(nodes, left, file, scope); nodes.push(t.ifStatement( buildHasOwn(obj, prop, file), @@ -72,7 +74,7 @@ exports.AssignmentExpression = function (node, parent, file, scope) { var left = node.left; var obj = getObjRef(nodes, left.object, file, scope); - var prop = getPropRef(nodes, left.property, file, scope); + var prop = getPropRef(nodes, left, file, scope); nodes.push(t.logicalExpression( "&&",