diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2018-01-02 01:24:23 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-02 01:24:23 +0800 |
commit | 2f3bddbacaaafb73ed046090a74ce6558c54a218 (patch) | |
tree | 68da74c2f75533dfaae9caa9f6c0d21fbdf34269 | |
parent | 673b0716379e261008b6cbf187e6b212104fb69e (diff) | |
download | tracifyjs-2f3bddbacaaafb73ed046090a74ce6558c54a218.tar.gz tracifyjs-2f3bddbacaaafb73ed046090a74ce6558c54a218.zip |
scan within IIFEs of assigned values (#2702)
fixes #2701
-rw-r--r-- | lib/compress.js | 5 | ||||
-rw-r--r-- | test/compress/dead-code.js | 28 |
2 files changed, 30 insertions, 3 deletions
diff --git a/lib/compress.js b/lib/compress.js index ee80901e..73cc9d7b 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -4913,9 +4913,8 @@ merge(Compressor.prototype, { if (reachable) return true; if (node instanceof AST_Scope && node !== self) { var parent = scan_scope.parent(); - if (!(parent instanceof AST_Call && parent.expression === node)) { - node.walk(find_ref); - } + if (parent instanceof AST_Call && parent.expression === node) return; + node.walk(find_ref); return true; } }); diff --git a/test/compress/dead-code.js b/test/compress/dead-code.js index 68ee4b12..32bb88e6 100644 --- a/test/compress/dead-code.js +++ b/test/compress/dead-code.js @@ -881,3 +881,31 @@ issue_2692: { } expect_stdout: "function" } + +issue_2701: { + options = { + dead_code: true, + inline: false, + } + input: { + function f(a) { + return a = function() { + return function() { + return a; + }; + }(); + } + console.log(typeof f()()); + } + expect: { + function f(a) { + return a = function() { + return function() { + return a; + }; + }(); + } + console.log(typeof f()()); + } + expect_stdout: "function" +} |