enhance reduce_vars (#5171)
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user