fix corner case in collapse_vars (#4199)

fixes #4197
This commit is contained in:
Alex Lam S.L
2020-10-12 07:13:17 +01:00
committed by GitHub
parent 9b7a13c8c7
commit b512726cf3
3 changed files with 36 additions and 3 deletions

View File

@@ -1599,9 +1599,13 @@ merge(Compressor.prototype, {
}
if (node instanceof AST_SymbolRef) {
if (symbol_in_lvalues(node, parent)) {
return !parent || parent.operator != "=" || parent.left !== node;
return !(parent instanceof AST_Assign && parent.operator == "=" && parent.left === node);
}
return side_effects && may_modify(node);
if (side_effects && may_modify(node)) return true;
var def = node.definition();
return (in_try || def.scope.resolve() !== scope) && !all(def.orig, function(sym) {
return !(sym instanceof AST_SymbolConst);
});
}
if (node instanceof AST_This) return symbol_in_lvalues(node, parent);
if (node instanceof AST_VarDef) {