File tree 3 files changed +42
-0
lines changed
crates/swc_ecma_transforms_base
3 files changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -1222,6 +1222,16 @@ impl<'a> VisitMut for Resolver<'a> {
1222
1222
} ) ;
1223
1223
}
1224
1224
1225
+ fn visit_mut_ts_export_assignment ( & mut self , node : & mut TsExportAssignment ) {
1226
+ node. expr . visit_mut_with ( self ) ;
1227
+
1228
+ if self . config . handle_types {
1229
+ if let Some ( i) = leftmost ( & mut node. expr ) {
1230
+ self . try_resolving_as_type ( i) ;
1231
+ }
1232
+ }
1233
+ }
1234
+
1225
1235
fn visit_mut_ts_expr_with_type_args ( & mut self , n : & mut TsExprWithTypeArgs ) {
1226
1236
if self . config . handle_types {
1227
1237
let old = self . in_type ;
@@ -1453,6 +1463,15 @@ impl<'a> VisitMut for Resolver<'a> {
1453
1463
}
1454
1464
}
1455
1465
1466
+ fn leftmost ( expr : & mut Expr ) -> Option < & mut Ident > {
1467
+ match expr {
1468
+ Expr :: Ident ( i) => Some ( i) ,
1469
+ Expr :: Member ( MemberExpr { obj, .. } ) => leftmost ( obj) ,
1470
+ Expr :: Paren ( ParenExpr { expr, .. } ) => leftmost ( expr) ,
1471
+ _ => None ,
1472
+ }
1473
+ }
1474
+
1456
1475
/// The folder which handles var / function hoisting.
1457
1476
struct Hoister < ' a , ' b > {
1458
1477
resolver : & ' a mut Resolver < ' b > ,
Original file line number Diff line number Diff line change
1
+ interface Foo {
2
+ ( a : string ) : void ;
3
+ b : string ;
4
+ }
5
+ interface Foo {
6
+ ( a : number ) : number ;
7
+ c : boolean ;
8
+ d : { x : number ; y : number } ;
9
+ }
10
+ export = Foo ;
Original file line number Diff line number Diff line change
1
+ interface Foo__1 {
2
+ ( a : string ) : void ;
3
+ b__0 : string ;
4
+ }
5
+ interface Foo__1 {
6
+ ( a : number ) : number ;
7
+ c__0 : boolean ;
8
+ d__0 : {
9
+ x__0 : number ;
10
+ y__0 : number ;
11
+ } ;
12
+ }
13
+ export = Foo__1
You can’t perform that action at this time.
1 commit comments
github-actions[bot] commentedon Feb 19, 2023
Benchmark
es/full/bugs-1
291105
ns/iter (± 21556
)280393
ns/iter (± 13426
)1.04
es/full/minify/libraries/antd
1647226943
ns/iter (± 27112889
)1639853169
ns/iter (± 24451020
)1.00
es/full/minify/libraries/d3
292931748
ns/iter (± 6676619
)294971373
ns/iter (± 8661132
)0.99
es/full/minify/libraries/echarts
1273886527
ns/iter (± 23791808
)1222470542
ns/iter (± 12481260
)1.04
es/full/minify/libraries/jquery
89016549
ns/iter (± 748099
)87647235
ns/iter (± 946898
)1.02
es/full/minify/libraries/lodash
105127733
ns/iter (± 921733
)104979648
ns/iter (± 877836
)1.00
es/full/minify/libraries/moment
52036264
ns/iter (± 554135
)52004448
ns/iter (± 839339
)1.00
es/full/minify/libraries/react
18940037
ns/iter (± 130692
)18988277
ns/iter (± 135591
)1.00
es/full/minify/libraries/terser
241753596
ns/iter (± 2095976
)240040994
ns/iter (± 3731933
)1.01
es/full/minify/libraries/three
427460789
ns/iter (± 4721122
)429308526
ns/iter (± 7302405
)1.00
es/full/minify/libraries/typescript
3161091276
ns/iter (± 30950470
)3091179067
ns/iter (± 25427680
)1.02
es/full/minify/libraries/victory
649963164
ns/iter (± 9158184
)627840067
ns/iter (± 9801201
)1.04
es/full/minify/libraries/vue
127747470
ns/iter (± 1663802
)127866355
ns/iter (± 6744870
)1.00
es/full/codegen/es3
25341
ns/iter (± 176
)29640
ns/iter (± 130
)0.85
es/full/codegen/es5
25725
ns/iter (± 143
)29452
ns/iter (± 315
)0.87
es/full/codegen/es2015
25199
ns/iter (± 265
)28904
ns/iter (± 313
)0.87
es/full/codegen/es2016
25254
ns/iter (± 213
)29346
ns/iter (± 443
)0.86
es/full/codegen/es2017
25432
ns/iter (± 193
)29201
ns/iter (± 430
)0.87
es/full/codegen/es2018
25347
ns/iter (± 226
)28752
ns/iter (± 373
)0.88
es/full/codegen/es2019
25471
ns/iter (± 169
)28932
ns/iter (± 434
)0.88
es/full/codegen/es2020
25364
ns/iter (± 249
)29137
ns/iter (± 249
)0.87
es/full/all/es3
174231549
ns/iter (± 3296003
)171590654
ns/iter (± 2209958
)1.02
es/full/all/es5
166655882
ns/iter (± 3924087
)163764363
ns/iter (± 4481263
)1.02
es/full/all/es2015
129930316
ns/iter (± 1230471
)123425918
ns/iter (± 1049583
)1.05
es/full/all/es2016
127046790
ns/iter (± 1475595
)122270771
ns/iter (± 1008394
)1.04
es/full/all/es2017
125301986
ns/iter (± 1219208
)120961143
ns/iter (± 873639
)1.04
es/full/all/es2018
120830828
ns/iter (± 1592860
)118469252
ns/iter (± 677215
)1.02
es/full/all/es2019
120808385
ns/iter (± 993653
)117419970
ns/iter (± 1154120
)1.03
es/full/all/es2020
115574799
ns/iter (± 821801
)113577981
ns/iter (± 1005390
)1.02
es/full/parser
540237
ns/iter (± 10840
)512711
ns/iter (± 6440
)1.05
es/full/base/fixer
21351
ns/iter (± 117
)21235
ns/iter (± 187
)1.01
es/full/base/resolver_and_hygiene
79840
ns/iter (± 729
)79289
ns/iter (± 291
)1.01
serialization of ast node
120
ns/iter (± 3
)118
ns/iter (± 1
)1.02
serialization of serde
125
ns/iter (± 1
)123
ns/iter (± 0
)1.02
css/minify/libraries/bootstrap
27173609
ns/iter (± 373929
)26685509
ns/iter (± 224943
)1.02
css/visitor/compare/clone
2020628
ns/iter (± 24079
)2025270
ns/iter (± 18966
)1.00
css/visitor/compare/visit_mut_span
2227123
ns/iter (± 23832
)2195767
ns/iter (± 17795
)1.01
css/visitor/compare/visit_mut_span_panic
2275935
ns/iter (± 21844
)2246400
ns/iter (± 14124
)1.01
css/visitor/compare/fold_span
2962693
ns/iter (± 23955
)2939148
ns/iter (± 36682
)1.01
css/visitor/compare/fold_span_panic
3094306
ns/iter (± 28868
)3055488
ns/iter (± 18692
)1.01
css/lexer/bootstrap_5_1_3
5165376
ns/iter (± 97092
)5106876
ns/iter (± 32913
)1.01
css/lexer/foundation_6_7_4
4337589
ns/iter (± 51910
)4242575
ns/iter (± 26447
)1.02
css/lexer/tailwind_3_1_1
814367
ns/iter (± 4723
)803234
ns/iter (± 5656
)1.01
css/parser/bootstrap_5_1_3
21431226
ns/iter (± 246591
)21008764
ns/iter (± 184063
)1.02
css/parser/foundation_6_7_4
16947307
ns/iter (± 113794
)16849078
ns/iter (± 123642
)1.01
css/parser/tailwind_3_1_1
3236498
ns/iter (± 20897
)3211308
ns/iter (± 18686
)1.01
es/codegen/colors
324457
ns/iter (± 185090
)339805
ns/iter (± 193363
)0.95
es/codegen/large
1202320
ns/iter (± 640990
)1181821
ns/iter (± 604273
)1.02
es/codegen/with-parser/colors
48348
ns/iter (± 656
)46771
ns/iter (± 329
)1.03
es/codegen/with-parser/large
518718
ns/iter (± 5476
)520552
ns/iter (± 4721
)1.00
es/minify/libraries/antd
1430287285
ns/iter (± 28308359
)1395847354
ns/iter (± 77958061
)1.02
es/minify/libraries/d3
240518722
ns/iter (± 1442396
)239215303
ns/iter (± 2418305
)1.01
es/minify/libraries/echarts
1042009016
ns/iter (± 16076834
)1023472168
ns/iter (± 13771574
)1.02
es/minify/libraries/jquery
76802261
ns/iter (± 415236
)75629308
ns/iter (± 583029
)1.02
es/minify/libraries/lodash
93409999
ns/iter (± 808194
)91735754
ns/iter (± 1056589
)1.02
es/minify/libraries/moment
45096772
ns/iter (± 331830
)44966538
ns/iter (± 384287
)1.00
es/minify/libraries/react
16877716
ns/iter (± 137671
)16791192
ns/iter (± 79499
)1.01
es/minify/libraries/terser
203958170
ns/iter (± 2531780
)204037117
ns/iter (± 2214088
)1.00
es/minify/libraries/three
351834244
ns/iter (± 6507787
)352526664
ns/iter (± 7303809
)1.00
es/minify/libraries/typescript
2707930895
ns/iter (± 18412444
)2623970447
ns/iter (± 14500562
)1.03
es/minify/libraries/victory
559413823
ns/iter (± 8513400
)539324024
ns/iter (± 9965231
)1.04
es/minify/libraries/vue
113037876
ns/iter (± 1014709
)112196651
ns/iter (± 1334701
)1.01
es/visitor/compare/clone
2351539
ns/iter (± 20620
)2352364
ns/iter (± 25960
)1.00
es/visitor/compare/visit_mut_span
2803724
ns/iter (± 41095
)2752071
ns/iter (± 17184
)1.02
es/visitor/compare/visit_mut_span_panic
2856157
ns/iter (± 21090
)2798927
ns/iter (± 30317
)1.02
es/visitor/compare/fold_span
3877084
ns/iter (± 26291
)3858466
ns/iter (± 36442
)1.00
es/visitor/compare/fold_span_panic
4114886
ns/iter (± 30664
)3983078
ns/iter (± 20624
)1.03
es/lexer/colors
16849
ns/iter (± 146
)16819
ns/iter (± 148
)1.00
es/lexer/angular
8100253
ns/iter (± 62172
)8018280
ns/iter (± 55331
)1.01
es/lexer/backbone
1061200
ns/iter (± 9471
)1042957
ns/iter (± 6110
)1.02
es/lexer/jquery
5862915
ns/iter (± 41299
)5767895
ns/iter (± 43855
)1.02
es/lexer/jquery mobile
9154852
ns/iter (± 61958
)8955751
ns/iter (± 81988
)1.02
es/lexer/mootools
4597643
ns/iter (± 27145
)4525223
ns/iter (± 31686
)1.02
es/lexer/underscore
884620
ns/iter (± 3783
)874003
ns/iter (± 5064
)1.01
es/lexer/three
27382346
ns/iter (± 182775
)27257796
ns/iter (± 299914
)1.00
es/lexer/yui
4966907
ns/iter (± 49483
)4919032
ns/iter (± 41732
)1.01
es/parser/colors
30127
ns/iter (± 199
)29527
ns/iter (± 305
)1.02
es/parser/angular
15170263
ns/iter (± 76268
)15160732
ns/iter (± 231378
)1.00
es/parser/backbone
2263628
ns/iter (± 23854
)2291605
ns/iter (± 17905
)0.99
es/parser/jquery
12190068
ns/iter (± 77894
)12275441
ns/iter (± 96801
)0.99
es/parser/jquery mobile
19280598
ns/iter (± 468547
)19295244
ns/iter (± 352291
)1.00
es/parser/mootools
9389903
ns/iter (± 77564
)9395646
ns/iter (± 102622
)1.00
es/parser/underscore
1955426
ns/iter (± 17737
)1925888
ns/iter (± 18660
)1.02
es/parser/three
55710768
ns/iter (± 915729
)53975889
ns/iter (± 1069979
)1.03
es/parser/yui
9532920
ns/iter (± 93030
)9323782
ns/iter (± 82583
)1.02
es/preset-env/usage/builtin_type
139734
ns/iter (± 31553
)135717
ns/iter (± 30196
)1.03
es/preset-env/usage/property
20677
ns/iter (± 122
)20811
ns/iter (± 66
)0.99
es/resolver/typescript
119430212
ns/iter (± 2054132
)117774211
ns/iter (± 5019077
)1.01
es/fixer/typescript
95432649
ns/iter (± 957736
)92058418
ns/iter (± 1695308
)1.04
es/hygiene/typescript
200089059
ns/iter (± 1131692
)194332573
ns/iter (± 1683096
)1.03
es/resolver_with_hygiene/typescript
333896643
ns/iter (± 1607281
)330876120
ns/iter (± 3049389
)1.01
es/visitor/base-perf/module_clone
74385
ns/iter (± 952
)74071
ns/iter (± 1134
)1.00
es/visitor/base-perf/fold_empty
84538
ns/iter (± 1854
)84270
ns/iter (± 1460
)1.00
es/visitor/base-perf/fold_noop_impl_all
85409
ns/iter (± 1861
)83922
ns/iter (± 1546
)1.02
es/visitor/base-perf/fold_noop_impl_vec
84221
ns/iter (± 1581
)83700
ns/iter (± 2098
)1.01
es/visitor/base-perf/boxing_boxed_clone
55
ns/iter (± 0
)54
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_unboxed_clone
58
ns/iter (± 0
)58
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
104
ns/iter (± 0
)100
ns/iter (± 0
)1.04
es/visitor/base-perf/boxing_unboxed
101
ns/iter (± 0
)105
ns/iter (± 0
)0.96
es/visitor/base-perf/visit_contains_this
3348
ns/iter (± 41
)3383
ns/iter (± 67
)0.99
es/base/parallel/resolver/typescript
5384560790
ns/iter (± 520230875
)5406524445
ns/iter (± 560006636
)1.00
es/base/parallel/hygiene/typescript
2366456310
ns/iter (± 23699533
)2360685598
ns/iter (± 34141874
)1.00
misc/visitors/time-complexity/time 5
91
ns/iter (± 1
)92
ns/iter (± 0
)0.99
misc/visitors/time-complexity/time 10
295
ns/iter (± 3
)321
ns/iter (± 1
)0.92
misc/visitors/time-complexity/time 15
587
ns/iter (± 4
)634
ns/iter (± 7
)0.93
misc/visitors/time-complexity/time 20
1122
ns/iter (± 8
)1172
ns/iter (± 9
)0.96
misc/visitors/time-complexity/time 40
5984
ns/iter (± 39
)5968
ns/iter (± 28
)1.00
misc/visitors/time-complexity/time 60
15178
ns/iter (± 39
)15007
ns/iter (± 149
)1.01
es/full-target/es2016
188392
ns/iter (± 690
)184485
ns/iter (± 1841
)1.02
es/full-target/es2017
182022
ns/iter (± 919
)177072
ns/iter (± 1241
)1.03
es/full-target/es2018
168494
ns/iter (± 1217
)166296
ns/iter (± 1668
)1.01
es2020_nullish_coalescing
66659
ns/iter (± 609
)64308
ns/iter (± 527
)1.04
es2020_optional_chaining
95227
ns/iter (± 7257
)89894
ns/iter (± 5495
)1.06
es2022_class_properties
91814
ns/iter (± 646
)89340
ns/iter (± 1004
)1.03
es2018_object_rest_spread
71576
ns/iter (± 242
)68527
ns/iter (± 761
)1.04
es2019_optional_catch_binding
61042
ns/iter (± 489
)58756
ns/iter (± 511
)1.04
es2017_async_to_generator
61251
ns/iter (± 389
)58785
ns/iter (± 561
)1.04
es2016_exponentiation
63998
ns/iter (± 515
)61700
ns/iter (± 626
)1.04
es2015_arrow
69594
ns/iter (± 778
)66332
ns/iter (± 621
)1.05
es2015_block_scoped_fn
65914
ns/iter (± 812
)62754
ns/iter (± 443
)1.05
es2015_block_scoping
153339
ns/iter (± 10128
)147879
ns/iter (± 7729
)1.04
es2015_classes
116257
ns/iter (± 684
)109569
ns/iter (± 500
)1.06
es2015_computed_props
61151
ns/iter (± 279
)57519
ns/iter (± 343
)1.06
es2015_destructuring
114136
ns/iter (± 654
)109831
ns/iter (± 790
)1.04
es2015_duplicate_keys
62473
ns/iter (± 516
)61002
ns/iter (± 284
)1.02
es2015_parameters
78146
ns/iter (± 938
)75263
ns/iter (± 726
)1.04
es2015_fn_name
64635
ns/iter (± 534
)62546
ns/iter (± 572
)1.03
es2015_for_of
64177
ns/iter (± 582
)61049
ns/iter (± 381
)1.05
es2015_instanceof
61861
ns/iter (± 338
)59381
ns/iter (± 417
)1.04
es2015_shorthand_property
60092
ns/iter (± 264
)57976
ns/iter (± 623
)1.04
es2015_spread
59712
ns/iter (± 470
)57816
ns/iter (± 492
)1.03
es2015_sticky_regex
60959
ns/iter (± 280
)59073
ns/iter (± 458
)1.03
es2015_typeof_symbol
61066
ns/iter (± 470
)59242
ns/iter (± 441
)1.03
es/transform/baseline/base
50901
ns/iter (± 225
)48821
ns/iter (± 538
)1.04
es/transform/baseline/common_reserved_word
61234
ns/iter (± 430
)59676
ns/iter (± 560
)1.03
es/transform/baseline/common_typescript
164180
ns/iter (± 711
)160842
ns/iter (± 2582
)1.02
es/target/es3
168102
ns/iter (± 10503
)161548
ns/iter (± 2293
)1.04
es/target/es2015
618732
ns/iter (± 3861
)585859
ns/iter (± 4126
)1.06
es/target/es2016
63260
ns/iter (± 520
)61332
ns/iter (± 421
)1.03
es/target/es2017
60835
ns/iter (± 354
)58470
ns/iter (± 287
)1.04
es/target/es2018
80114
ns/iter (± 400
)76975
ns/iter (± 886
)1.04
es/target/es2020
131919
ns/iter (± 398
)126558
ns/iter (± 1386
)1.04
babelify-only
676136
ns/iter (± 6876
)663588
ns/iter (± 5206
)1.02
parse_and_babelify_angular
42045805
ns/iter (± 1694457
)42063209
ns/iter (± 791738
)1.00
parse_and_babelify_backbone
5287936
ns/iter (± 31227
)5351799
ns/iter (± 76313
)0.99
parse_and_babelify_jquery
31309612
ns/iter (± 346499
)31132142
ns/iter (± 535090
)1.01
parse_and_babelify_jquery_mobile
53527417
ns/iter (± 640389
)54327548
ns/iter (± 556619
)0.99
parse_and_babelify_mootools
32195103
ns/iter (± 495820
)31527032
ns/iter (± 617618
)1.02
parse_and_babelify_underscore
4307853
ns/iter (± 25232
)4318676
ns/iter (± 34487
)1.00
parse_and_babelify_yui
30735738
ns/iter (± 625993
)31531769
ns/iter (± 689618
)0.97
html/minify/document/css_spec
41210578
ns/iter (± 328703
)40741489
ns/iter (± 658754
)1.01
html/minify/document/github
16919875
ns/iter (± 73151
)17091511
ns/iter (± 202532
)0.99
html/minify/document/stackoverflow
15338756
ns/iter (± 93626
)15457041
ns/iter (± 147473
)0.99
html/minify/document_fragment/css_spec
38380861
ns/iter (± 353558
)38498294
ns/iter (± 690680
)1.00
html/minify/document_fragment/github
16099589
ns/iter (± 78189
)16650108
ns/iter (± 182068
)0.97
html/minify/document_fragment/stackoverflow
14892731
ns/iter (± 238605
)14857611
ns/iter (± 106769
)1.00
html/document/visitor/compare/clone
334188
ns/iter (± 2610
)332987
ns/iter (± 3114
)1.00
html/document/visitor/compare/visit_mut_span
360074
ns/iter (± 3354
)356775
ns/iter (± 2421
)1.01
html/document/visitor/compare/visit_mut_span_panic
373121
ns/iter (± 4044
)366668
ns/iter (± 4324
)1.02
html/document/visitor/compare/fold_span
396613
ns/iter (± 1342
)399964
ns/iter (± 1975
)0.99
html/document/visitor/compare/fold_span_panic
455125
ns/iter (± 3083
)453245
ns/iter (± 4015
)1.00
html/document_fragment/visitor/compare/clone
338402
ns/iter (± 2688
)328521
ns/iter (± 1976
)1.03
html/document_fragment/visitor/compare/visit_mut_span
358814
ns/iter (± 3328
)358779
ns/iter (± 3551
)1.00
html/document_fragment/visitor/compare/visit_mut_span_panic
370958
ns/iter (± 3371
)370368
ns/iter (± 2887
)1.00
html/document_fragment/visitor/compare/fold_span
393709
ns/iter (± 2026
)397209
ns/iter (± 2629
)0.99
html/document_fragment/visitor/compare/fold_span_panic
454311
ns/iter (± 4647
)446238
ns/iter (± 2698
)1.02
html/lexer/css_2021_spec
15124529
ns/iter (± 164619
)15054928
ns/iter (± 159294
)1.00
html/lexer/github_com_17_05_2022
5813876
ns/iter (± 46609
)5816731
ns/iter (± 55594
)1.00
html/lexer/stackoverflow_com_17_05_2022
5466689
ns/iter (± 23439
)5495560
ns/iter (± 58475
)0.99
html/parser/parser_document/css_2021_spec
24928413
ns/iter (± 218619
)24534355
ns/iter (± 293574
)1.02
html/parser/parser_document/github_com_17_05_2022
8533369
ns/iter (± 62229
)8440852
ns/iter (± 87715
)1.01
html/parser/parser_document/stackoverflow_com_17_05_2022
7488086
ns/iter (± 37591
)7430882
ns/iter (± 41832
)1.01
html/parser/parser_document_fragment/css_2021_spec
24845912
ns/iter (± 252019
)24557725
ns/iter (± 184392
)1.01
html/parser/parser_document_fragment/github_com_17_05_2022
8684101
ns/iter (± 50553
)8562729
ns/iter (± 91805
)1.01
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7501042
ns/iter (± 37896
)7460037
ns/iter (± 58555
)1.01
This comment was automatically generated by workflow using github-action-benchmark.