fix corner case in collapse_vars (#5018)

fixes #5017
This commit is contained in:
Alex Lam S.L
2021-06-21 04:12:45 +01:00
committed by GitHub
parent e368d39715
commit 111366fca0
4 changed files with 33 additions and 10 deletions

View File

@@ -1820,7 +1820,7 @@ merge(Compressor.prototype, {
if (is_lhs(node, parent)) {
if (value_def && !hit_rhs) {
assign_used = true;
replaced++;
if (node.definition().last_ref === node) replaced++;
}
return node;
} else if (value_def) {
@@ -1946,10 +1946,9 @@ merge(Compressor.prototype, {
}
}
// Replace variable when found
if (node instanceof AST_SymbolRef
&& node.name == def.name) {
if (!--replaced) abort = true;
if (node instanceof AST_SymbolRef && node.definition() === def) {
if (is_lhs(node, multi_replacer.parent())) return node;
if (!--replaced) abort = true;
var ref = rvalue.clone();
ref.scope = node.scope;
ref.reference();