@@ -327,7 +327,7 @@ impl<I: Tokens> Parser<I> {
327
327
Ok ( self . with_ctx ( ctx) . parse_binding_ident ( ) ?. id )
328
328
}
329
329
330
- fn parse_export ( & mut self , decorators : Vec < Decorator > ) -> PResult < ModuleDecl > {
330
+ fn parse_export ( & mut self , mut decorators : Vec < Decorator > ) -> PResult < ModuleDecl > {
331
331
if !self . ctx ( ) . module {
332
332
// Switch to module mode
333
333
let ctx = Context {
@@ -417,6 +417,17 @@ impl<I: Tokens> Parser<I> {
417
417
let mut export_default = None ;
418
418
419
419
if !type_only && eat ! ( self , "default" ) {
420
+ if is ! ( self , '@' ) {
421
+ let start = cur_pos ! ( self ) ;
422
+ let after_decorators = self . parse_decorators ( false ) ?;
423
+
424
+ if !decorators. is_empty ( ) {
425
+ syntax_error ! ( self , span!( self , start) , SyntaxError :: TS8038 ) ;
426
+ }
427
+
428
+ decorators = after_decorators;
429
+ }
430
+
420
431
if self . input . syntax ( ) . typescript ( ) {
421
432
if is ! ( self , "abstract" )
422
433
&& peeked_is ! ( self , "class" )
@@ -477,6 +488,17 @@ impl<I: Tokens> Parser<I> {
477
488
}
478
489
}
479
490
491
+ if is ! ( self , '@' ) {
492
+ let start = cur_pos ! ( self ) ;
493
+ let after_decorators = self . parse_decorators ( false ) ?;
494
+
495
+ if !decorators. is_empty ( ) {
496
+ syntax_error ! ( self , span!( self , start) , SyntaxError :: TS8038 ) ;
497
+ }
498
+
499
+ decorators = after_decorators;
500
+ }
501
+
480
502
let decl = if !type_only && is ! ( self , "class" ) {
481
503
let class_start = cur_pos ! ( self ) ;
482
504
self . parse_class_decl ( start, class_start, decorators, false ) ?
1 commit comments
github-actions[bot] commentedon Apr 29, 2023
Benchmark
es/full/bugs-1
310382
ns/iter (± 11312
)235080
ns/iter (± 11786
)1.32
es/full/minify/libraries/antd
1580358083
ns/iter (± 18770934
)1175142977
ns/iter (± 12208560
)1.34
es/full/minify/libraries/d3
306007948
ns/iter (± 7215326
)236847335
ns/iter (± 3367852
)1.29
es/full/minify/libraries/echarts
1193710964
ns/iter (± 27146913
)920982645
ns/iter (± 7567862
)1.30
es/full/minify/libraries/jquery
90387731
ns/iter (± 592880
)75654137
ns/iter (± 90238
)1.19
es/full/minify/libraries/lodash
105439573
ns/iter (± 469322
)85328261
ns/iter (± 178244
)1.24
es/full/minify/libraries/moment
52487457
ns/iter (± 252068
)44012496
ns/iter (± 128349
)1.19
es/full/minify/libraries/react
19013982
ns/iter (± 74744
)16091201
ns/iter (± 21907
)1.18
es/full/minify/libraries/terser
246669220
ns/iter (± 3907696
)192076025
ns/iter (± 659939
)1.28
es/full/minify/libraries/three
433148025
ns/iter (± 4602754
)329682278
ns/iter (± 638949
)1.31
es/full/minify/libraries/typescript
2926599526
ns/iter (± 21565572
)2310137274
ns/iter (± 8335458
)1.27
es/full/minify/libraries/victory
633775581
ns/iter (± 5102513
)491250516
ns/iter (± 2901004
)1.29
es/full/minify/libraries/vue
129407322
ns/iter (± 963957
)105952088
ns/iter (± 346388
)1.22
es/full/codegen/es3
35002
ns/iter (± 256
)25336
ns/iter (± 97
)1.38
es/full/codegen/es5
35129
ns/iter (± 117
)25453
ns/iter (± 70
)1.38
es/full/codegen/es2015
35197
ns/iter (± 63
)25458
ns/iter (± 39
)1.38
es/full/codegen/es2016
34980
ns/iter (± 53
)25483
ns/iter (± 26
)1.37
es/full/codegen/es2017
35029
ns/iter (± 106
)25474
ns/iter (± 69
)1.38
es/full/codegen/es2018
35087
ns/iter (± 101
)25469
ns/iter (± 47
)1.38
es/full/codegen/es2019
35220
ns/iter (± 68
)25403
ns/iter (± 67
)1.39
es/full/codegen/es2020
35233
ns/iter (± 49
)25455
ns/iter (± 52
)1.38
es/full/all/es3
178558844
ns/iter (± 2334108
)158305600
ns/iter (± 1338493
)1.13
es/full/all/es5
173897487
ns/iter (± 3418213
)150716107
ns/iter (± 763388
)1.15
es/full/all/es2015
136228528
ns/iter (± 2659714
)110612395
ns/iter (± 723889
)1.23
es/full/all/es2016
132374052
ns/iter (± 1628466
)109839004
ns/iter (± 434236
)1.21
es/full/all/es2017
131978959
ns/iter (± 1576928
)109106222
ns/iter (± 396216
)1.21
es/full/all/es2018
127142360
ns/iter (± 1279377
)107106025
ns/iter (± 429220
)1.19
es/full/all/es2019
125904305
ns/iter (± 2136196
)106154692
ns/iter (± 461620
)1.19
es/full/all/es2020
117860067
ns/iter (± 980907
)101379652
ns/iter (± 548962
)1.16
es/full/parser
512531
ns/iter (± 6677
)451498
ns/iter (± 4365
)1.14
es/full/base/fixer
23197
ns/iter (± 43
)17733
ns/iter (± 56
)1.31
es/full/base/resolver_and_hygiene
85628
ns/iter (± 66
)75875
ns/iter (± 184
)1.13
serialization of serde
121
ns/iter (± 0
)112
ns/iter (± 0
)1.08
css/minify/libraries/bootstrap
27468083
ns/iter (± 99432
)23367702
ns/iter (± 13966
)1.18
css/visitor/compare/clone
2107576
ns/iter (± 4621
)1710239
ns/iter (± 5038
)1.23
css/visitor/compare/visit_mut_span
2296141
ns/iter (± 6484
)1843980
ns/iter (± 3699
)1.25
css/visitor/compare/visit_mut_span_panic
2371668
ns/iter (± 5153
)1911749
ns/iter (± 4701
)1.24
css/visitor/compare/fold_span
3067975
ns/iter (± 11654
)2617996
ns/iter (± 23104
)1.17
css/visitor/compare/fold_span_panic
3247966
ns/iter (± 7616
)2809024
ns/iter (± 9083
)1.16
css/lexer/bootstrap_5_1_3
5125389
ns/iter (± 1161
)4470101
ns/iter (± 8176
)1.15
css/lexer/foundation_6_7_4
4318402
ns/iter (± 679
)3771868
ns/iter (± 1211
)1.14
css/lexer/tailwind_3_1_1
819812
ns/iter (± 209
)713734
ns/iter (± 594
)1.15
css/parser/bootstrap_5_1_3
21189420
ns/iter (± 83094
)18026116
ns/iter (± 21062
)1.18
css/parser/foundation_6_7_4
16816717
ns/iter (± 12219
)14452254
ns/iter (± 17106
)1.16
css/parser/tailwind_3_1_1
3262054
ns/iter (± 6049
)2777838
ns/iter (± 1828
)1.17
es/codegen/colors
328058
ns/iter (± 185350
)327803
ns/iter (± 185172
)1.00
es/codegen/large
1247504
ns/iter (± 656019
)1213234
ns/iter (± 642303
)1.03
es/codegen/with-parser/colors
47818
ns/iter (± 83
)41840
ns/iter (± 506
)1.14
es/codegen/with-parser/large
519667
ns/iter (± 1983
)468705
ns/iter (± 2044
)1.11
es/minify/libraries/antd
1317373054
ns/iter (± 11198392
)1011121079
ns/iter (± 6225077
)1.30
es/minify/libraries/d3
249043352
ns/iter (± 2225334
)202745343
ns/iter (± 359101
)1.23
es/minify/libraries/echarts
1016982799
ns/iter (± 10360862
)797257187
ns/iter (± 2551791
)1.28
es/minify/libraries/jquery
79016216
ns/iter (± 428739
)65890591
ns/iter (± 97023
)1.20
es/minify/libraries/lodash
94535590
ns/iter (± 535527
)76441669
ns/iter (± 129816
)1.24
es/minify/libraries/moment
45433204
ns/iter (± 127998
)38227731
ns/iter (± 42926
)1.19
es/minify/libraries/react
17020327
ns/iter (± 90760
)14287434
ns/iter (± 39964
)1.19
es/minify/libraries/terser
204699291
ns/iter (± 1733008
)165132473
ns/iter (± 254961
)1.24
es/minify/libraries/three
346327190
ns/iter (± 3948204
)274733476
ns/iter (± 817280
)1.26
es/minify/libraries/typescript
2474527346
ns/iter (± 10943393
)1989826743
ns/iter (± 7610370
)1.24
es/minify/libraries/victory
530450045
ns/iter (± 5769600
)406342788
ns/iter (± 1031431
)1.31
es/minify/libraries/vue
114607518
ns/iter (± 1096194
)93849822
ns/iter (± 440334
)1.22
es/visitor/compare/clone
2336378
ns/iter (± 10291
)1987315
ns/iter (± 6207
)1.18
es/visitor/compare/visit_mut_span
2699131
ns/iter (± 5210
)2327992
ns/iter (± 5903
)1.16
es/visitor/compare/visit_mut_span_panic
2740913
ns/iter (± 5695
)2347540
ns/iter (± 1575
)1.17
es/visitor/compare/fold_span
3796625
ns/iter (± 8600
)3369100
ns/iter (± 8553
)1.13
es/visitor/compare/fold_span_panic
3970975
ns/iter (± 14412
)3543594
ns/iter (± 3829
)1.12
es/lexer/colors
13187
ns/iter (± 15
)11437
ns/iter (± 54
)1.15
es/lexer/angular
6386454
ns/iter (± 45448
)5601272
ns/iter (± 2866
)1.14
es/lexer/backbone
788577
ns/iter (± 410
)722940
ns/iter (± 2174
)1.09
es/lexer/jquery
4408083
ns/iter (± 1874
)4075316
ns/iter (± 3419
)1.08
es/lexer/jquery mobile
6888736
ns/iter (± 2014
)6257869
ns/iter (± 5578
)1.10
es/lexer/mootools
3463306
ns/iter (± 990
)3235489
ns/iter (± 2502
)1.07
es/lexer/underscore
649349
ns/iter (± 157
)597771
ns/iter (± 1243
)1.09
es/lexer/three
20888995
ns/iter (± 36988
)19349400
ns/iter (± 622989
)1.08
es/lexer/yui
3868593
ns/iter (± 3135
)3535285
ns/iter (± 4527
)1.09
es/parser/colors
29265
ns/iter (± 52
)25857
ns/iter (± 69
)1.13
es/parser/angular
14893902
ns/iter (± 81628
)12945776
ns/iter (± 40756
)1.15
es/parser/backbone
2171839
ns/iter (± 11059
)1915566
ns/iter (± 9826
)1.13
es/parser/jquery
11774122
ns/iter (± 84694
)10374731
ns/iter (± 29656
)1.13
es/parser/jquery mobile
18313561
ns/iter (± 90582
)16061837
ns/iter (± 257968
)1.14
es/parser/mootools
8970395
ns/iter (± 14123
)8038864
ns/iter (± 11368
)1.12
es/parser/underscore
1834008
ns/iter (± 12145
)1648284
ns/iter (± 7776
)1.11
es/parser/three
52488024
ns/iter (± 627011
)44571873
ns/iter (± 166625
)1.18
es/parser/yui
9027034
ns/iter (± 52670
)7947813
ns/iter (± 29442
)1.14
es/preset-env/usage/builtin_type
140900
ns/iter (± 34453
)146282
ns/iter (± 40343
)0.96
es/preset-env/usage/property
19897
ns/iter (± 84
)15114
ns/iter (± 70
)1.32
es/resolver/typescript
115833501
ns/iter (± 2901493
)87707891
ns/iter (± 1110870
)1.32
es/fixer/typescript
80598397
ns/iter (± 3252343
)63391076
ns/iter (± 1484025
)1.27
es/hygiene/typescript
169154342
ns/iter (± 1308549
)128071696
ns/iter (± 563547
)1.32
es/resolver_with_hygiene/typescript
298378139
ns/iter (± 1477746
)228144564
ns/iter (± 1023374
)1.31
es/visitor/base-perf/module_clone
81007
ns/iter (± 525
)58417
ns/iter (± 274
)1.39
es/visitor/base-perf/fold_empty
91496
ns/iter (± 332
)63206
ns/iter (± 353
)1.45
es/visitor/base-perf/fold_noop_impl_all
91733
ns/iter (± 343
)62930
ns/iter (± 215
)1.46
es/visitor/base-perf/fold_noop_impl_vec
91510
ns/iter (± 304
)62884
ns/iter (± 267
)1.46
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)52
ns/iter (± 0
)1.10
es/visitor/base-perf/boxing_unboxed_clone
42
ns/iter (± 0
)37
ns/iter (± 0
)1.14
es/visitor/base-perf/boxing_boxed
102
ns/iter (± 0
)108
ns/iter (± 0
)0.94
es/visitor/base-perf/boxing_unboxed
77
ns/iter (± 0
)76
ns/iter (± 0
)1.01
es/visitor/base-perf/visit_contains_this
3369
ns/iter (± 59
)2685
ns/iter (± 12
)1.25
es/base/parallel/resolver/typescript
5955558214
ns/iter (± 312000063
)3534455338
ns/iter (± 302210628
)1.69
es/base/parallel/hygiene/typescript
1988972673
ns/iter (± 19772854
)1418999826
ns/iter (± 19545344
)1.40
misc/visitors/time-complexity/time 5
98
ns/iter (± 0
)102
ns/iter (± 0
)0.96
misc/visitors/time-complexity/time 10
332
ns/iter (± 1
)287
ns/iter (± 0
)1.16
misc/visitors/time-complexity/time 15
654
ns/iter (± 11
)484
ns/iter (± 0
)1.35
misc/visitors/time-complexity/time 20
1201
ns/iter (± 0
)1010
ns/iter (± 15
)1.19
misc/visitors/time-complexity/time 40
5957
ns/iter (± 27
)3395
ns/iter (± 4
)1.75
misc/visitors/time-complexity/time 60
13260
ns/iter (± 1
)7151
ns/iter (± 6
)1.85
es/full-target/es2016
254483
ns/iter (± 874
)222983
ns/iter (± 484
)1.14
es/full-target/es2017
246907
ns/iter (± 472
)211901
ns/iter (± 404
)1.17
es/full-target/es2018
236263
ns/iter (± 564
)201021
ns/iter (± 434
)1.18
es2020_nullish_coalescing
93058
ns/iter (± 369
)67394
ns/iter (± 428
)1.38
es2020_optional_chaining
125131
ns/iter (± 262
)95827
ns/iter (± 279
)1.31
es2022_class_properties
149980
ns/iter (± 315
)116284
ns/iter (± 298
)1.29
es2018_object_rest_spread
96081
ns/iter (± 157
)72787
ns/iter (± 260
)1.32
es2019_optional_catch_binding
85329
ns/iter (± 178
)61714
ns/iter (± 359
)1.38
es2017_async_to_generator
85583
ns/iter (± 223
)62548
ns/iter (± 205
)1.37
es2016_exponentiation
90305
ns/iter (± 242
)65691
ns/iter (± 251
)1.37
es2015_arrow
94109
ns/iter (± 324
)69383
ns/iter (± 193
)1.36
es2015_block_scoped_fn
91848
ns/iter (± 175
)66152
ns/iter (± 185
)1.39
es2015_block_scoping
169465
ns/iter (± 301
)118792
ns/iter (± 515
)1.43
This comment was automatically generated by workflow using github-action-benchmark.