Skip to content

Commit 020a7b0

Browse files
Skip unnecessary temp vars in path.insertAfter (#14268)
* Avoid storing value of expressions hidden in sequences * Register `.push`ed bindings in the correct scope * Avoid injecting a new tmp var when there is one available * Avoid temp var for `super()` * `.insertAfter` after the last sequence expression child * Avoid duplicated tmp vars in class heritage * Insert `.insertAfter` ndoes before when it's equivalent
1 parent b17b8e2 commit 020a7b0

68 files changed

Lines changed: 299 additions & 277 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
export default (param => {
2-
var _class, _temp;
2+
var _class;
33

4-
return _temp = _class = class App {
4+
return _class = class App {
55
getParam() {
66
return param;
77
}
88

99
}, _class.props = {
1010
prop1: 'prop1',
1111
prop2: 'prop2'
12-
}, _temp;
12+
}, _class;
1313
});
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
var _class, _temp;
1+
var _class;
22

3-
call((_temp = _class = class {}, _class.test = true, _temp));
3+
call((_class = class {}, _class.test = true, _class));
44
export default class _class2 {}
55
_class2.test = true;
66
;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
function withContext(ComposedComponent) {
2-
var _class, _temp;
2+
var _class;
33

4-
return _temp = _class = class WithContext extends Component {}, _class.propTypes = {
4+
return _class = class WithContext extends Component {}, _class.propTypes = {
55
context: PropTypes.shape({
66
addCss: PropTypes.func,
77
setTitle: PropTypes.func,
88
setMeta: PropTypes.func
99
})
10-
}, _temp;
10+
}, _class;
1111
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
var _class, _temp;
1+
var _class;
22

3-
var Foo = (_temp = _class = class Foo {}, _class.num = 0, _temp);
3+
var Foo = (_class = class Foo {}, _class.num = 0, _class);
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
class Foo extends Bar {
22
constructor() {
3-
var _temp;
4-
5-
foo((_temp = super(), this.bar = "foo", _temp));
3+
foo((super(), this.bar = "foo", this));
64
}
75

86
}

packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/nested-class-computed-redeclared/output.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var Foo = /*#__PURE__*/function () {
2020

2121
_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _foo2)[_foo2];
2222

23-
var Nested = /*#__PURE__*/function (_babelHelpers$classPr2) {
23+
var Nested = /*#__PURE__*/function () {
2424
function Nested() {
2525
babelHelpers.classCallCheck(this, Nested);
2626
Object.defineProperty(this, _foo2, {
@@ -30,11 +30,11 @@ var Foo = /*#__PURE__*/function () {
3030
}
3131

3232
babelHelpers.createClass(Nested, [{
33-
key: _babelHelpers$classPr2,
33+
key: _babelHelpers$classPr,
3434
value: function () {}
3535
}]);
3636
return Nested;
37-
}(_babelHelpers$classPr);
37+
}();
3838

3939
babelHelpers.classPrivateFieldLooseBase(this, _foo)[_foo];
4040
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
export default (param => {
2-
var _class, _props, _temp;
2+
var _class, _props;
33

4-
return _temp = (_props = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("props"), _class = class App {
4+
return _props = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("props"), (_class = class App {
55
getParam() {
66
return param;
77
}
88

9-
}), Object.defineProperty(_class, _props, {
9+
}, Object.defineProperty(_class, _props, {
1010
writable: true,
1111
value: {
1212
prop1: 'prop1',
1313
prop2: 'prop2'
1414
}
15-
}), _temp;
15+
}), _class);
1616
});

packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/reevaluated/output.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function classFactory() {
2-
var _class, _foo, _bar, _temp;
2+
var _class, _foo, _bar;
33

4-
return _temp = (_foo = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("foo"), _bar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bar"), _class = class Foo {
4+
return _foo = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("foo"), _bar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bar"), (_class = class Foo {
55
constructor() {
66
Object.defineProperty(this, _foo, {
77
writable: true,
@@ -25,10 +25,10 @@ function classFactory() {
2525
return babelHelpers.classPrivateFieldLooseBase(Foo, _bar)[_bar];
2626
}
2727

28-
}), Object.defineProperty(_class, _bar, {
28+
}, Object.defineProperty(_class, _bar, {
2929
writable: true,
3030
value: "bar"
31-
}), _temp;
31+
}), _class);
3232
}
3333

3434
var Foo1 = classFactory();
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
var _class, _num, _temp;
1+
var _class, _num;
22

3-
var Foo = (_temp = (_num = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("num"), _class = class Foo {}), Object.defineProperty(_class, _num, {
3+
var Foo = (_num = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("num"), (_class = class Foo {}, Object.defineProperty(_class, _num, {
44
writable: true,
55
value: 0
6-
}), _temp);
6+
}), _class));

packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/super-expression/output.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ var Foo = /*#__PURE__*/function (_Bar) {
88
var _super = babelHelpers.createSuper(Foo);
99

1010
function Foo() {
11-
var _temp, _this;
11+
var _this;
1212

1313
babelHelpers.classCallCheck(this, Foo);
14-
foo((_temp = _this = _super.call(this), Object.defineProperty(babelHelpers.assertThisInitialized(_this), _bar, {
14+
foo((_this = _super.call(this), Object.defineProperty(babelHelpers.assertThisInitialized(_this), _bar, {
1515
writable: true,
1616
value: "foo"
17-
}), _temp));
17+
}), babelHelpers.assertThisInitialized(_this)));
1818
return _this;
1919
}
2020

0 commit comments

Comments
 (0)