Fix faulty compression

`String(x + 5)` is not always the same as `x + "5"`.  Overlooked that. :-(

Close #350
This commit is contained in:
Mihai Bazon
2013-11-20 21:13:16 +02:00
parent 7d11b96f48
commit 50b8d7272c
2 changed files with 3 additions and 15 deletions

View File

@@ -2031,16 +2031,6 @@ merge(Compressor.prototype, {
&& self.right.getValue() === "" && self.left instanceof AST_Binary
&& self.left.operator == "+" && self.left.is_string(compressor)) {
return self.left;
} else if (self.operator == "+" && self.right instanceof AST_String
&& self.right.getValue() === "" && self.left instanceof AST_Binary
&& self.left.operator == "+" && self.left.right instanceof AST_Number) {
return make_node(AST_Binary, self, {
left: self.left.left,
operator: "+",
right: make_node(AST_String, self.right, {
value: String(self.left.right.value)
})
});
}
if (compressor.option("evaluate")) {
if (self.operator == "+") {