diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2021-01-10 20:17:39 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-11 04:17:39 +0800 |
commit | 16b97f9558e07ae95ea7c414e926d697c2521d60 (patch) | |
tree | e6694faf720f177acef966a78b6a5e235e310603 | |
parent | dbfa5d4d14c1984da94c2435f349ecbd3dbb36e9 (diff) | |
download | tracifyjs-16b97f9558e07ae95ea7c414e926d697c2521d60.tar.gz tracifyjs-16b97f9558e07ae95ea7c414e926d697c2521d60.zip |
fix corner case in `arguments` (#4535)
fixes #4534
-rw-r--r-- | lib/compress.js | 6 | ||||
-rw-r--r-- | test/compress/awaits.js | 18 |
2 files changed, 21 insertions, 3 deletions
diff --git a/lib/compress.js b/lib/compress.js index f8cf75f1..5526972f 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -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 diff --git a/test/compress/awaits.js b/test/compress/awaits.js index 8caa60c0..89d11bb9 100644 --- a/test/compress/awaits.js +++ b/test/compress/awaits.js @@ -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" +} |