fix corner case in conditionals (#5676)
This commit is contained in:
@@ -9722,15 +9722,16 @@ Compressor.prototype.compress = function(node) {
|
||||
if (stat.equals(alt_stat)) {
|
||||
body_stats.splice(body_index--, 1);
|
||||
alt_stats.splice(alt_index--, 1);
|
||||
stats.unshift(stat);
|
||||
stats.unshift(merge_expression(stat, alt_stat));
|
||||
} else {
|
||||
if (!(stat instanceof AST_SimpleStatement)) break;
|
||||
if (!(alt_stat instanceof AST_SimpleStatement)) break;
|
||||
var expr = stat.body.tail_node();
|
||||
if (!expr.equals(alt_stat.body.tail_node())) break;
|
||||
var expr1 = stat.body.tail_node();
|
||||
var expr2 = alt_stat.body.tail_node();
|
||||
if (!expr1.equals(expr2)) break;
|
||||
body_index = pop_expr(body_stats, stat.body, body_index);
|
||||
alt_index = pop_expr(alt_stats, alt_stat.body, alt_index);
|
||||
stats.unshift(make_node(AST_SimpleStatement, expr, { body: expr }));
|
||||
stats.unshift(make_node(AST_SimpleStatement, expr1, { body: merge_expression(expr1, expr2) }));
|
||||
}
|
||||
}
|
||||
if (stats.length > 0) {
|
||||
|
||||
Reference in New Issue
Block a user