fix corner case in arguments

fixes #4534
This commit is contained in:
alexlamsl 2021-01-11 03:03:48 +08:00
parent dbfa5d4d14
commit 5e5db3be32
2 changed files with 21 additions and 3 deletions

View File

@ -10463,9 +10463,9 @@ merge(Compressor.prototype, {
argname = null;
} else if (argname) {
var arg_def;
if (!(argname instanceof AST_SymbolFunarg)) {
argname = null;
} else if (expr.scope.find_variable(argname.name) !== (arg_def = argname.definition())) {
if (!(argname instanceof AST_SymbolFunarg)
|| argname.name == "await"
|| expr.scope.find_variable(argname.name) !== (arg_def = argname.definition())) {
argname = null;
} else if (compressor.has_directive("use strict")
|| fn.name

View File

@ -977,3 +977,21 @@ issue_4454_2: {
]
node_version: ">=8"
}
issue_4534: {
options = {
arguments: true,
}
input: {
(function(await) {
(async () => console.log(arguments[0]))();
})("PASS");
}
expect: {
(function(await) {
(async () => console.log(arguments[0]))();
})("PASS");
}
expect_stdout: "PASS"
node_version: ">=8"
}