Move subclass inheritance to end (#7772)

We were using `Object.create` to setup the prototype chain at the start of the class definition, which lead to #7771.

I was a bit worried about a speed hit, but it seems everyone optimizes the two patterns the same way.
https://jsbench.github.io/#f9fca52407643d96458a35763b201215

Fixes #7771.
This commit is contained in:
Justin Ridgewell
2018-04-21 17:31:44 -04:00
committed by GitHub
parent 8f24f91166
commit f8ab9466d3
96 changed files with 331 additions and 284 deletions

View File

@@ -3,8 +3,6 @@ var Foo =
function (_Bar) {
"use strict";
babelHelpers.inherits(Foo, _Bar);
function Foo() {
var _this;
@@ -16,5 +14,6 @@ function (_Bar) {
return _this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Foo).call(this));
}
babelHelpers.inherits(Foo, _Bar);
return Foo;
}(Bar);