File tree 7 files changed +38
-4
lines changed
expansions/avoid_spread_in_ternary
swc_ecma_transforms_base/src/rename/analyzer
7 files changed +38
-4
lines changed Original file line number Diff line number Diff line change
1
+ export function __CREATE_EXP__ ( ) {
2
+ return function EXP ( ...args ) {
3
+ return value ;
4
+ } ;
5
+ }
Original file line number Diff line number Diff line change
1
+ export function __CREATE_EXP__ ( ) {
2
+ return function n ( ...r ) {
3
+ return value ;
4
+ } ;
5
+ }
Original file line number Diff line number Diff line change
1
+ function __CREATE_EXP__ ( ...args ) {
2
+ return value ;
3
+ }
4
+
5
+ export { }
Original file line number Diff line number Diff line change
1
+ function e ( ...n ) {
2
+ return value ;
3
+ }
4
+ export { } ;
Original file line number Diff line number Diff line change 1
- function e ( ...e ) {
2
- console . log ( ...e ) ;
1
+ function e ( ...o ) {
2
+ console . log ( ...o ) ;
3
3
}
4
4
var o = [
5
5
1 ,
Original file line number Diff line number Diff line change 1
- function o ( o , ...n ) {
2
- console . log ( o ) ;
1
+ function o ( n , ...c ) {
2
+ console . log ( n ) ;
3
3
}
Original file line number Diff line number Diff line change @@ -270,7 +270,17 @@ impl Visit for Analyzer {
270
270
fn visit_fn_decl ( & mut self , f : & FnDecl ) {
271
271
self . add_decl ( f. ident . to_id ( ) , true ) ;
272
272
273
+ // https://github.com/swc-project/swc/issues/6819
274
+ let has_rest = f. function . params . iter ( ) . any ( |p| p. pat . is_rest ( ) ) ;
275
+ if has_rest {
276
+ self . add_usage ( f. ident . to_id ( ) ) ;
277
+ }
278
+
273
279
self . with_fn_scope ( |v| {
280
+ if has_rest {
281
+ v. add_usage ( f. ident . to_id ( ) ) ;
282
+ }
283
+
274
284
f. function . decorators . visit_with ( v) ;
275
285
f. function . params . visit_with ( v) ;
276
286
// WARN: Option<BlockStmt>::visit_mut_children_wth
@@ -284,6 +294,11 @@ impl Visit for Analyzer {
284
294
self . with_fn_scope ( |v| {
285
295
v. add_decl ( id. to_id ( ) , true ) ;
286
296
v. with_fn_scope ( |v| {
297
+ // https://github.com/swc-project/swc/issues/6819
298
+ if f. function . params . iter ( ) . any ( |p| p. pat . is_rest ( ) ) {
299
+ v. add_usage ( id. to_id ( ) ) ;
300
+ }
301
+
287
302
f. function . decorators . visit_with ( v) ;
288
303
f. function . params . visit_with ( v) ;
289
304
v. visit_fn_body_within_same_scope ( & f. function . body ) ;
You can’t perform that action at this time.
1 commit comments
github-actions[bot] commentedon Jan 16, 2023
Benchmark
es/full/bugs-1
293874
ns/iter (± 12609
)304515
ns/iter (± 7450
)0.97
es/full/minify/libraries/antd
1598048504
ns/iter (± 27998348
)1854877937
ns/iter (± 31292205
)0.86
es/full/minify/libraries/d3
311201701
ns/iter (± 6672393
)312642764
ns/iter (± 13335425
)1.00
es/full/minify/libraries/echarts
1255861328
ns/iter (± 11733311
)1381907367
ns/iter (± 25433493
)0.91
es/full/minify/libraries/jquery
91925514
ns/iter (± 1247565
)91833579
ns/iter (± 2132950
)1.00
es/full/minify/libraries/lodash
105605561
ns/iter (± 1626190
)109116610
ns/iter (± 1593623
)0.97
es/full/minify/libraries/moment
52652154
ns/iter (± 426998
)54411793
ns/iter (± 856876
)0.97
es/full/minify/libraries/react
19193628
ns/iter (± 94447
)19261678
ns/iter (± 166101
)1.00
es/full/minify/libraries/terser
256672986
ns/iter (± 6947039
)266904267
ns/iter (± 6290252
)0.96
es/full/minify/libraries/three
451771929
ns/iter (± 4627770
)489623040
ns/iter (± 13274416
)0.92
es/full/minify/libraries/typescript
3054289254
ns/iter (± 15421164
)3428460748
ns/iter (± 29308447
)0.89
es/full/minify/libraries/victory
638773305
ns/iter (± 11084749
)741289873
ns/iter (± 24994798
)0.86
es/full/minify/libraries/vue
128247763
ns/iter (± 1149093
)134819730
ns/iter (± 3097038
)0.95
es/full/codegen/es3
25537
ns/iter (± 169
)27791
ns/iter (± 72
)0.92
es/full/codegen/es5
25788
ns/iter (± 134
)27757
ns/iter (± 129
)0.93
es/full/codegen/es2015
26257
ns/iter (± 45
)27671
ns/iter (± 110
)0.95
es/full/codegen/es2016
25618
ns/iter (± 216
)27636
ns/iter (± 103
)0.93
es/full/codegen/es2017
25843
ns/iter (± 298
)27636
ns/iter (± 78
)0.94
es/full/codegen/es2018
25623
ns/iter (± 230
)27650
ns/iter (± 120
)0.93
es/full/codegen/es2019
25842
ns/iter (± 270
)27662
ns/iter (± 59
)0.93
es/full/codegen/es2020
25503
ns/iter (± 237
)27660
ns/iter (± 69
)0.92
es/full/all/es3
172414095
ns/iter (± 4283762
)170640653
ns/iter (± 3765234
)1.01
es/full/all/es5
165886122
ns/iter (± 3155249
)161551892
ns/iter (± 3211046
)1.03
es/full/all/es2015
124433495
ns/iter (± 1738345
)121008773
ns/iter (± 904803
)1.03
es/full/all/es2016
121776140
ns/iter (± 1807244
)119084216
ns/iter (± 1141781
)1.02
es/full/all/es2017
120866915
ns/iter (± 1015947
)118727818
ns/iter (± 1066007
)1.02
es/full/all/es2018
119544832
ns/iter (± 1133695
)116879747
ns/iter (± 1365651
)1.02
es/full/all/es2019
118486139
ns/iter (± 897446
)115794814
ns/iter (± 1203764
)1.02
es/full/all/es2020
114300786
ns/iter (± 1041062
)112165781
ns/iter (± 817712
)1.02
es/full/parser
533028
ns/iter (± 6489
)514672
ns/iter (± 7100
)1.04
es/full/base/fixer
21846
ns/iter (± 86
)22163
ns/iter (± 137
)0.99
es/full/base/resolver_and_hygiene
78080
ns/iter (± 617
)77632
ns/iter (± 103
)1.01
serialization of ast node
141
ns/iter (± 1
)118
ns/iter (± 0
)1.19
serialization of serde
126
ns/iter (± 1
)122
ns/iter (± 0
)1.03
css/minify/libraries/bootstrap
27285113
ns/iter (± 152708
)27809179
ns/iter (± 214535
)0.98
css/visitor/compare/clone
2054116
ns/iter (± 15176
)2068165
ns/iter (± 6849
)0.99
css/visitor/compare/visit_mut_span
2232090
ns/iter (± 18230
)2251975
ns/iter (± 8885
)0.99
css/visitor/compare/visit_mut_span_panic
2248800
ns/iter (± 14813
)2315802
ns/iter (± 7145
)0.97
css/visitor/compare/fold_span
2989732
ns/iter (± 22176
)3042551
ns/iter (± 18630
)0.98
css/visitor/compare/fold_span_panic
3116077
ns/iter (± 15928
)3171105
ns/iter (± 25660
)0.98
css/lexer/bootstrap_5_1_3
5007298
ns/iter (± 31600
)5206138
ns/iter (± 10404
)0.96
css/lexer/foundation_6_7_4
4232242
ns/iter (± 24077
)4353362
ns/iter (± 17650
)0.97
css/lexer/tailwind_3_1_1
824405
ns/iter (± 2613
)823250
ns/iter (± 3233
)1.00
css/parser/bootstrap_5_1_3
21214646
ns/iter (± 136005
)22155424
ns/iter (± 233696
)0.96
css/parser/foundation_6_7_4
16916172
ns/iter (± 112359
)17508096
ns/iter (± 124496
)0.97
css/parser/tailwind_3_1_1
3238590
ns/iter (± 22626
)3326884
ns/iter (± 10777
)0.97
es/codegen/colors
333930
ns/iter (± 189090
)325743
ns/iter (± 182951
)1.03
es/codegen/large
1164002
ns/iter (± 600853
)1237413
ns/iter (± 629214
)0.94
es/codegen/with-parser/colors
47400
ns/iter (± 444
)44955
ns/iter (± 953
)1.05
es/codegen/with-parser/large
523719
ns/iter (± 3784
)509196
ns/iter (± 1370
)1.03
es/minify/libraries/antd
1334618558
ns/iter (± 20366575
)1580132941
ns/iter (± 26952827
)0.84
es/minify/libraries/d3
243162009
ns/iter (± 3194566
)263494710
ns/iter (± 6421313
)0.92
es/minify/libraries/echarts
1025557647
ns/iter (± 11985688
)1213845562
ns/iter (± 35480726
)0.84
es/minify/libraries/jquery
75751966
ns/iter (± 531977
)79566186
ns/iter (± 1496004
)0.95
es/minify/libraries/lodash
92414942
ns/iter (± 835116
)98800095
ns/iter (± 2941700
)0.94
es/minify/libraries/moment
44991427
ns/iter (± 491662
)46864140
ns/iter (± 494185
)0.96
es/minify/libraries/react
16732176
ns/iter (± 155469
)17221228
ns/iter (± 468732
)0.97
es/minify/libraries/terser
204507521
ns/iter (± 2425770
)229303054
ns/iter (± 4420781
)0.89
es/minify/libraries/three
343756803
ns/iter (± 3936546
)404202903
ns/iter (± 8538797
)0.85
es/minify/libraries/typescript
2536214937
ns/iter (± 11239732
)2898973144
ns/iter (± 19516617
)0.87
es/minify/libraries/victory
530906029
ns/iter (± 10978787
)644451634
ns/iter (± 24894660
)0.82
es/minify/libraries/vue
113623633
ns/iter (± 846301
)121361452
ns/iter (± 2028366
)0.94
es/visitor/compare/clone
2361919
ns/iter (± 35677
)2453217
ns/iter (± 21000
)0.96
es/visitor/compare/visit_mut_span
2732234
ns/iter (± 15440
)2819075
ns/iter (± 8979
)0.97
es/visitor/compare/visit_mut_span_panic
2764865
ns/iter (± 17015
)2865932
ns/iter (± 9565
)0.96
es/visitor/compare/fold_span
3813837
ns/iter (± 18591
)3954756
ns/iter (± 16213
)0.96
es/visitor/compare/fold_span_panic
3979635
ns/iter (± 29623
)4125534
ns/iter (± 29372
)0.96
es/lexer/colors
16815
ns/iter (± 218
)17398
ns/iter (± 34
)0.97
es/lexer/angular
8061280
ns/iter (± 48609
)8282341
ns/iter (± 13137
)0.97
es/lexer/backbone
1058288
ns/iter (± 5004
)1079328
ns/iter (± 597
)0.98
es/lexer/jquery
5929974
ns/iter (± 54282
)5964923
ns/iter (± 25315
)0.99
es/lexer/jquery mobile
9114081
ns/iter (± 59619
)9226574
ns/iter (± 15310
)0.99
es/lexer/mootools
4648220
ns/iter (± 35194
)4717838
ns/iter (± 10102
)0.99
es/lexer/underscore
892450
ns/iter (± 6120
)905361
ns/iter (± 1698
)0.99
es/lexer/three
27631730
ns/iter (± 122180
)28103642
ns/iter (± 59289
)0.98
es/lexer/yui
5021464
ns/iter (± 56309
)5079161
ns/iter (± 6569
)0.99
es/parser/colors
30831
ns/iter (± 359
)31451
ns/iter (± 171
)0.98
es/parser/angular
15517857
ns/iter (± 283626
)16491140
ns/iter (± 361325
)0.94
es/parser/backbone
2329843
ns/iter (± 12807
)2349262
ns/iter (± 13308
)0.99
es/parser/jquery
12676346
ns/iter (± 75873
)13183280
ns/iter (± 482297
)0.96
es/parser/jquery mobile
19619590
ns/iter (± 562983
)21336885
ns/iter (± 553534
)0.92
es/parser/mootools
9492645
ns/iter (± 112535
)9715211
ns/iter (± 141412
)0.98
es/parser/underscore
1965723
ns/iter (± 10531
)1991522
ns/iter (± 10995
)0.99
es/parser/three
59304169
ns/iter (± 765142
)62558964
ns/iter (± 816921
)0.95
es/parser/yui
9645966
ns/iter (± 113084
)9813364
ns/iter (± 71455
)0.98
es/preset-env/usage/builtin_type
139178
ns/iter (± 31262
)138415
ns/iter (± 30054
)1.01
es/preset-env/usage/property
21146
ns/iter (± 113
)21281
ns/iter (± 119
)0.99
es/resolver/typescript
108014463
ns/iter (± 1855086
)122715983
ns/iter (± 2291553
)0.88
es/fixer/typescript
83712611
ns/iter (± 444079
)98348642
ns/iter (± 1823031
)0.85
es/hygiene/typescript
176897823
ns/iter (± 1383900
)195612488
ns/iter (± 2717438
)0.90
es/resolver_with_hygiene/typescript
311483489
ns/iter (± 3351591
)336849247
ns/iter (± 2560062
)0.92
es/visitor/base-perf/module_clone
74642
ns/iter (± 1351
)75178
ns/iter (± 1776
)0.99
es/visitor/base-perf/fold_empty
85053
ns/iter (± 1999
)84980
ns/iter (± 1293
)1.00
es/visitor/base-perf/fold_noop_impl_all
85773
ns/iter (± 1433
)85162
ns/iter (± 1803
)1.01
es/visitor/base-perf/fold_noop_impl_vec
84491
ns/iter (± 779
)85024
ns/iter (± 1588
)0.99
es/visitor/base-perf/boxing_boxed_clone
54
ns/iter (± 0
)56
ns/iter (± 0
)0.96
es/visitor/base-perf/boxing_unboxed_clone
57
ns/iter (± 0
)59
ns/iter (± 0
)0.97
es/visitor/base-perf/boxing_boxed
101
ns/iter (± 0
)105
ns/iter (± 0
)0.96
es/visitor/base-perf/boxing_unboxed
101
ns/iter (± 0
)104
ns/iter (± 0
)0.97
es/visitor/base-perf/visit_contains_this
3473
ns/iter (± 85
)3446
ns/iter (± 63
)1.01
es/base/parallel/resolver/typescript
4554479373
ns/iter (± 380697519
)6081347069
ns/iter (± 656318154
)0.75
es/base/parallel/hygiene/typescript
2088826432
ns/iter (± 23924285
)2381054387
ns/iter (± 53427394
)0.88
misc/visitors/time-complexity/time 5
103
ns/iter (± 0
)106
ns/iter (± 0
)0.97
misc/visitors/time-complexity/time 10
319
ns/iter (± 9
)343
ns/iter (± 1
)0.93
misc/visitors/time-complexity/time 15
694
ns/iter (± 2
)672
ns/iter (± 2
)1.03
misc/visitors/time-complexity/time 20
1236
ns/iter (± 30
)1279
ns/iter (± 16
)0.97
misc/visitors/time-complexity/time 40
6402
ns/iter (± 47
)6712
ns/iter (± 20
)0.95
misc/visitors/time-complexity/time 60
16539
ns/iter (± 102
)17249
ns/iter (± 50
)0.96
es/full-target/es2016
184477
ns/iter (± 1066
)187375
ns/iter (± 1150
)0.98
es/full-target/es2017
176772
ns/iter (± 944
)183338
ns/iter (± 479
)0.96
es/full-target/es2018
166991
ns/iter (± 1640
)172585
ns/iter (± 839
)0.97
es2020_nullish_coalescing
64983
ns/iter (± 6658
)66933
ns/iter (± 265
)0.97
es2020_optional_chaining
92803
ns/iter (± 483
)95972
ns/iter (± 367
)0.97
es2022_class_properties
90703
ns/iter (± 312
)93348
ns/iter (± 367
)0.97
es2018_object_rest_spread
69923
ns/iter (± 506
)71207
ns/iter (± 155
)0.98
es2019_optional_catch_binding
60198
ns/iter (± 592
)61097
ns/iter (± 179
)0.99
es2017_async_to_generator
59695
ns/iter (± 348
)61259
ns/iter (± 98
)0.97
es2016_exponentiation
62929
ns/iter (± 545
)64736
ns/iter (± 64
)0.97
es2015_arrow
67450
ns/iter (± 314
)69884
ns/iter (± 169
)0.97
es2015_block_scoped_fn
63448
ns/iter (± 595
)66217
ns/iter (± 113
)0.96
es2015_block_scoping
134902
ns/iter (± 6314
)139303
ns/iter (± 9249
)0.97
es2015_classes
113457
ns/iter (± 834
)118239
ns/iter (± 549
)0.96
es2015_computed_props
59493
ns/iter (± 665
)61183
ns/iter (± 74
)0.97
es2015_destructuring
112279
ns/iter (± 829
)115942
ns/iter (± 175
)0.97
es2015_duplicate_keys
62071
ns/iter (± 386
)64011
ns/iter (± 107
)0.97
es2015_parameters
76700
ns/iter (± 440
)79995
ns/iter (± 153
)0.96
es2015_fn_name
64188
ns/iter (± 584
)66999
ns/iter (± 581
)0.96
es2015_for_of
62477
ns/iter (± 546
)64646
ns/iter (± 138
)0.97
es2015_instanceof
61048
ns/iter (± 434
)63244
ns/iter (± 121
)0.97
es2015_shorthand_property
59039
ns/iter (± 209
)60950
ns/iter (± 126
)0.97
es2015_spread
59022
ns/iter (± 238
)60927
ns/iter (± 93
)0.97
es2015_sticky_regex
60288
ns/iter (± 423
)62380
ns/iter (± 171
)0.97
es2015_typeof_symbol
60971
ns/iter (± 475
)62387
ns/iter (± 111
)0.98
es/transform/baseline/base
50880
ns/iter (± 452
)51639
ns/iter (± 121
)0.99
es/transform/baseline/common_reserved_word
61124
ns/iter (± 358
)62584
ns/iter (± 118
)0.98
es/transform/baseline/common_typescript
137835
ns/iter (± 1340
)159609
ns/iter (± 10323
)0.86
es/target/es3
164259
ns/iter (± 575
)169654
ns/iter (± 297
)0.97
es/target/es2015
609265
ns/iter (± 3517
)628934
ns/iter (± 1386
)0.97
es/target/es2016
63042
ns/iter (± 449
)64944
ns/iter (± 100
)0.97
es/target/es2017
59576
ns/iter (± 372
)61500
ns/iter (± 164
)0.97
es/target/es2018
79397
ns/iter (± 737
)81718
ns/iter (± 214
)0.97
es/target/es2020
129938
ns/iter (± 690
)133295
ns/iter (± 201
)0.97
babelify-only
671901
ns/iter (± 1068
)679443
ns/iter (± 1903
)0.99
parse_and_babelify_angular
41023234
ns/iter (± 247503
)43716373
ns/iter (± 1152575
)0.94
parse_and_babelify_backbone
5285460
ns/iter (± 55359
)5495032
ns/iter (± 88133
)0.96
parse_and_babelify_jquery
30505748
ns/iter (± 297407
)34047966
ns/iter (± 1021052
)0.90
parse_and_babelify_jquery_mobile
52200386
ns/iter (± 484325
)57912546
ns/iter (± 1302472
)0.90
parse_and_babelify_mootools
30784422
ns/iter (± 391397
)35732046
ns/iter (± 605422
)0.86
parse_and_babelify_underscore
4345302
ns/iter (± 18139
)4308161
ns/iter (± 30447
)1.01
parse_and_babelify_yui
30551817
ns/iter (± 281775
)33758447
ns/iter (± 687630
)0.91
html/minify/document/css_spec
40082976
ns/iter (± 691354
)43116740
ns/iter (± 752874
)0.93
html/minify/document/github
17076074
ns/iter (± 134737
)17494318
ns/iter (± 171793
)0.98
html/minify/document/stackoverflow
15194267
ns/iter (± 102299
)15886221
ns/iter (± 101718
)0.96
html/minify/document_fragment/css_spec
38495341
ns/iter (± 262793
)40543382
ns/iter (± 446372
)0.95
html/minify/document_fragment/github
16459753
ns/iter (± 117483
)16849744
ns/iter (± 144672
)0.98
html/minify/document_fragment/stackoverflow
14752946
ns/iter (± 80666
)15446844
ns/iter (± 239104
)0.96
html/document/visitor/compare/clone
332974
ns/iter (± 3350
)338457
ns/iter (± 2344
)0.98
html/document/visitor/compare/visit_mut_span
353300
ns/iter (± 2503
)366213
ns/iter (± 2272
)0.96
html/document/visitor/compare/visit_mut_span_panic
361910
ns/iter (± 1832
)371525
ns/iter (± 2180
)0.97
html/document/visitor/compare/fold_span
394807
ns/iter (± 4557
)409141
ns/iter (± 2011
)0.96
html/document/visitor/compare/fold_span_panic
452377
ns/iter (± 1824
)458760
ns/iter (± 2214
)0.99
html/document_fragment/visitor/compare/clone
328795
ns/iter (± 3190
)337284
ns/iter (± 1448
)0.97
html/document_fragment/visitor/compare/visit_mut_span
359982
ns/iter (± 4226
)364126
ns/iter (± 2801
)0.99
html/document_fragment/visitor/compare/visit_mut_span_panic
368537
ns/iter (± 3436
)368774
ns/iter (± 1157
)1.00
html/document_fragment/visitor/compare/fold_span
393564
ns/iter (± 2996
)400124
ns/iter (± 2901
)0.98
html/document_fragment/visitor/compare/fold_span_panic
446357
ns/iter (± 4930
)465596
ns/iter (± 1943
)0.96
html/lexer/css_2021_spec
15397269
ns/iter (± 126041
)15594973
ns/iter (± 84813
)0.99
html/lexer/github_com_17_05_2022
5890262
ns/iter (± 29701
)6039844
ns/iter (± 10106
)0.98
html/lexer/stackoverflow_com_17_05_2022
5515170
ns/iter (± 55538
)5630534
ns/iter (± 15601
)0.98
html/parser/parser_document/css_2021_spec
25180025
ns/iter (± 249252
)25984017
ns/iter (± 299475
)0.97
html/parser/parser_document/github_com_17_05_2022
8606944
ns/iter (± 60821
)8750039
ns/iter (± 25074
)0.98
html/parser/parser_document/stackoverflow_com_17_05_2022
7622500
ns/iter (± 60573
)7681354
ns/iter (± 16224
)0.99
html/parser/parser_document_fragment/css_2021_spec
25069719
ns/iter (± 185487
)26101068
ns/iter (± 475956
)0.96
html/parser/parser_document_fragment/github_com_17_05_2022
8630540
ns/iter (± 61227
)8767930
ns/iter (± 18351
)0.98
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7589536
ns/iter (± 35308
)7670153
ns/iter (± 25933
)0.99
This comment was automatically generated by workflow using github-action-benchmark.