From c76481341ca62e6c651f4bc8db7ed3508423b421 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Wed, 10 Feb 2021 01:13:38 +0000 Subject: fix corner case in `merge_vars` (#4635) --- lib/compress.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/compress.js') diff --git a/lib/compress.js b/lib/compress.js index 3fcfe2d2..b35fc6a5 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -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) || []; -- cgit v1.2.3