From 8d668c2963c4322fea47009b057791c1a7caa612 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Sat, 20 Feb 2021 03:13:15 +0000 Subject: fix corner case in `conditionals` & `side_effects` (#4669) fixes #4668 --- lib/compress.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/compress.js b/lib/compress.js index c3e315de..da30cee1 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -5788,15 +5788,12 @@ merge(Compressor.prototype, { if (!in_use || node.left === sym && indexOf_assign(def, node) < 0) { value = get_rhs(node); if (node.write_only === true) { - value = value.drop_side_effect_free(compressor) || make_node(AST_Number, node, { - value: 0 - }); + value = value.drop_side_effect_free(compressor) + || make_node(AST_Number, node, { value: 0 }); } } } else if (!in_use || node.expression === sym && indexOf_assign(def, node) < 0) { - value = make_node(AST_Number, node, { - value: 0 - }); + value = make_node(AST_Number, node, { value: 0 }); } if (value) { if (parent instanceof AST_Sequence && parent.tail_node() !== node) { @@ -7168,7 +7165,7 @@ merge(Compressor.prototype, { assign = assign.clone(); assign.right = cond; expressions = expressions.slice(0, -2); - expressions.push(assign); + expressions.push(assign.drop_side_effect_free(compressor, first_in_statement)); } return expressions === this.expressions ? this : make_sequence(this, expressions); }); -- cgit v1.2.3