Chromium Code Reviews| Index: src/ast.h |
| diff --git a/src/ast.h b/src/ast.h |
| index 23f9eef477a9a318769ad67256b650e23ca11372..579082cd6ae42f40c88b0b4623631e9e3604091c 100644 |
| --- a/src/ast.h |
| +++ b/src/ast.h |
| @@ -344,6 +344,17 @@ class Expression : public AstNode { |
| Bounds bounds() const { return bounds_; } |
| void set_bounds(Bounds bounds) { bounds_ = bounds; } |
| + // Whether the expression is parenthesized |
| + unsigned parenthesization_level() const { return parenthesization_level_; } |
| + bool is_parenthesized() const { return parenthesization_level_ > 0; } |
| + void set_is_parenthesized(bool value) { |
|
marja
2014/06/26 14:38:13
Afaics this is never called with false (which woul
|
| + if (value) { |
| + ++parenthesization_level_; |
| + } else { |
| + parenthesization_level_ = 0; |
| + } |
| + } |
| + |
| // Type feedback information for assignments and properties. |
| virtual bool IsMonomorphic() { |
| UNREACHABLE(); |
| @@ -370,6 +381,7 @@ class Expression : public AstNode { |
| : AstNode(pos), |
| zone_(zone), |
| bounds_(Bounds::Unbounded(zone)), |
| + parenthesization_level_(0), |
| id_(GetNextId(zone)), |
| test_id_(GetNextId(zone)) {} |
| void set_to_boolean_types(byte types) { to_boolean_types_ = types; } |
| @@ -379,6 +391,7 @@ class Expression : public AstNode { |
| private: |
| Bounds bounds_; |
| byte to_boolean_types_; |
| + unsigned parenthesization_level_; |
| const BailoutId id_; |
| const TypeFeedbackId test_id_; |