diff --git a/src/babel/transformation/transformers/es6/object-super.js b/src/babel/transformation/transformers/es6/object-super.js index 10d01e09f8..64e461c312 100644 --- a/src/babel/transformation/transformers/es6/object-super.js +++ b/src/babel/transformation/transformers/es6/object-super.js @@ -2,30 +2,19 @@ import ReplaceSupers from "../../helpers/replace-supers"; import * as t from "../../../types"; function Property(path, node, scope, getObjectRef, file) { - if (!node.method) return; - - var value = node.value; - var thisExpr = scope.generateUidIdentifier("this"); + if (!node.method && node.kind === "init") return; + if (!t.isFunction(node.value)) return; var replaceSupers = new ReplaceSupers({ - topLevelThisReference: thisExpr, - getObjectRef: getObjectRef, - methodNode: node, - methodPath: path, - isStatic: true, - scope: scope, - file: file + getObjectRef: getObjectRef, + methodNode: node, + methodPath: path, + isStatic: true, + scope: scope, + file: file }); replaceSupers.replace(); - - if (replaceSupers.hasSuper) { - value.body.body.unshift( - t.variableDeclaration("var", [ - t.variableDeclarator(thisExpr, t.thisExpression()) - ]) - ); - } } export function ObjectExpression(node, parent, scope, file) {