Disallow reversal where lhs has higher or equal precedence

Fixes #267
This commit is contained in:
Richard van Velzen
2013-10-29 21:37:36 +01:00
parent b214d3786f
commit 785c6064cc
2 changed files with 16 additions and 1 deletions

View File

@@ -1907,7 +1907,11 @@ merge(Compressor.prototype, {
// if right is a constant, whatever side effects the
// left side might have could not influence the
// result. hence, force switch.
reverse(null, true);
if (!(self.left instanceof AST_Binary
&& PRECEDENCE[self.left.operator] >= PRECEDENCE[self.operator])) {
reverse(null, true);
}
}
if (/^[!=]==?$/.test(self.operator)) {
if (self.left instanceof AST_SymbolRef && self.right instanceof AST_Conditional) {