This commit is contained in:
Mihai Bazon 2012-11-05 16:01:09 +02:00
parent 774f2ded94
commit fba0c1aafe

View File

@ -1477,7 +1477,21 @@ merge(Compressor.prototype, {
return this;
});
var commutativeOperators = makePredicate("== === != !== * & | ^");
OPT(AST_Binary, function(self, compressor){
function reverse(op) {
if (op) self.operator = op;
var tmp = self.left;
self.left = self.right;
self.right = tmp;
};
if (commutativeOperators(self.operator)) {
if (self.right instanceof AST_Constant
&& !(self.left instanceof AST_Constant)) {
reverse();
}
}
self = self.lift_sequences(compressor);
if (compressor.option("comparisons")) switch (self.operator) {
case "===":
@ -1489,11 +1503,6 @@ merge(Compressor.prototype, {
// XXX: intentionally falling down to the next case
case "==":
case "!=":
if (self.right instanceof AST_Constant && !(self.left instanceof AST_Constant)) {
var tmp = self.left;
self.left = self.right;
self.right = tmp;
}
if (self.left instanceof AST_String
&& self.left.value == "undefined"
&& self.right instanceof AST_UnaryPrefix
@ -1560,12 +1569,6 @@ merge(Compressor.prototype, {
});
self = best_of(self, negated);
}
var reverse = function(op) {
self.operator = op;
var tmp = self.left;
self.left = self.right;
self.right = tmp;
};
switch (self.operator) {
case "<": reverse(">"); break;
case "<=": reverse(">="); break;