Skip to content

Commit 927231b

Browse files
Merge pull request #2124 from Microsoft/unrewrite
Revert ES3/ES5 downlevel computed property emit logic to not use tree rewriting
2 parents 68b38b3 + ffae189 commit 927231b

File tree

50 files changed

+412
-320
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+412
-320
lines changed

src/compiler/emitter.ts

Lines changed: 154 additions & 182 deletions
Large diffs are not rendered by default.

tests/baselines/reference/ES5SymbolProperty1.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ obj[Symbol.foo];
1414
var Symbol;
1515
var obj = (_a = {},
1616
_a[Symbol.foo] = 0,
17-
_a);
17+
_a
18+
);
1819
obj[Symbol.foo];
1920
var _a;

tests/baselines/reference/FunctionDeclaration8_es6.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,5 @@
22
var v = { [yield]: foo }
33

44
//// [FunctionDeclaration8_es6.js]
5-
var v = (_a = {},
6-
_a[yield] = foo,
7-
_a);
5+
var v = (_a = {}, _a[yield] = foo, _a);
86
var _a;

tests/baselines/reference/FunctionDeclaration9_es6.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ function * foo() {
55

66
//// [FunctionDeclaration9_es6.js]
77
function foo() {
8-
var v = (_a = {},
9-
_a[] = foo,
10-
_a);
8+
var v = (_a = {}, _a[] = foo, _a);
119
var _a;
1210
}

tests/baselines/reference/FunctionPropertyAssignments5_es6.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,5 @@
22
var v = { *[foo()]() { } }
33

44
//// [FunctionPropertyAssignments5_es6.js]
5-
var v = (_a = {},
6-
_a[foo()] = function () { },
7-
_a);
5+
var v = (_a = {}, _a[foo()] = function () { }, _a);
86
var _a;

tests/baselines/reference/computedPropertyNames10_ES5.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,6 @@ var v = (_a = {},
3232
_a[true] = function () { },
3333
_a["hello bye"] = function () { },
3434
_a["hello " + a + " bye"] = function () { },
35-
_a);
35+
_a
36+
);
3637
var _a;

tests/baselines/reference/computedPropertyNames11_ES5.js

Lines changed: 57 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,61 @@ var s;
2121
var n;
2222
var a;
2323
var v = (_a = {},
24-
_a[s] = Object.defineProperty({ get: function () { return 0; }, enumerable: true, configurable: true }),
25-
_a[n] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }),
26-
_a[s + s] = Object.defineProperty({ get: function () { return 0; }, enumerable: true, configurable: true }),
27-
_a[s + n] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }),
28-
_a[+s] = Object.defineProperty({ get: function () { return 0; }, enumerable: true, configurable: true }),
29-
_a[""] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }),
30-
_a[0] = Object.defineProperty({ get: function () { return 0; }, enumerable: true, configurable: true }),
31-
_a[a] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }),
32-
_a[true] = Object.defineProperty({ get: function () { return 0; }, enumerable: true, configurable: true }),
33-
_a["hello bye"] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }),
34-
_a["hello " + a + " bye"] = Object.defineProperty({ get: function () { return 0; }, enumerable: true, configurable: true }),
35-
_a);
24+
Object.defineProperty(_a, s, {
25+
get: function () { return 0; },
26+
enumerable: true,
27+
configurable: true
28+
}),
29+
Object.defineProperty(_a, n, {
30+
set: function (v) { },
31+
enumerable: true,
32+
configurable: true
33+
}),
34+
Object.defineProperty(_a, s + s, {
35+
get: function () { return 0; },
36+
enumerable: true,
37+
configurable: true
38+
}),
39+
Object.defineProperty(_a, s + n, {
40+
set: function (v) { },
41+
enumerable: true,
42+
configurable: true
43+
}),
44+
Object.defineProperty(_a, +s, {
45+
get: function () { return 0; },
46+
enumerable: true,
47+
configurable: true
48+
}),
49+
Object.defineProperty(_a, "", {
50+
set: function (v) { },
51+
enumerable: true,
52+
configurable: true
53+
}),
54+
Object.defineProperty(_a, 0, {
55+
get: function () { return 0; },
56+
enumerable: true,
57+
configurable: true
58+
}),
59+
Object.defineProperty(_a, a, {
60+
set: function (v) { },
61+
enumerable: true,
62+
configurable: true
63+
}),
64+
Object.defineProperty(_a, true, {
65+
get: function () { return 0; },
66+
enumerable: true,
67+
configurable: true
68+
}),
69+
Object.defineProperty(_a, "hello bye", {
70+
set: function (v) { },
71+
enumerable: true,
72+
configurable: true
73+
}),
74+
Object.defineProperty(_a, "hello " + a + " bye", {
75+
get: function () { return 0; },
76+
enumerable: true,
77+
configurable: true
78+
}),
79+
_a
80+
);
3681
var _a;

tests/baselines/reference/computedPropertyNames18_ES5.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ function foo() {
99
function foo() {
1010
var obj = (_a = {},
1111
_a[this.bar] = 0,
12-
_a);
12+
_a
13+
);
1314
var _a;
1415
}

tests/baselines/reference/computedPropertyNames19_ES5.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ var M;
1010
(function (M) {
1111
var obj = (_a = {},
1212
_a[this.bar] = 0,
13-
_a);
13+
_a
14+
);
1415
var _a;
1516
})(M || (M = {}));

tests/baselines/reference/computedPropertyNames1_ES5.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,17 @@ var v = {
66

77
//// [computedPropertyNames1_ES5.js]
88
var v = (_a = {},
9-
_a[0 + 1] = Object.defineProperty({ get: function () { return 0; }, enumerable: true, configurable: true }),
10-
_a[0 + 1] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }),
11-
_a);
9+
Object.defineProperty(_a, 0 + 1, {
10+
get: function () { return 0; },
11+
enumerable: true,
12+
configurable: true
13+
}),
14+
Object.defineProperty(_a, 0 + 1, {
15+
set: function (v) { } //No error
16+
,
17+
enumerable: true,
18+
configurable: true
19+
}),
20+
_a
21+
);
1222
var _a;

0 commit comments

Comments
 (0)