aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2021-01-22 18:14:53 +0000
committerGitHub <noreply@github.com>2021-01-23 02:14:53 +0800
commitf87e7be12c7857ec0fc772a9ea4db6d24b5e3551 (patch)
tree2457368c009af5b495e0211f271fb6fe13169c4d
parentc0614654d9d6730fa46e010b6f9ad41206144730 (diff)
downloadtracifyjs-f87e7be12c7857ec0fc772a9ea4db6d24b5e3551.tar.gz
tracifyjs-f87e7be12c7857ec0fc772a9ea4db6d24b5e3551.zip
fix corner case in `reduce_vars` (#4582)
fixes #4581
-rw-r--r--lib/compress.js2
-rw-r--r--test/compress/awaits.js21
2 files changed, 22 insertions, 1 deletions
diff --git a/lib/compress.js b/lib/compress.js
index fc1bc118..547ef574 100644
--- a/lib/compress.js
+++ b/lib/compress.js
@@ -719,7 +719,7 @@ merge(Compressor.prototype, {
var fn = this;
fn.inlined = false;
var iife = tw.parent();
- var hit = fn instanceof AST_AsyncFunction;
+ var hit = is_async(fn);
var aborts = false;
fn.walk(new TreeWalker(function(node) {
if (hit) return aborts = true;
diff --git a/test/compress/awaits.js b/test/compress/awaits.js
index 4a90ca5e..0ffa1a9b 100644
--- a/test/compress/awaits.js
+++ b/test/compress/awaits.js
@@ -1003,3 +1003,24 @@ issue_4534: {
expect_stdout: "PASS"
node_version: ">=8"
}
+
+issue_4581: {
+ options = {
+ evaluate: true,
+ reduce_vars: true,
+ toplevel: true,
+ unused: true,
+ }
+ input: {
+ var a = "PASS";
+ (async () => (A, a = "FAIL"))();
+ console.log(a);
+ }
+ expect: {
+ var a = "PASS";
+ (async () => (A, a = "FAIL"))();
+ console.log(a);
+ }
+ expect_stdout: "PASS"
+ node_version: ">=8"
+}