diff --git a/lib/compress.js b/lib/compress.js index 4a51a49f..d2e3ffc7 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -349,9 +349,7 @@ merge(Compressor.prototype, { extract_declarations_from_unreachable_code(compressor, stat, a); } else { a.push(stat); - if (stat instanceof AST_Jump) { - has_quit = true; - } + if (aborts(stat)) has_quit = true; } return a; }, []); @@ -771,6 +769,9 @@ merge(Compressor.prototype, { var n = this.body.length; return n > 0 && aborts(this.body[n - 1]); }); + def(AST_If, function(){ + return this.alternative && aborts(this.body) && aborts(this.alternative); + }); })(function(node, func){ node.DEFMETHOD("aborts", func); });