fix is_number() on += (#1714)

fixes #1710
This commit is contained in:
Alex Lam S.L
2017-03-28 17:08:16 +08:00
committed by GitHub
parent fb177a6312
commit f71f4905b0
2 changed files with 17 additions and 2 deletions

View File

@@ -1167,9 +1167,9 @@ merge(Compressor.prototype, {
&& this.left.is_number(compressor) && this.left.is_number(compressor)
&& this.right.is_number(compressor); && this.right.is_number(compressor);
}); });
var assign = makePredicate("-= *= /= %= &= |= ^= <<= >>= >>>=");
def(AST_Assign, function(compressor){ def(AST_Assign, function(compressor){
return assign(this.operator) || this.right.is_number(compressor); return binary(this.operator.slice(0, -1))
|| this.operator == "=" && this.right.is_number(compressor);
}); });
def(AST_Seq, function(compressor){ def(AST_Seq, function(compressor){
return this.cdr.is_number(compressor); return this.cdr.is_number(compressor);

View File

@@ -153,3 +153,18 @@ evaluate_4: {
); );
} }
} }
issue_1710: {
options = {
evaluate: true,
}
input: {
var x = {};
console.log((x += 1) + -x);
}
expect: {
var x = {};
console.log((x += 1) + -x);
}
expect_stdout: true
}