diff --git a/lib/compress.js b/lib/compress.js index e33f4f3f5dd..21072f0ccfa 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -9987,7 +9987,7 @@ merge(Compressor.prototype, { var scope = def.scope.resolve(); var local = scope === compressor.find_parent(AST_Lambda); var level = 0, node; - parent = self; + parent = compressor.self(); do { node = parent; parent = compressor.parent(level++); diff --git a/test/compress/dead-code.js b/test/compress/dead-code.js index cfbc6faec1b..1720a0dc98e 100644 --- a/test/compress/dead-code.js +++ b/test/compress/dead-code.js @@ -1399,3 +1399,21 @@ issue_4366: { expect_stdout: "PASS" node_version: ">=4" } + +issue_4570: { + options = { + dead_code: true, + inline: true, + } + input: { + var a = function(b) { + return a += b; + }() ? 0 : a; + console.log(a); + } + expect: { + var a = (a += void 0) ? 0 : a; + console.log(a); + } + expect_stdout: "NaN" +}