Skip to content

Commit

Permalink
fix(es/codegen): Support multiline comments in return stmt (#4102)
Browse files Browse the repository at this point in the history
  • Loading branch information
Austaras committed Mar 20, 2022
1 parent 06c1b3e commit 552f16d
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
7 changes: 7 additions & 0 deletions crates/swc/tests/fixture/issue-4098/input/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
function test() {
return (
/* my multiline
comment */
0
);
}
4 changes: 4 additions & 0 deletions crates/swc/tests/fixture/issue-4098/output/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
function test() {
return(/* my multiline
comment */ 0);
}
9 changes: 8 additions & 1 deletion crates/swc_ecma_codegen/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2538,7 +2538,14 @@ where

// see #415
if let Some(cmt) = cmt.get_leading(lo) {
if cmt.iter().any(|cmt| cmt.kind == CommentKind::Line) {
if cmt.iter().any(|cmt| {
cmt.kind == CommentKind::Line
|| cmt
.text
.chars()
// https://tc39.es/ecma262/#table-line-terminator-code-points
.any(|c| c == '\n' || c == '\r' || c == '\u{2028}' || c == '\u{2029}')
}) {
return true;
}
}
Expand Down

1 comment on commit 552f16d

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 552f16d Previous: 9ceefa7 Ratio
base_tr_fixer 26644 ns/iter (± 1502) 23074 ns/iter (± 406) 1.15
base_tr_resolver_and_hygiene 112082 ns/iter (± 3677) 92992 ns/iter (± 7549) 1.21
codegen_es2015 37190 ns/iter (± 1514) 31344 ns/iter (± 316) 1.19
codegen_es2016 37397 ns/iter (± 731) 31272 ns/iter (± 150) 1.20
codegen_es2017 37287 ns/iter (± 2708) 31223 ns/iter (± 208) 1.19
codegen_es2018 37238 ns/iter (± 789) 31398 ns/iter (± 168) 1.19
codegen_es2019 37283 ns/iter (± 1043) 31320 ns/iter (± 170) 1.19
codegen_es2020 37319 ns/iter (± 3472) 31390 ns/iter (± 159) 1.19
codegen_es3 37210 ns/iter (± 1529) 31431 ns/iter (± 131) 1.18
codegen_es5 37270 ns/iter (± 410) 31437 ns/iter (± 159) 1.19
full_es2015 160543085 ns/iter (± 14509655) 138391125 ns/iter (± 13273576) 1.16
full_es2016 159387570 ns/iter (± 9747606) 137908949 ns/iter (± 3477138) 1.16
full_es2017 158443105 ns/iter (± 11209032) 137136771 ns/iter (± 3575407) 1.16
full_es2018 157130355 ns/iter (± 10146757) 137042229 ns/iter (± 2533075) 1.15
full_es2019 156134296 ns/iter (± 12617791) 136810023 ns/iter (± 8047948) 1.14
full_es2020 151174655 ns/iter (± 7907663) 118835584 ns/iter (± 2409664) 1.27
full_es3 213567152 ns/iter (± 9965727) 182931818 ns/iter (± 4111203) 1.17
full_es5 204308389 ns/iter (± 15425338) 173155347 ns/iter (± 3415339) 1.18
parser 643992 ns/iter (± 36254) 563562 ns/iter (± 12087) 1.14
ser_ast_node 173 ns/iter (± 9) 145 ns/iter (± 2) 1.19
ser_serde 173 ns/iter (± 11) 144 ns/iter (± 1) 1.20
emit_colors 5865587 ns/iter (± 4142930) 12145215 ns/iter (± 7411750) 0.48
emit_large 62694581 ns/iter (± 84465544) 71025515 ns/iter (± 93443200) 0.88
base_clone 3037923 ns/iter (± 345236) 2600099 ns/iter (± 361766) 1.17
fold_span 4713716 ns/iter (± 387638) 3771277 ns/iter (± 38257) 1.25
fold_span_panic 4807462 ns/iter (± 476261) 3970135 ns/iter (± 82855) 1.21
visit_mut_span 3335136 ns/iter (± 151832) 2720041 ns/iter (± 10886) 1.23
visit_mut_span_panic 3406609 ns/iter (± 247330) 2762541 ns/iter (± 10820) 1.23
usage_builtin_type 18848233 ns/iter (± 11843916) 15857229 ns/iter (± 9874220) 1.19
usage_property 475013 ns/iter (± 16565) 397525 ns/iter (± 7123) 1.19
boxing_boxed 159 ns/iter (± 5) 134 ns/iter (± 10) 1.19
boxing_boxed_clone 83 ns/iter (± 6) 72 ns/iter (± 0) 1.15
boxing_unboxed 143 ns/iter (± 5) 128 ns/iter (± 1) 1.12
boxing_unboxed_clone 84 ns/iter (± 5) 63 ns/iter (± 0) 1.33
time_10 418 ns/iter (± 12) 344 ns/iter (± 29) 1.22
time_15 820 ns/iter (± 21) 706 ns/iter (± 18) 1.16
time_20 1362 ns/iter (± 46) 1288 ns/iter (± 11) 1.06
time_40 5004 ns/iter (± 267) 7122 ns/iter (± 41) 0.70
time_5 122 ns/iter (± 6) 101 ns/iter (± 1) 1.21
time_60 10330 ns/iter (± 334) 16157 ns/iter (± 43) 0.64
total 0 ns/iter (± 0) 0 ns/iter (± 0) NaN

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.