From 27558d385ce9961ccc52c4148593aacee2941ad0 Mon Sep 17 00:00:00 2001 From: underfin Date: Mon, 15 Jul 2024 16:32:11 +0800 Subject: [PATCH] fix: RemoveDeadCode should visit nested expression --- crates/oxc_minifier/src/ast_passes/remove_dead_code.rs | 1 + crates/oxc_minifier/tests/oxc/remove_dead_code.rs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/crates/oxc_minifier/src/ast_passes/remove_dead_code.rs b/crates/oxc_minifier/src/ast_passes/remove_dead_code.rs index d857169c29eba..450f47b781587 100644 --- a/crates/oxc_minifier/src/ast_passes/remove_dead_code.rs +++ b/crates/oxc_minifier/src/ast_passes/remove_dead_code.rs @@ -26,6 +26,7 @@ impl<'a> VisitMut<'a> for RemoveDeadCode<'a> { fn visit_expression(&mut self, expr: &mut Expression<'a>) { self.fold_conditional_expression(expr); self.fold_logical_expression(expr); + walk_mut::walk_expression(self, expr); } } diff --git a/crates/oxc_minifier/tests/oxc/remove_dead_code.rs b/crates/oxc_minifier/tests/oxc/remove_dead_code.rs index fc1fc41be0295..13a71266b0541 100644 --- a/crates/oxc_minifier/tests/oxc/remove_dead_code.rs +++ b/crates/oxc_minifier/tests/oxc/remove_dead_code.rs @@ -62,6 +62,12 @@ fn dce_if_statement() { ", "{foo; return }", ); + + // nested expression + test( + "const a = { fn: function() { if (true) { foo; } } }", + "const a = { fn: function() { { foo; } } }", + ); } #[test]