Skip to content

Commit

Permalink
fix(es/fixer): Preserve parens in opt calls (#5110)
Browse files Browse the repository at this point in the history
  • Loading branch information
magic-akari committed Jul 5, 2022
1 parent 469b2fe commit 3e3c44a
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions crates/swc_ecma_transforms_base/src/fixer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,12 @@ impl Fixer<'_> {
fn wrap_callee(&mut self, e: &mut Expr) {
if match e {
Expr::Lit(Lit::Num(..) | Lit::Str(..)) => false,
Expr::Cond(..) | Expr::Bin(..) | Expr::Lit(..) | Expr::Unary(..) | Expr::Object(..) => {
true
}
Expr::Cond(..)
| Expr::Bin(..)
| Expr::Lit(..)
| Expr::Unary(..)
| Expr::Object(..)
| Expr::Seq(..) => true,
_ => false,
} {
self.wrap(e)
Expand Down Expand Up @@ -1608,4 +1611,8 @@ var store = global[SHARED] || (global[SHARED] = {});
identical!(issue_4761, "x = { ...(0, foo) }");

identical!(issue_4914, "(a ?? b)?.()");

identical!(issue_5109_1, "(0, b)?.()");
identical!(issue_5109_2, "1 + (0, b)?.()");
identical!(issue_5109_3, "(0, a)() ? undefined : (0, b)?.()");
}

1 comment on commit 3e3c44a

@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: 3e3c44a Previous: 8ea631c Ratio
es/full/minify/libraries/antd 1675963176 ns/iter (± 31713294) 1668872361 ns/iter (± 76395792) 1.00
es/full/minify/libraries/d3 416064736 ns/iter (± 6667003) 419407641 ns/iter (± 24641094) 0.99
es/full/minify/libraries/echarts 1650694955 ns/iter (± 29249969) 1711283892 ns/iter (± 75644006) 0.96
es/full/minify/libraries/jquery 93078403 ns/iter (± 1319413) 106067861 ns/iter (± 14598082) 0.88
es/full/minify/libraries/lodash 121729692 ns/iter (± 1480836) 127857630 ns/iter (± 13333196) 0.95
es/full/minify/libraries/moment 53183334 ns/iter (± 1179489) 53350754 ns/iter (± 14277001) 1.00
es/full/minify/libraries/react 17699469 ns/iter (± 121940) 17468321 ns/iter (± 195221) 1.01
es/full/minify/libraries/terser 606837478 ns/iter (± 6484595) 615992606 ns/iter (± 7160896) 0.99
es/full/minify/libraries/three 551618739 ns/iter (± 8835100) 556486052 ns/iter (± 7567368) 0.99
es/full/minify/libraries/typescript 3545432407 ns/iter (± 57763782) 3598210310 ns/iter (± 175217837) 0.99
es/full/minify/libraries/victory 733638412 ns/iter (± 12656301) 738184861 ns/iter (± 28806569) 0.99
es/full/minify/libraries/vue 150842717 ns/iter (± 7372345) 139271728 ns/iter (± 3971915) 1.08
es/full/codegen/es3 30512 ns/iter (± 367) 31180 ns/iter (± 1155) 0.98
es/full/codegen/es5 31119 ns/iter (± 654) 31137 ns/iter (± 1381) 1.00
es/full/codegen/es2015 30694 ns/iter (± 592) 31220 ns/iter (± 1895) 0.98
es/full/codegen/es2016 30733 ns/iter (± 934) 31194 ns/iter (± 1193) 0.99
es/full/codegen/es2017 30850 ns/iter (± 986) 31236 ns/iter (± 4492) 0.99
es/full/codegen/es2018 30891 ns/iter (± 461) 31210 ns/iter (± 2828) 0.99
es/full/codegen/es2019 31025 ns/iter (± 284) 31231 ns/iter (± 1891) 0.99
es/full/codegen/es2020 30802 ns/iter (± 371) 31189 ns/iter (± 5699) 0.99
es/full/all/es3 188806615 ns/iter (± 11605595) 182392703 ns/iter (± 13677757) 1.04
es/full/all/es5 181213888 ns/iter (± 8367971) 170021326 ns/iter (± 4858330) 1.07
es/full/all/es2015 160545380 ns/iter (± 11101604) 139166660 ns/iter (± 5800099) 1.15
es/full/all/es2016 149111178 ns/iter (± 10116358) 138117384 ns/iter (± 3869255) 1.08
es/full/all/es2017 154638360 ns/iter (± 11943671) 137574346 ns/iter (± 9635885) 1.12
es/full/all/es2018 152511179 ns/iter (± 8934350) 136049904 ns/iter (± 7731731) 1.12
es/full/all/es2019 145471149 ns/iter (± 8958202) 135641337 ns/iter (± 7379895) 1.07
es/full/all/es2020 140543234 ns/iter (± 11061591) 130747124 ns/iter (± 6853446) 1.07
es/full/parser 717619 ns/iter (± 23462) 694042 ns/iter (± 31681) 1.03
es/full/base/fixer 29430 ns/iter (± 831) 28519 ns/iter (± 506) 1.03
es/full/base/resolver_and_hygiene 88445 ns/iter (± 4071) 85466 ns/iter (± 1835) 1.03
serialization of ast node 216 ns/iter (± 2) 211 ns/iter (± 4) 1.02
serialization of serde 228 ns/iter (± 1) 223 ns/iter (± 9) 1.02

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

Please sign in to comment.