@@ -4906,20 +4906,39 @@ merge(Compressor.prototype, {
|
||||
var consequent = this.consequent.drop_side_effect_free(compressor);
|
||||
var alternative = this.alternative.drop_side_effect_free(compressor);
|
||||
if (consequent === this.consequent && alternative === this.alternative) return this;
|
||||
if (!consequent) return alternative ? make_node(AST_Binary, this, {
|
||||
operator: "||",
|
||||
left: this.condition,
|
||||
right: alternative
|
||||
}) : this.condition.drop_side_effect_free(compressor);
|
||||
if (!alternative) return make_node(AST_Binary, this, {
|
||||
operator: "&&",
|
||||
left: this.condition,
|
||||
right: consequent
|
||||
});
|
||||
var node = this.clone();
|
||||
node.consequent = consequent;
|
||||
node.alternative = alternative;
|
||||
return node;
|
||||
var exprs;
|
||||
if (compressor.option("ie8")) {
|
||||
exprs = [];
|
||||
if (consequent instanceof AST_Function) {
|
||||
exprs.push(consequent);
|
||||
consequent = null;
|
||||
}
|
||||
if (alternative instanceof AST_Function) {
|
||||
exprs.push(alternative);
|
||||
alternative = null;
|
||||
}
|
||||
}
|
||||
var node;
|
||||
if (!consequent) {
|
||||
node = alternative ? make_node(AST_Binary, this, {
|
||||
operator: "||",
|
||||
left: this.condition,
|
||||
right: alternative
|
||||
}) : this.condition.drop_side_effect_free(compressor);
|
||||
} else if (!alternative) {
|
||||
node = make_node(AST_Binary, this, {
|
||||
operator: "&&",
|
||||
left: this.condition,
|
||||
right: consequent
|
||||
});
|
||||
} else {
|
||||
node = this.clone();
|
||||
node.consequent = consequent;
|
||||
node.alternative = alternative;
|
||||
}
|
||||
if (!compressor.option("ie8")) return node;
|
||||
if (node) exprs.push(node);
|
||||
return make_sequence(this, exprs);
|
||||
});
|
||||
def(AST_Constant, return_null);
|
||||
def(AST_Dot, function(compressor, first_in_statement) {
|
||||
|
||||
Reference in New Issue
Block a user