Fix endless loop

Close #866
This commit is contained in:
Mihai Bazon
2015-11-16 12:07:15 +02:00
parent b6968b6bd2
commit 7f48d5b33c

View File

@@ -384,7 +384,12 @@ merge(Compressor.prototype, {
continue loop; continue loop;
} }
//--- //---
if (ret.length == 1 && in_lambda && ret[0] instanceof AST_SimpleStatement // XXX: what was the intention of this case?
// if sequences is not enabled, this can lead to an endless loop (issue #866).
// however, with sequences on this helps producing slightly better output for
// the example code.
if (compressor.option("sequences")
&& ret.length == 1 && in_lambda && ret[0] instanceof AST_SimpleStatement
&& (!stat.alternative || stat.alternative instanceof AST_SimpleStatement)) { && (!stat.alternative || stat.alternative instanceof AST_SimpleStatement)) {
CHANGED = true; CHANGED = true;
ret.push(make_node(AST_Return, ret[0], { ret.push(make_node(AST_Return, ret[0], {