diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2021-03-02 09:39:34 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-02 17:39:34 +0800 |
commit | b1e05fd48afd9aceaa00cc621a8f6ac22c097398 (patch) | |
tree | 08af40744ae15a820d3e897567167a54e696a0fe | |
parent | 23b51287aa31630c5454fecb5991fd18f7528366 (diff) | |
download | tracifyjs-b1e05fd48afd9aceaa00cc621a8f6ac22c097398.tar.gz tracifyjs-b1e05fd48afd9aceaa00cc621a8f6ac22c097398.zip |
fix corner case in `inline` & `sequences` (#4718)
fixes #4717
-rw-r--r-- | lib/compress.js | 2 | ||||
-rw-r--r-- | test/compress/awaits.js | 34 |
2 files changed, 35 insertions, 1 deletions
diff --git a/lib/compress.js b/lib/compress.js index ad4c6809..e5e822af 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -3126,7 +3126,7 @@ merge(Compressor.prototype, { if (prev) { if (stat instanceof AST_Exit) { if (stat.value || !in_async_generator(scope)) { - stat.value = cons_seq(stat.value || make_node(AST_Undefined, stat)).transform(compressor); + stat.value = cons_seq(stat.value || make_node(AST_Undefined, stat)).optimize(compressor); } } else if (stat instanceof AST_For) { if (!(stat.init instanceof AST_Definitions)) { diff --git a/test/compress/awaits.js b/test/compress/awaits.js index 77735991..974134c6 100644 --- a/test/compress/awaits.js +++ b/test/compress/awaits.js @@ -1246,3 +1246,37 @@ issue_4618: { expect_stdout: "function" node_version: ">=8" } + +issue_4717: { + options = { + inline: true, + reduce_vars: true, + sequences: true, + side_effects: true, + unused: true, + } + input: { + (function() { + async function f() { + var a = function() { + await; + }(); + return "FAIL"; + } + return f(); + })().then(console.log).catch(function() { + console.log("PASS"); + }); + } + expect: { + (async function() { + return function() { + await; + }(), "FAIL"; + })().then(console.log).catch(function() { + console.log("PASS"); + }); + } + expect_stdout: "PASS" + node_version: ">=8" +} |