Chromium Code Reviews| Index: src/parsing/parser-base.h |
| diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
| index e75e87a65a427da96e9382f58b0a9a8c33fa8460..539209e985d4e9120075b1f041f476ec62408bfa 100644 |
| --- a/src/parsing/parser-base.h |
| +++ b/src/parsing/parser-base.h |
| @@ -2246,12 +2246,15 @@ ParserBase<Traits>::ParseBinaryExpression(int prec, bool accept_IN, |
| *ok = false; |
| return this->EmptyExpression(); |
| } |
| - x = factory()->NewCompareOperation(cmp, x, y, pos); |
| - if (cmp != op) { |
| - // The comparison was negated - add a NOT. |
| - x = factory()->NewUnaryOperation(Token::NOT, x, pos); |
| + if (FLAG_harmony_instanceof && op == Token::INSTANCEOF) { |
|
rossberg
2016/02/12 14:11:31
Nit: make this and 'else if'. Also, s/op/cmp/
mvstanton
2016/02/18 02:12:17
Done.
|
| + x = Traits::RewriteInstanceof(x, y, pos); |
| + } else { |
| + x = factory()->NewCompareOperation(cmp, x, y, pos); |
| + if (cmp != op) { |
| + // The comparison was negated - add a NOT. |
| + x = factory()->NewUnaryOperation(Token::NOT, x, pos); |
| + } |
| } |
| - |
| } else { |
| // We have a "normal" binary operation. |
| x = factory()->NewBinaryOperation(op, x, y, pos); |