From 2737aea312e0b182413401d34e5ce1614a7bd6df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Wed, 2 Nov 2022 19:02:06 +0900 Subject: [PATCH] fix(es/resolver): Change order for switch cases (#6317) **Related issue:** - Closes https://github.com/swc-project/swc/issues/6310. --- crates/swc/tests/exec/issues-6xxx/{.6311 => 6311}/exec.js | 0 crates/swc_ecma_transforms_base/src/resolver/mod.rs | 6 ++++++ .../tests/resolver/issues/6310/input.js | 1 + .../tests/resolver/issues/6310/output.js | 4 ++++ 4 files changed, 11 insertions(+) rename crates/swc/tests/exec/issues-6xxx/{.6311 => 6311}/exec.js (100%) create mode 100644 crates/swc_ecma_transforms_base/tests/resolver/issues/6310/input.js create mode 100644 crates/swc_ecma_transforms_base/tests/resolver/issues/6310/output.js diff --git a/crates/swc/tests/exec/issues-6xxx/.6311/exec.js b/crates/swc/tests/exec/issues-6xxx/6311/exec.js similarity index 100% rename from crates/swc/tests/exec/issues-6xxx/.6311/exec.js rename to crates/swc/tests/exec/issues-6xxx/6311/exec.js diff --git a/crates/swc_ecma_transforms_base/src/resolver/mod.rs b/crates/swc_ecma_transforms_base/src/resolver/mod.rs index ce26ce329ccf..ed6cfa74db9a 100644 --- a/crates/swc_ecma_transforms_base/src/resolver/mod.rs +++ b/crates/swc_ecma_transforms_base/src/resolver/mod.rs @@ -1112,6 +1112,12 @@ impl<'a> VisitMut for Resolver<'a> { }); } + fn visit_mut_switch_case(&mut self, n: &mut SwitchCase) { + n.cons.visit_mut_with(self); + + n.test.visit_mut_with(self); + } + fn visit_mut_ts_as_expr(&mut self, n: &mut TsAsExpr) { if self.config.handle_types { n.type_ann.visit_mut_with(self); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/6310/input.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/6310/input.js new file mode 100644 index 000000000000..58fc2e37883d --- /dev/null +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/6310/input.js @@ -0,0 +1 @@ +switch (0) { case x: function x() { } } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/6310/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/6310/output.js new file mode 100644 index 000000000000..c367615e6179 --- /dev/null +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/6310/output.js @@ -0,0 +1,4 @@ +switch(0){ + case x__1: + function x__1() {} +}