Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/parser): Use a hard error for missing r-paren in an if stmt (#…
- Loading branch information
1 parent
0fe9088
commit b1c40a4
Showing
5 changed files
with
33 additions
and
13 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
5 changes: 5 additions & 0 deletions
5
crates/swc_ecma_parser/tests/typescript-errors/issue-7104/case1/input.ts
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 |
---|---|---|
@@ -0,0 +1,5 @@ | ||
const foo = <T extends {}>() => { | ||
if (bar() { | ||
console.log(1); | ||
} | ||
}; |
14 changes: 14 additions & 0 deletions
14
crates/swc_ecma_parser/tests/typescript-errors/issue-7104/case1/input.ts.swc-stderr
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 |
---|---|---|
@@ -0,0 +1,14 @@ | ||
|
||
x An arrow function is not allowed here | ||
,-[$DIR/tests/typescript-errors/issue-7104/case1/input.ts:1:1] | ||
1 | const foo = <T extends {}>() => { | ||
: ^^ | ||
2 | if (bar() { | ||
`---- | ||
|
||
x Expression expected | ||
,-[$DIR/tests/typescript-errors/issue-7104/case1/input.ts:1:1] | ||
1 | const foo = <T extends {}>() => { | ||
: ^ | ||
2 | if (bar() { | ||
`---- |
5 changes: 5 additions & 0 deletions
5
crates/swc_ecma_parser/tests/typescript-errors/issue-7104/case2/input.ts
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 |
---|---|---|
@@ -0,0 +1,5 @@ | ||
const foo = () => { | ||
if (bar() { | ||
console.log(1); | ||
} | ||
}; |
8 changes: 8 additions & 0 deletions
8
crates/swc_ecma_parser/tests/typescript-errors/issue-7104/case2/input.ts.swc-stderr
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 |
---|---|---|
@@ -0,0 +1,8 @@ | ||
|
||
x Expected ')', got '{' | ||
,-[$DIR/tests/typescript-errors/issue-7104/case2/input.ts:1:1] | ||
1 | const foo = () => { | ||
2 | if (bar() { | ||
: ^ | ||
3 | console.log(1); | ||
`---- |
b1c40a4
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
308538
ns/iter (± 4780
)307390
ns/iter (± 7075
)1.00
es/full/minify/libraries/antd
1648368101
ns/iter (± 20502270
)1695035312
ns/iter (± 24041558
)0.97
es/full/minify/libraries/d3
330578293
ns/iter (± 7643284
)308028058
ns/iter (± 2852292
)1.07
es/full/minify/libraries/echarts
1251016186
ns/iter (± 14093336
)1300530013
ns/iter (± 15820025
)0.96
es/full/minify/libraries/jquery
94549341
ns/iter (± 1116141
)94905443
ns/iter (± 2260108
)1.00
es/full/minify/libraries/lodash
109615130
ns/iter (± 1151120
)107593662
ns/iter (± 689545
)1.02
es/full/minify/libraries/moment
53718087
ns/iter (± 467859
)53335790
ns/iter (± 500527
)1.01
es/full/minify/libraries/react
19635656
ns/iter (± 262388
)19322033
ns/iter (± 125628
)1.02
es/full/minify/libraries/terser
263147508
ns/iter (± 4561482
)264825069
ns/iter (± 7057160
)0.99
es/full/minify/libraries/three
460222672
ns/iter (± 6161320
)466016904
ns/iter (± 8721815
)0.99
es/full/minify/libraries/typescript
3021573539
ns/iter (± 14193176
)3158906760
ns/iter (± 42612030
)0.96
es/full/minify/libraries/victory
710872683
ns/iter (± 14428315
)723131878
ns/iter (± 16587837
)0.98
es/full/minify/libraries/vue
137526822
ns/iter (± 1799953
)133715811
ns/iter (± 1378206
)1.03
es/full/codegen/es3
28743
ns/iter (± 71
)28814
ns/iter (± 73
)1.00
es/full/codegen/es5
28816
ns/iter (± 96
)28869
ns/iter (± 84
)1.00
es/full/codegen/es2015
28817
ns/iter (± 59
)28938
ns/iter (± 59
)1.00
es/full/codegen/es2016
28785
ns/iter (± 59
)28955
ns/iter (± 35
)0.99
es/full/codegen/es2017
28819
ns/iter (± 43
)28914
ns/iter (± 63
)1.00
es/full/codegen/es2018
28807
ns/iter (± 41
)28920
ns/iter (± 64
)1.00
es/full/codegen/es2019
28807
ns/iter (± 47
)28925
ns/iter (± 74
)1.00
es/full/codegen/es2020
28839
ns/iter (± 32
)28875
ns/iter (± 66
)1.00
es/full/all/es3
185897198
ns/iter (± 2819061
)182890804
ns/iter (± 1967224
)1.02
es/full/all/es5
177105767
ns/iter (± 3166912
)174198668
ns/iter (± 2963732
)1.02
es/full/all/es2015
134911114
ns/iter (± 2346283
)135653479
ns/iter (± 1567612
)0.99
es/full/all/es2016
134913557
ns/iter (± 2651418
)134259285
ns/iter (± 1163500
)1.00
es/full/all/es2017
134449392
ns/iter (± 2831098
)134203598
ns/iter (± 1999081
)1.00
es/full/all/es2018
129250611
ns/iter (± 2061280
)127161266
ns/iter (± 1777380
)1.02
es/full/all/es2019
129230932
ns/iter (± 2326184
)126646041
ns/iter (± 2997888
)1.02
es/full/all/es2020
120049142
ns/iter (± 1605438
)118568470
ns/iter (± 2836673
)1.01
es/full/parser
514403
ns/iter (± 8516
)510591
ns/iter (± 9759
)1.01
es/full/base/fixer
22821
ns/iter (± 38
)24023
ns/iter (± 23
)0.95
es/full/base/resolver_and_hygiene
84351
ns/iter (± 91
)85861
ns/iter (± 129
)0.98
serialization of serde
120
ns/iter (± 0
)121
ns/iter (± 0
)0.99
css/minify/libraries/bootstrap
28591001
ns/iter (± 129624
)27486349
ns/iter (± 188181
)1.04
css/visitor/compare/clone
2151908
ns/iter (± 9756
)2153331
ns/iter (± 5743
)1.00
css/visitor/compare/visit_mut_span
2343682
ns/iter (± 20201
)2338705
ns/iter (± 7118
)1.00
css/visitor/compare/visit_mut_span_panic
2400290
ns/iter (± 15737
)2404930
ns/iter (± 294776
)1.00
css/visitor/compare/fold_span
3142650
ns/iter (± 21516
)3191694
ns/iter (± 336020
)0.98
css/visitor/compare/fold_span_panic
3313361
ns/iter (± 33273
)3255216
ns/iter (± 26019
)1.02
css/lexer/bootstrap_5_1_3
5116388
ns/iter (± 1961
)5105259
ns/iter (± 1893
)1.00
css/lexer/foundation_6_7_4
4307018
ns/iter (± 1522
)4304285
ns/iter (± 4163
)1.00
css/lexer/tailwind_3_1_1
818802
ns/iter (± 246
)817634
ns/iter (± 340
)1.00
css/parser/bootstrap_5_1_3
21863627
ns/iter (± 66905
)21861627
ns/iter (± 111400
)1.00
css/parser/foundation_6_7_4
17332352
ns/iter (± 67410
)17257308
ns/iter (± 75605
)1.00
css/parser/tailwind_3_1_1
3235317
ns/iter (± 2150
)3251382
ns/iter (± 9318
)1.00
es/codegen/colors
315817
ns/iter (± 178953
)694485
ns/iter (± 405060
)0.45
es/codegen/large
1113516
ns/iter (± 567993
)2654580
ns/iter (± 1526192
)0.42
es/codegen/with-parser/colors
47201
ns/iter (± 401
)47028
ns/iter (± 256
)1.00
es/codegen/with-parser/large
515217
ns/iter (± 2295
)505184
ns/iter (± 1241
)1.02
es/minify/libraries/antd
1420747663
ns/iter (± 22154429
)1520801462
ns/iter (± 14319972
)0.93
es/minify/libraries/d3
268031086
ns/iter (± 5150946
)261298552
ns/iter (± 3072385
)1.03
es/minify/libraries/echarts
1093172030
ns/iter (± 9049126
)1107531578
ns/iter (± 29973924
)0.99
es/minify/libraries/jquery
82471140
ns/iter (± 1612534
)82208553
ns/iter (± 579654
)1.00
es/minify/libraries/lodash
99189182
ns/iter (± 2351082
)98364464
ns/iter (± 1323917
)1.01
es/minify/libraries/moment
46676970
ns/iter (± 402621
)47415748
ns/iter (± 525151
)0.98
es/minify/libraries/react
17396357
ns/iter (± 261753
)17715455
ns/iter (± 145045
)0.98
es/minify/libraries/terser
223287864
ns/iter (± 2582660
)228328811
ns/iter (± 4125342
)0.98
es/minify/libraries/three
383954680
ns/iter (± 12405512
)406953424
ns/iter (± 3459567
)0.94
es/minify/libraries/typescript
2556681827
ns/iter (± 17393178
)2774569536
ns/iter (± 17319788
)0.92
es/minify/libraries/victory
598875676
ns/iter (± 5226064
)629613372
ns/iter (± 6434168
)0.95
es/minify/libraries/vue
121771138
ns/iter (± 880228
)121189157
ns/iter (± 3063002
)1.00
es/visitor/compare/clone
2328801
ns/iter (± 9989
)2317195
ns/iter (± 36725
)1.01
es/visitor/compare/visit_mut_span
2705531
ns/iter (± 7139
)2687949
ns/iter (± 14945
)1.01
es/visitor/compare/visit_mut_span_panic
2755283
ns/iter (± 11604
)2740558
ns/iter (± 12120
)1.01
es/visitor/compare/fold_span
3835773
ns/iter (± 38371
)3776416
ns/iter (± 11106
)1.02
es/visitor/compare/fold_span_panic
3966478
ns/iter (± 25465
)3937815
ns/iter (± 11443
)1.01
es/lexer/colors
13376
ns/iter (± 7
)13184
ns/iter (± 10
)1.01
es/lexer/angular
6440411
ns/iter (± 5360
)6417557
ns/iter (± 2993
)1.00
es/lexer/backbone
796414
ns/iter (± 484
)794939
ns/iter (± 252
)1.00
es/lexer/jquery
4444012
ns/iter (± 2847
)4438489
ns/iter (± 2667
)1.00
es/lexer/jquery mobile
6920997
ns/iter (± 3163
)6931525
ns/iter (± 18119
)1.00
es/lexer/mootools
3510996
ns/iter (± 1439
)3483412
ns/iter (± 2212
)1.01
es/lexer/underscore
658476
ns/iter (± 912
)655498
ns/iter (± 920
)1.00
es/lexer/three
21072410
ns/iter (± 33363
)21054663
ns/iter (± 26510
)1.00
es/lexer/yui
3908606
ns/iter (± 1675
)3890190
ns/iter (± 17390
)1.00
es/parser/colors
28838
ns/iter (± 71
)28572
ns/iter (± 311
)1.01
es/parser/angular
15598531
ns/iter (± 210550
)15642833
ns/iter (± 221920
)1.00
es/parser/backbone
2137475
ns/iter (± 11607
)2159582
ns/iter (± 69210
)0.99
es/parser/jquery
11904783
ns/iter (± 276788
)11906774
ns/iter (± 178769
)1.00
es/parser/jquery mobile
19746584
ns/iter (± 236203
)19505573
ns/iter (± 330618
)1.01
es/parser/mootools
8976610
ns/iter (± 75037
)8901234
ns/iter (± 56265
)1.01
es/parser/underscore
1800545
ns/iter (± 9030
)1816293
ns/iter (± 8625
)0.99
es/parser/three
54815869
ns/iter (± 205240
)56201310
ns/iter (± 277330
)0.98
es/parser/yui
9200413
ns/iter (± 92172
)9015706
ns/iter (± 66958
)1.02
es/preset-env/usage/builtin_type
142610
ns/iter (± 33464
)145684
ns/iter (± 34875
)0.98
es/preset-env/usage/property
20530
ns/iter (± 166
)20777
ns/iter (± 118
)0.99
es/resolver/typescript
109387521
ns/iter (± 1946562
)122196791
ns/iter (± 3214999
)0.90
es/fixer/typescript
76795136
ns/iter (± 504358
)89034717
ns/iter (± 469173
)0.86
es/hygiene/typescript
164987637
ns/iter (± 1271990
)197672230
ns/iter (± 1124321
)0.83
es/resolver_with_hygiene/typescript
296183306
ns/iter (± 3158706
)348631105
ns/iter (± 2379945
)0.85
es/visitor/base-perf/module_clone
80503
ns/iter (± 336
)80468
ns/iter (± 498
)1.00
es/visitor/base-perf/fold_empty
90338
ns/iter (± 382
)89990
ns/iter (± 279
)1.00
es/visitor/base-perf/fold_noop_impl_all
90975
ns/iter (± 322
)90257
ns/iter (± 515
)1.01
es/visitor/base-perf/fold_noop_impl_vec
90493
ns/iter (± 713
)90645
ns/iter (± 446
)1.00
es/visitor/base-perf/boxing_boxed_clone
58
ns/iter (± 0
)56
ns/iter (± 0
)1.04
es/visitor/base-perf/boxing_unboxed_clone
42
ns/iter (± 0
)42
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
103
ns/iter (± 0
)103
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed
80
ns/iter (± 0
)79
ns/iter (± 0
)1.01
es/visitor/base-perf/visit_contains_this
3387
ns/iter (± 67
)3678
ns/iter (± 77
)0.92
es/base/parallel/resolver/typescript
6166602036
ns/iter (± 471514514
)6757289199
ns/iter (± 590252156
)0.91
es/base/parallel/hygiene/typescript
1994715787
ns/iter (± 21445058
)2255083836
ns/iter (± 41150944
)0.88
misc/visitors/time-complexity/time 5
105
ns/iter (± 0
)102
ns/iter (± 0
)1.03
misc/visitors/time-complexity/time 10
325
ns/iter (± 0
)319
ns/iter (± 2
)1.02
misc/visitors/time-complexity/time 15
677
ns/iter (± 16
)650
ns/iter (± 1
)1.04
misc/visitors/time-complexity/time 20
1243
ns/iter (± 0
)1215
ns/iter (± 12
)1.02
misc/visitors/time-complexity/time 40
6212
ns/iter (± 26
)6627
ns/iter (± 42
)0.94
misc/visitors/time-complexity/time 60
15578
ns/iter (± 2
)16960
ns/iter (± 71
)0.92
es/full-target/es2016
253247
ns/iter (± 1288
)253172
ns/iter (± 364
)1.00
es/full-target/es2017
246689
ns/iter (± 500
)246793
ns/iter (± 295
)1.00
es/full-target/es2018
236127
ns/iter (± 306
)236156
ns/iter (± 572
)1.00
es2020_nullish_coalescing
92881
ns/iter (± 438
)93116
ns/iter (± 233
)1.00
es2020_optional_chaining
123774
ns/iter (± 261
)125162
ns/iter (± 444
)0.99
es2022_class_properties
149797
ns/iter (± 228
)149997
ns/iter (± 250
)1.00
es2018_object_rest_spread
96229
ns/iter (± 114
)96312
ns/iter (± 229
)1.00
es2019_optional_catch_binding
85717
ns/iter (± 126
)85784
ns/iter (± 1251
)1.00
es2017_async_to_generator
85728
ns/iter (± 183
)86082
ns/iter (± 197
)1.00
es2016_exponentiation
90549
ns/iter (± 183
)91138
ns/iter (± 270
)0.99
es2015_arrow
94295
ns/iter (± 176
)94547
ns/iter (± 212
)1.00
es2015_block_scoped_fn
92139
ns/iter (± 178
)92693
ns/iter (± 170
)0.99
es2015_block_scoping
169783
ns/iter (± 195
)170240
ns/iter (± 325
)1.00
This comment was automatically generated by workflow using github-action-benchmark.