@@ -6466,13 +6466,6 @@ merge(Compressor.prototype, {
|
||||
}).optimize(compressor);
|
||||
}
|
||||
break;
|
||||
// 0 - n => -n
|
||||
case "-":
|
||||
if (self.left.value == 0) return make_node(AST_UnaryPrefix, self, {
|
||||
operator: "-",
|
||||
expression: self.right
|
||||
}).optimize(compressor);
|
||||
break;
|
||||
// 1 * n => n
|
||||
case "*":
|
||||
if (self.left.value == 1) {
|
||||
@@ -6483,15 +6476,32 @@ merge(Compressor.prototype, {
|
||||
}
|
||||
break;
|
||||
}
|
||||
// n - 0 => n
|
||||
// n / 1 => n
|
||||
if (self.right instanceof AST_Number && !self.left.is_constant() && self.right.value == {
|
||||
"-": 0,
|
||||
"/": 1,
|
||||
}[self.operator]) return self.left.is_number(compressor) ? self.left : make_node(AST_UnaryPrefix, self, {
|
||||
operator: "+",
|
||||
expression: self.left
|
||||
}).optimize(compressor);
|
||||
if (self.right instanceof AST_Number && !self.left.is_constant()) switch (self.operator) {
|
||||
// n + 0 => n
|
||||
case "+":
|
||||
if (self.right.value == 0 && (self.left.is_boolean(compressor) || self.left.is_number(compressor))) {
|
||||
return self.left;
|
||||
}
|
||||
break;
|
||||
// n - 0 => n
|
||||
case "-":
|
||||
if (self.right.value == 0) {
|
||||
return self.left.is_number(compressor) ? self.left : make_node(AST_UnaryPrefix, self, {
|
||||
operator: "+",
|
||||
expression: self.left
|
||||
}).optimize(compressor);
|
||||
}
|
||||
break;
|
||||
// n / 1 => n
|
||||
case "/":
|
||||
if (self.right.value == 1) {
|
||||
return self.left.is_number(compressor) ? self.left : make_node(AST_UnaryPrefix, self, {
|
||||
operator: "+",
|
||||
expression: self.left
|
||||
}).optimize(compressor);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (compressor.option("typeofs")) switch (self.operator) {
|
||||
case "&&":
|
||||
|
||||
Reference in New Issue
Block a user