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
This commit is contained in:
Mihai Bazon
2015-01-06 13:57:18 +02:00
parent f16033aafd
commit d2d716483a

View File

@@ -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);