From bfd0ac7f4bd8d5062b480c904c302a56946d7c2a Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Wed, 24 Nov 2021 09:29:26 +0000 Subject: [PATCH] fix corner case in `ie` (#5193) fixes #5192 --- lib/compress.js | 2 +- test/compress/default-values.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/compress.js b/lib/compress.js index 115408d0..b28ac5e2 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -456,7 +456,7 @@ merge(Compressor.prototype, { } function can_drop_symbol(ref, compressor, keep_lambda) { - var def = ref.definition(); + var def = ref.redef || ref.definition(); if (ref.in_arg && is_funarg(def)) return false; return all(def.orig, function(sym) { if (sym instanceof AST_SymbolConst || sym instanceof AST_SymbolLet) { diff --git a/test/compress/default-values.js b/test/compress/default-values.js index 3a4d1640..a7c0ed27 100644 --- a/test/compress/default-values.js +++ b/test/compress/default-values.js @@ -1938,3 +1938,22 @@ issue_5138_2: { expect_stdout: "PASS" node_version: ">=6" } + +issue_5192: { + options = { + dead_code: true, + ie: true, + } + input: { + (function a(a, [] = a = "PASS") { + console.log(a); + })("FAIL"); + } + expect: { + (function a(a, [] = a = "PASS") { + console.log(a); + })("FAIL"); + } + expect_stdout: "PASS" + node_version: ">=6" +}