File tree 3 files changed +11
-4
lines changed
3 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -57,7 +57,10 @@ use swc_ecma_transforms::{
57
57
modules:: { path:: NodeImportResolver , rewriter:: import_rewriter} ,
58
58
optimization:: { const_modules, json_parse, simplifier} ,
59
59
pass:: { noop, Optional } ,
60
- proposals:: { decorators, export_default_from, import_assertions} ,
60
+ proposals:: {
61
+ decorators, explicit_resource_management:: explicit_resource_management,
62
+ export_default_from, import_assertions,
63
+ } ,
61
64
react:: { self , default_pragma, default_pragma_frag} ,
62
65
resolver,
63
66
typescript:: { self , TsEnumConfig , TsImportExportAssignConfig } ,
@@ -792,6 +795,10 @@ impl Options {
792
795
} ,
793
796
syntax. decorators( )
794
797
) ,
798
+ Optional :: new(
799
+ explicit_resource_management( ) ,
800
+ syntax. explicit_resource_management( )
801
+ ) ,
795
802
// The transform strips import assertions, so it's only enabled if
796
803
// keep_import_assertions is false.
797
804
Optional :: new( import_assertions( ) , !keep_import_assertions) ,
Original file line number Diff line number Diff line change @@ -282,7 +282,7 @@ impl Syntax {
282
282
}
283
283
}
284
284
285
- fn using_decl ( & self ) -> bool {
285
+ pub fn explicit_resource_management ( & self ) -> bool {
286
286
match self {
287
287
Syntax :: Es ( EsConfig { using_decl, .. } ) => * using_decl,
288
288
Syntax :: Typescript ( _) => true ,
Original file line number Diff line number Diff line change @@ -816,7 +816,7 @@ impl<'a, I: Tokens> Parser<I> {
816
816
decls. push ( self . parse_var_declarator ( false , VarDeclKind :: Var ) ?) ;
817
817
}
818
818
819
- if !self . syntax ( ) . using_decl ( ) {
819
+ if !self . syntax ( ) . explicit_resource_management ( ) {
820
820
self . emit_err ( span ! ( self , start) , SyntaxError :: UsingDeclNotEnabled ) ;
821
821
}
822
822
@@ -1272,7 +1272,7 @@ impl<'a, I: Tokens> Parser<I> {
1272
1272
let start = cur_pos ! ( self ) ;
1273
1273
let init = self . include_in_expr ( false ) . parse_for_head_prefix ( ) ?;
1274
1274
1275
- let is_using_decl = self . input . syntax ( ) . using_decl ( )
1275
+ let is_using_decl = self . input . syntax ( ) . explicit_resource_management ( )
1276
1276
&& match * init {
1277
1277
Expr :: Ident ( Ident {
1278
1278
sym : js_word ! ( "using" ) ,
You can’t perform that action at this time.
1 commit comments
github-actions[bot] commentedon Aug 27, 2023
Benchmark
es/full/bugs-1
279239
ns/iter (± 9706
)283100
ns/iter (± 4525
)0.99
es/full/minify/libraries/antd
1269350199
ns/iter (± 8404439
)1283562950
ns/iter (± 12288118
)0.99
es/full/minify/libraries/d3
266403057
ns/iter (± 3844065
)268323948
ns/iter (± 2570043
)0.99
es/full/minify/libraries/echarts
1007143020
ns/iter (± 10383260
)1034660450
ns/iter (± 4672710
)0.97
es/full/minify/libraries/jquery
83081750
ns/iter (± 177381
)83090165
ns/iter (± 91600
)1.00
es/full/minify/libraries/lodash
95500966
ns/iter (± 937089
)96053201
ns/iter (± 164830
)0.99
es/full/minify/libraries/moment
48755652
ns/iter (± 486841
)49119368
ns/iter (± 72493
)0.99
es/full/minify/libraries/react
17832708
ns/iter (± 73220
)17849991
ns/iter (± 40505
)1.00
es/full/minify/libraries/terser
214076958
ns/iter (± 1551728
)214690747
ns/iter (± 701299
)1.00
es/full/minify/libraries/three
372113013
ns/iter (± 2706929
)379508320
ns/iter (± 2364906
)0.98
es/full/minify/libraries/typescript
2547881365
ns/iter (± 12126355
)2609193261
ns/iter (± 11260015
)0.98
es/full/minify/libraries/victory
556597900
ns/iter (± 8006176
)563236550
ns/iter (± 4755535
)0.99
es/full/minify/libraries/vue
117586296
ns/iter (± 698901
)117570853
ns/iter (± 176046
)1.00
es/full/codegen/es3
33351
ns/iter (± 493
)33370
ns/iter (± 1353
)1.00
es/full/codegen/es5
33134
ns/iter (± 423
)33346
ns/iter (± 69
)0.99
es/full/codegen/es2015
33142
ns/iter (± 425
)33380
ns/iter (± 152
)0.99
es/full/codegen/es2016
33195
ns/iter (± 366
)33353
ns/iter (± 152
)1.00
es/full/codegen/es2017
33366
ns/iter (± 400
)33334
ns/iter (± 141
)1.00
es/full/codegen/es2018
33061
ns/iter (± 393
)33491
ns/iter (± 133
)0.99
es/full/codegen/es2019
33174
ns/iter (± 394
)33337
ns/iter (± 136
)1.00
es/full/codegen/es2020
33176
ns/iter (± 487
)33388
ns/iter (± 136
)0.99
es/full/all/es3
165665985
ns/iter (± 1272035
)166705643
ns/iter (± 801961
)0.99
es/full/all/es5
157538508
ns/iter (± 976019
)160599782
ns/iter (± 1543199
)0.98
es/full/all/es2015
117727490
ns/iter (± 1540455
)120064227
ns/iter (± 507215
)0.98
es/full/all/es2016
116116184
ns/iter (± 1504825
)118739196
ns/iter (± 709543
)0.98
es/full/all/es2017
115383260
ns/iter (± 1127308
)117619501
ns/iter (± 875062
)0.98
es/full/all/es2018
113919698
ns/iter (± 1092483
)115931856
ns/iter (± 628044
)0.98
es/full/all/es2019
113967479
ns/iter (± 587876
)115872863
ns/iter (± 847163
)0.98
es/full/all/es2020
108806396
ns/iter (± 1455101
)110799969
ns/iter (± 541760
)0.98
es/full/parser
471958
ns/iter (± 5520
)491396
ns/iter (± 5718
)0.96
es/full/base/fixer
17050
ns/iter (± 130
)18982
ns/iter (± 471
)0.90
es/full/base/resolver_and_hygiene
78176
ns/iter (± 992
)81275
ns/iter (± 80
)0.96
serialization of serde
281
ns/iter (± 2
)291
ns/iter (± 0
)0.97
css/minify/libraries/bootstrap
27547746
ns/iter (± 360680
)28197523
ns/iter (± 45751
)0.98
css/visitor/compare/clone
1612043
ns/iter (± 16031
)1656817
ns/iter (± 7753
)0.97
css/visitor/compare/visit_mut_span
1740553
ns/iter (± 17408
)1774074
ns/iter (± 6736
)0.98
css/visitor/compare/visit_mut_span_panic
1781156
ns/iter (± 17268
)1862044
ns/iter (± 8409
)0.96
css/visitor/compare/fold_span
2498417
ns/iter (± 29757
)2591638
ns/iter (± 14388
)0.96
css/visitor/compare/fold_span_panic
2729461
ns/iter (± 27901
)2801597
ns/iter (± 9532
)0.97
css/lexer/bootstrap_5_1_3
4436277
ns/iter (± 34037
)4466184
ns/iter (± 6566
)0.99
css/lexer/foundation_6_7_4
3744934
ns/iter (± 57660
)3749716
ns/iter (± 3212
)1.00
css/lexer/tailwind_3_1_1
712308
ns/iter (± 11807
)713820
ns/iter (± 652
)1.00
css/parser/bootstrap_5_1_3
20107226
ns/iter (± 265679
)19806862
ns/iter (± 55234
)1.02
css/parser/foundation_6_7_4
16301083
ns/iter (± 220262
)15722952
ns/iter (± 38763
)1.04
css/parser/tailwind_3_1_1
3084864
ns/iter (± 37369
)3062950
ns/iter (± 5913
)1.01
es/codegen/colors
740634
ns/iter (± 395303
)737594
ns/iter (± 401919
)1.00
es/codegen/large
3045542
ns/iter (± 1610739
)3136456
ns/iter (± 1665300
)0.97
es/codegen/with-parser/colors
43870
ns/iter (± 656
)45395
ns/iter (± 595
)0.97
es/codegen/with-parser/large
465862
ns/iter (± 7632
)487974
ns/iter (± 678
)0.95
es/minify/libraries/antd
1106509562
ns/iter (± 11608711
)1136813172
ns/iter (± 15440096
)0.97
es/minify/libraries/d3
236650181
ns/iter (± 1048970
)237837095
ns/iter (± 339967
)1.00
es/minify/libraries/echarts
880164961
ns/iter (± 8058183
)893802708
ns/iter (± 2136192
)0.98
es/minify/libraries/jquery
72578864
ns/iter (± 269596
)73022430
ns/iter (± 118644
)0.99
es/minify/libraries/lodash
86046182
ns/iter (± 594228
)86620557
ns/iter (± 155519
)0.99
es/minify/libraries/moment
42580131
ns/iter (± 611535
)43325532
ns/iter (± 87923
)0.98
es/minify/libraries/react
15736387
ns/iter (± 224383
)15994751
ns/iter (± 43576
)0.98
es/minify/libraries/terser
182733357
ns/iter (± 1177290
)184827492
ns/iter (± 493545
)0.99
es/minify/libraries/three
313567065
ns/iter (± 1708900
)320231088
ns/iter (± 2602665
)0.98
es/minify/libraries/typescript
2192073256
ns/iter (± 10259651
)2226169424
ns/iter (± 13221958
)0.98
es/minify/libraries/victory
453671354
ns/iter (± 3309769
)474162595
ns/iter (± 2391797
)0.96
es/minify/libraries/vue
104348221
ns/iter (± 724794
)105801286
ns/iter (± 314041
)0.99
es/visitor/compare/clone
1897032
ns/iter (± 26406
)1963410
ns/iter (± 13417
)0.97
es/visitor/compare/visit_mut_span
2160795
ns/iter (± 31810
)2287786
ns/iter (± 8931
)0.94
es/visitor/compare/visit_mut_span_panic
2257722
ns/iter (± 26162
)2349976
ns/iter (± 3127
)0.96
es/visitor/compare/fold_span
3233771
ns/iter (± 37173
)3433495
ns/iter (± 9192
)0.94
es/visitor/compare/fold_span_panic
3397446
ns/iter (± 51500
)3512188
ns/iter (± 5354
)0.97
es/lexer/colors
12965
ns/iter (± 224
)13024
ns/iter (± 11
)1.00
es/lexer/angular
5955308
ns/iter (± 74247
)6132860
ns/iter (± 4846
)0.97
es/lexer/backbone
750341
ns/iter (± 5205
)786632
ns/iter (± 333
)0.95
es/lexer/jquery
4343593
ns/iter (± 60251
)4488217
ns/iter (± 3223
)0.97
es/lexer/jquery mobile
6640757
ns/iter (± 70517
)6831644
ns/iter (± 11269
)0.97
es/lexer/mootools
3443954
ns/iter (± 41525
)3554986
ns/iter (± 4866
)0.97
es/lexer/underscore
635340
ns/iter (± 6061
)664136
ns/iter (± 236
)0.96
es/lexer/three
20579040
ns/iter (± 192134
)21310777
ns/iter (± 28927
)0.97
es/lexer/yui
3657260
ns/iter (± 43591
)3820101
ns/iter (± 5703
)0.96
es/parser/colors
25962
ns/iter (± 501
)26863
ns/iter (± 47
)0.97
es/parser/angular
12967541
ns/iter (± 165994
)13466235
ns/iter (± 45866
)0.96
es/parser/backbone
1901893
ns/iter (± 31378
)1977493
ns/iter (± 9296
)0.96
es/parser/jquery
10418478
ns/iter (± 137224
)10799811
ns/iter (± 48406
)0.96
es/parser/jquery mobile
15909266
ns/iter (± 221344
)16452396
ns/iter (± 108642
)0.97
es/parser/mootools
8016606
ns/iter (± 100191
)8287636
ns/iter (± 14817
)0.97
es/parser/underscore
1637926
ns/iter (± 17536
)1704279
ns/iter (± 9019
)0.96
es/parser/three
44316823
ns/iter (± 412227
)46373118
ns/iter (± 229101
)0.96
es/parser/yui
7990828
ns/iter (± 90545
)8181685
ns/iter (± 28536
)0.98
es/preset-env/usage/builtin_type
132970
ns/iter (± 31816
)134856
ns/iter (± 31193
)0.99
es/preset-env/usage/property
16264
ns/iter (± 194
)16726
ns/iter (± 55
)0.97
es/resolver/typescript
84503140
ns/iter (± 2557963
)88839795
ns/iter (± 1314759
)0.95
es/fixer/typescript
60462928
ns/iter (± 550513
)64538537
ns/iter (± 351320
)0.94
es/hygiene/typescript
125512609
ns/iter (± 873512
)128686211
ns/iter (± 1024308
)0.98
es/resolver_with_hygiene/typescript
231184326
ns/iter (± 1686676
)237227459
ns/iter (± 700631
)0.97
es/visitor/base-perf/module_clone
57849
ns/iter (± 760
)59106
ns/iter (± 294
)0.98
es/visitor/base-perf/fold_empty
61048
ns/iter (± 999
)62804
ns/iter (± 308
)0.97
es/visitor/base-perf/fold_noop_impl_all
61942
ns/iter (± 727
)63434
ns/iter (± 184
)0.98
es/visitor/base-perf/fold_noop_impl_vec
61098
ns/iter (± 528
)63215
ns/iter (± 289
)0.97
es/visitor/base-perf/boxing_boxed_clone
54
ns/iter (± 0
)58
ns/iter (± 0
)0.93
es/visitor/base-perf/boxing_unboxed_clone
39
ns/iter (± 0
)40
ns/iter (± 0
)0.97
es/visitor/base-perf/boxing_boxed
109
ns/iter (± 1
)110
ns/iter (± 0
)0.99
es/visitor/base-perf/boxing_unboxed
76
ns/iter (± 0
)78
ns/iter (± 0
)0.97
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)0
ns/iter (± 0
)NaN
es/visitor/base-perf/visit_contains_this
2600
ns/iter (± 43
)2646
ns/iter (± 26
)0.98
es/base/parallel/resolver/typescript
3683720339
ns/iter (± 304707103
)3762158287
ns/iter (± 271735695
)0.98
es/base/parallel/hygiene/typescript
1415863347
ns/iter (± 19165220
)1419626358
ns/iter (± 16199542
)1.00
misc/visitors/time-complexity/time 5
130
ns/iter (± 2
)132
ns/iter (± 1
)0.98
misc/visitors/time-complexity/time 10
371
ns/iter (± 9
)396
ns/iter (± 3
)0.94
misc/visitors/time-complexity/time 15
657
ns/iter (± 10
)671
ns/iter (± 4
)0.98
misc/visitors/time-complexity/time 20
1044
ns/iter (± 13
)1053
ns/iter (± 5
)0.99
misc/visitors/time-complexity/time 40
3397
ns/iter (± 48
)3492
ns/iter (± 10
)0.97
misc/visitors/time-complexity/time 60
7113
ns/iter (± 65
)7287
ns/iter (± 20
)0.98
es/full-target/es2016
227072
ns/iter (± 1750
)230282
ns/iter (± 707
)0.99
es/full-target/es2017
212160
ns/iter (± 3351
)219165
ns/iter (± 1110
)0.97
es/full-target/es2018
199937
ns/iter (± 2462
)206621
ns/iter (± 206
)0.97
es2020_nullish_coalescing
68914
ns/iter (± 996
)71008
ns/iter (± 307
)0.97
es2020_optional_chaining
78116
ns/iter (± 1263
)81566
ns/iter (± 257
)0.96
es2022_class_properties
111283
ns/iter (± 1474
)116375
ns/iter (± 239
)0.96
es2018_object_rest_spread
74534
ns/iter (± 603
)75448
ns/iter (± 335
)0.99
es2019_optional_catch_binding
64184
ns/iter (± 633
)64207
ns/iter (± 232
)1.00
es2017_async_to_generator
62363
ns/iter (± 749
)64101
ns/iter (± 162
)0.97
es2016_exponentiation
67158
ns/iter (± 684
)68672
ns/iter (± 170
)0.98
es2015_arrow
69776
ns/iter (± 1175
)71729
ns/iter (± 244
)0.97
es2015_block_scoped_fn
66461
ns/iter (± 1084
)68479
ns/iter (± 131
)0.97
es2015_block_scoping
120502
ns/iter (± 1374
)123535
ns/iter (± 590
)0.98
This comment was automatically generated by workflow using github-action-benchmark.