Index: src/ast/ast.h |
diff --git a/src/ast/ast.h b/src/ast/ast.h |
index a6a6afda5d49003dd6d6c997eb453bec57bd9d0d..32a532a1e250d5c19b384eae0d05091fddb4eba3 100644 |
--- a/src/ast/ast.h |
+++ b/src/ast/ast.h |
@@ -365,6 +365,14 @@ class Expression : public AstNode { |
BailoutId id() const { return BailoutId(local_id(0)); } |
TypeFeedbackId test_id() const { return TypeFeedbackId(local_id(1)); } |
+ // Parenthesized expressions in the form `( Expression )`. |
+ void set_is_parenthesized() { |
+ bit_field_ = ParenthesizedField::update(bit_field_, true); |
+ } |
+ bool is_parenthesized() const { |
+ return ParenthesizedField::decode(bit_field_); |
+ } |
+ |
protected: |
Expression(Zone* zone, int pos) |
: AstNode(pos), |
@@ -387,6 +395,8 @@ class Expression : public AstNode { |
int base_id_; |
Bounds bounds_; |
class ToBooleanTypesField : public BitField16<uint16_t, 0, 9> {}; |
+ class ParenthesizedField |
+ : public BitField16<bool, ToBooleanTypesField::kNext, 1> {}; |
uint16_t bit_field_; |
// Ends with 16-bit field; deriving classes in turn begin with |
// 16-bit fields for optimum packing efficiency. |