-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/compat): Transform default-exported class decorators correctly (…
…#8050) **Description:** Process decorators on the class expression on `export default` declaration and ensure to execute tests for the feature. **Related issue:** - Closes #8049
- Loading branch information
Showing
6 changed files
with
50 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 10 additions & 11 deletions
21
...c_ecma_transforms_proposal/tests/decorators/2022-03-exported/default-anonymous/output.mjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,11 @@ | ||
var _initClass, _dec; | ||
let _A; | ||
_dec = dec; | ||
class A { | ||
static { | ||
[_A, _initClass] = _applyDecs2203R(this, [], [_dec]).c; | ||
} | ||
static { | ||
_initClass(); | ||
} | ||
var _initClass, _A; | ||
export default class A { | ||
static{ | ||
({ c: [_A, _initClass] } = _apply_decs_2203_r(this, [], [ | ||
dec | ||
])); | ||
} | ||
static{ | ||
_initClass(); | ||
} | ||
} | ||
export { _A as default }; |
21 changes: 10 additions & 11 deletions
21
...s/swc_ecma_transforms_proposal/tests/decorators/2022-03-exported/default-named/output.mjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,11 @@ | ||
var _initClass, _dec; | ||
let _default2; | ||
_dec = dec; | ||
class _default { | ||
static { | ||
[_default2, _initClass] = _applyDecs2203R(this, [], [_dec]).c; | ||
} | ||
static { | ||
_initClass(); | ||
} | ||
var _initClass, _class; | ||
export default class { | ||
static{ | ||
({ c: [_class, _initClass] } = _apply_decs_2203_r(this, [], [ | ||
dec | ||
])); | ||
} | ||
static{ | ||
_initClass(); | ||
} | ||
} | ||
export { _default2 as default }; |
13 changes: 9 additions & 4 deletions
13
...wc_ecma_transforms_proposal/tests/decorators/2022-03-exported/member-decorator/output.mjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,13 @@ | ||
var _dec, _init_x; | ||
_dec = dec; | ||
var _init_x; | ||
export class A { | ||
static { | ||
[_init_x] = _applyDecs2203R(this, [[_dec, 0, "x"]], []).e; | ||
static{ | ||
({ e: [_init_x] } = _apply_decs_2203_r(this, [ | ||
[ | ||
dec, | ||
0, | ||
"x" | ||
] | ||
], [])); | ||
} | ||
x = _init_x(this); | ||
} |
17 changes: 9 additions & 8 deletions
17
crates/swc_ecma_transforms_proposal/tests/decorators/2022-03-exported/named/output.mjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,13 @@ | ||
var _initClass, _dec; | ||
var _initClass; | ||
let _A; | ||
_dec = dec; | ||
class A { | ||
static { | ||
[_A, _initClass] = _applyDecs2203R(this, [], [_dec]).c; | ||
} | ||
static { | ||
_initClass(); | ||
} | ||
static { | ||
({ c: [_A, _initClass] } = _apply_decs_2203_r(this, [], [ | ||
dec | ||
])); | ||
} | ||
static { | ||
_initClass(); | ||
} | ||
} | ||
export { _A as A }; |
a751f1c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark
es/full/bugs-1
277833
ns/iter (± 5957
)275528
ns/iter (± 1852
)1.01
es/full/minify/libraries/antd
1315453138
ns/iter (± 5262929
)1313388202
ns/iter (± 13063122
)1.00
es/full/minify/libraries/d3
287366028
ns/iter (± 7212246
)278470778
ns/iter (± 5361479
)1.03
es/full/minify/libraries/echarts
1050258731
ns/iter (± 7499031
)1048540142
ns/iter (± 10779862
)1.00
es/full/minify/libraries/jquery
84348807
ns/iter (± 293647
)83973165
ns/iter (± 168650
)1.00
es/full/minify/libraries/lodash
97891776
ns/iter (± 505731
)97160484
ns/iter (± 359447
)1.01
es/full/minify/libraries/moment
49991198
ns/iter (± 92971
)49767035
ns/iter (± 112519
)1.00
es/full/minify/libraries/react
18044672
ns/iter (± 51497
)18078089
ns/iter (± 107091
)1.00
es/full/minify/libraries/terser
218019297
ns/iter (± 788292
)216864726
ns/iter (± 893834
)1.01
es/full/minify/libraries/three
384113257
ns/iter (± 2838047
)384437340
ns/iter (± 1525872
)1.00
es/full/minify/libraries/typescript
2654667541
ns/iter (± 8719701
)2632573209
ns/iter (± 22876423
)1.01
es/full/minify/libraries/victory
565656105
ns/iter (± 4851121
)563959199
ns/iter (± 3775218
)1.00
es/full/minify/libraries/vue
119145169
ns/iter (± 438108
)119010406
ns/iter (± 325846
)1.00
es/full/codegen/es3
34990
ns/iter (± 74
)34700
ns/iter (± 52
)1.01
es/full/codegen/es5
34883
ns/iter (± 56
)34612
ns/iter (± 89
)1.01
es/full/codegen/es2015
34946
ns/iter (± 125
)34547
ns/iter (± 111
)1.01
es/full/codegen/es2016
34889
ns/iter (± 115
)34622
ns/iter (± 95
)1.01
es/full/codegen/es2017
34908
ns/iter (± 48
)34607
ns/iter (± 133
)1.01
es/full/codegen/es2018
34990
ns/iter (± 123
)34616
ns/iter (± 135
)1.01
es/full/codegen/es2019
34970
ns/iter (± 104
)34609
ns/iter (± 76
)1.01
es/full/codegen/es2020
34996
ns/iter (± 105
)34658
ns/iter (± 87
)1.01
es/full/all/es3
164994483
ns/iter (± 1442444
)164374660
ns/iter (± 912152
)1.00
es/full/all/es5
158121658
ns/iter (± 1041097
)157601005
ns/iter (± 1594985
)1.00
es/full/all/es2015
117656178
ns/iter (± 1027051
)116261825
ns/iter (± 768070
)1.01
es/full/all/es2016
116266336
ns/iter (± 1367325
)116286729
ns/iter (± 785445
)1.00
es/full/all/es2017
115513112
ns/iter (± 583101
)114617768
ns/iter (± 1081265
)1.01
es/full/all/es2018
114083148
ns/iter (± 1121684
)113623986
ns/iter (± 875593
)1.00
es/full/all/es2019
112838529
ns/iter (± 436015
)112463834
ns/iter (± 1185707
)1.00
es/full/all/es2020
109306000
ns/iter (± 913711
)107996064
ns/iter (± 963528
)1.01
es/full/parser
489804
ns/iter (± 5783
)485766
ns/iter (± 6118
)1.01
es/full/base/fixer
19055
ns/iter (± 208
)17943
ns/iter (± 111
)1.06
es/full/base/resolver_and_hygiene
80324
ns/iter (± 119
)80666
ns/iter (± 278
)1.00
This comment was automatically generated by workflow using github-action-benchmark.