diff --git a/lib/6to5/transformation/transformers/es6-classes.js b/lib/6to5/transformation/transformers/es6-classes.js index 801b3687d5..d44d6c6f25 100644 --- a/lib/6to5/transformation/transformers/es6-classes.js +++ b/lib/6to5/transformation/transformers/es6-classes.js @@ -162,17 +162,22 @@ Class.prototype.buildBody = function () { Class.prototype.pushMethod = function (node) { var methodName = node.key; - var mutatorMap = this.instanceMutatorMap; - if (node.static) mutatorMap = this.staticMutatorMap; - var kind = node.kind; if (kind === "") { - kind = "value"; - util.pushMutatorMap(mutatorMap, methodName, "writable", t.identifier("true")); - } + // method - util.pushMutatorMap(mutatorMap, methodName, kind, node); + var className = this.className; + if (!node.static) className = t.memberExpression(className, t.identifier("prototype")); + methodName = t.memberExpression(className, methodName, node.computed); + + this.body.push(t.expressionStatement(t.assignmentExpression("=", methodName, node.value))); + } else { + // mutator + var mutatorMap = this.instanceMutatorMap; + if (node.static) mutatorMap = this.staticMutatorMap; + util.pushMutatorMap(mutatorMap, methodName, kind, node); + } }; /**