fix corner case in arguments (#4535)

fixes #4534
This commit is contained in:
Alex Lam S.L
2021-01-10 20:17:39 +00:00
committed by GitHub
parent dbfa5d4d14
commit 16b97f9558
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"
}