fix corner case in merge_vars (#4635)

This commit is contained in:
Alex Lam S.L
2021-02-10 01:13:38 +00:00
committed by GitHub
parent 5e6307974f
commit c76481341c
2 changed files with 58 additions and 1 deletions

View File

@@ -5045,6 +5045,7 @@ merge(Compressor.prototype, {
return self;
});
var NO_MERGE = makePredicate("arguments await yield");
AST_Scope.DEFMETHOD("merge_variables", function(compressor) {
if (!compressor.option("merge_vars")) return;
var self = this, segment = {}, root;
@@ -5386,7 +5387,7 @@ merge(Compressor.prototype, {
} else if ((ldef = self.variables.get(def.name)) !== def) {
if (ldef && root === segment) references[ldef.id] = false;
return references[def.id] = false;
} else if (compressor.exposed(def) || sym.name == "arguments" || sym.name == "await") {
} else if (compressor.exposed(def) || NO_MERGE[sym.name]) {
return references[def.id] = false;
} else {
var refs = declarations.get(def.id) || [];