enhance reduce_vars (#5171)

This commit is contained in:
Alex Lam S.L
2021-11-13 14:18:56 +00:00
committed by GitHub
parent e9932e1314
commit f97e107c09
4 changed files with 74 additions and 7 deletions

View File

@@ -613,12 +613,14 @@ merge(Compressor.prototype, {
if (def.single_use == "m") return false;
var safe = tw.safe_ids[def.id];
if (safe) {
if (!HOP(tw.safe_ids, def.id)) safe.read = safe.read && safe.read !== tw.safe_ids ? true : tw.safe_ids;
var in_order = HOP(tw.safe_ids, def.id);
if (!in_order) safe.read = safe.read && safe.read !== tw.safe_ids ? true : tw.safe_ids;
if (def.fixed == null) {
if (is_arguments(def)) return false;
if (def.global && def.name == "arguments") return false;
tw.loop_ids[def.id] = null;
def.fixed = make_node(AST_Undefined, def.orig[0]);
if (in_order) delete def.safe_ids;
return true;
}
return !safe.assign || safe.assign === tw.safe_ids;