optimize conditional when condition symbol matches consequent (#1684)
This commit is contained in:
@@ -3565,8 +3565,19 @@ merge(Compressor.prototype, {
|
||||
alternative: self.consequent
|
||||
});
|
||||
}
|
||||
var condition = self.condition;
|
||||
var consequent = self.consequent;
|
||||
var alternative = self.alternative;
|
||||
// x?x:y --> x||y
|
||||
if (condition instanceof AST_SymbolRef
|
||||
&& consequent instanceof AST_SymbolRef
|
||||
&& condition.definition() === consequent.definition()) {
|
||||
return make_node(AST_Binary, self, {
|
||||
operator: "||",
|
||||
left: condition,
|
||||
right: alternative
|
||||
});
|
||||
}
|
||||
// if (foo) exp = something; else exp = something_else;
|
||||
// |
|
||||
// v
|
||||
|
||||
Reference in New Issue
Block a user