fix corner case in merge_vars (#4455)

fixes #4454
This commit is contained in:
Alex Lam S.L
2020-12-25 11:27:05 +00:00
committed by GitHub
parent bb45f48ab7
commit f345175bc2
2 changed files with 57 additions and 1 deletions

View File

@@ -5187,7 +5187,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") {
} else if (compressor.exposed(def) || sym.name == "arguments" || sym.name == "await") {
return references[def.id] = false;
} else {
var refs = declarations.get(def.id) || [];

View File

@@ -640,3 +640,59 @@ issue_4417: {
expect_stdout: "undefined"
node_version: ">=8"
}
issue_4454_1: {
rename = false
options = {
merge_vars: true,
}
input: {
function f(a) {
(async function(b = console.log(a)) {})();
var await = 42..toString();
console.log(await);
}
f("PASS");
}
expect: {
function f(a) {
(async function(b = console.log(a)) {})();
var await = 42..toString();
console.log(await);
}
f("PASS");
}
expect_stdout: [
"PASS",
"42",
]
node_version: ">=8"
}
issue_4454_2: {
rename = true
options = {
merge_vars: true,
}
input: {
function f(a) {
(async function(b = console.log(a)) {})();
var await = 42..toString();
console.log(await);
}
f("PASS");
}
expect: {
function f(b) {
(async function(c = console.log(b)) {})();
var b = 42..toString();
console.log(b);
}
f("PASS");
}
expect_stdout: [
"PASS",
"42",
]
node_version: ">=8"
}