From: Mihai Bazon Date: Tue, 6 Jan 2015 11:57:18 +0000 (+0200) Subject: aborts(AST_If) returns the `if` node X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=d2d716483aa69927541a0a29f3c1ee3c7bba30b4;p=UglifyJS.git aborts(AST_If) returns the `if` node Previously it returned the abort node from the alternative branch. This is not much use as it can be different from the one in the body branch (i.e. return vs. throw) and can trick us into issues like #591. Fix #591 --- diff --git a/lib/compress.js b/lib/compress.js index 345d8ad6..83c3e6d0 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -950,7 +950,7 @@ merge(Compressor.prototype, { def(AST_BlockStatement, block_aborts); def(AST_SwitchBranch, block_aborts); def(AST_If, function(){ - return this.alternative && aborts(this.body) && aborts(this.alternative); + return this.alternative && aborts(this.body) && aborts(this.alternative) && this; }); })(function(node, func){ node.DEFMETHOD("aborts", func);