From fa8aa204a0bec791b00bd6ceb3682e2a06167900 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Mon, 15 Feb 2021 22:46:45 +0000 Subject: fix corner case in `reduce_vars` (#4654) fixes #4653 --- lib/compress.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'lib/compress.js') diff --git a/lib/compress.js b/lib/compress.js index 5adeb566..b4f9c3a8 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -853,18 +853,21 @@ merge(Compressor.prototype, { } return true; - function walk_prop(node) { - if (node instanceof AST_Dot) { - walk_prop(node.expression); - } else if (node instanceof AST_Sub) { - walk_prop(node.expression); - node.property.walk(tw); - } else if (node instanceof AST_SymbolRef) { - var d = node.definition(); - push_ref(d, node); - node.fixed = d.fixed; + function walk_prop(lhs) { + if (lhs instanceof AST_Dot) { + walk_prop(lhs.expression); + } else if (lhs instanceof AST_Sub) { + walk_prop(lhs.expression); + lhs.property.walk(tw); + } else if (lhs instanceof AST_SymbolRef) { + var d = lhs.definition(); + push_ref(d, lhs); + if (d.fixed) { + lhs.fixed = d.fixed; + lhs.fixed.assigns = [ node ]; + } } else { - node.walk(tw); + lhs.walk(tw); } } }); -- cgit v1.2.3