Index: src/ast/ast.h |
diff --git a/src/ast/ast.h b/src/ast/ast.h |
index c2d9cc4c78ed616a3eb95f6506186ee01005ba86..e5c7646ef3a342794ad5db1ded50b13ecd425e73 100644 |
--- a/src/ast/ast.h |
+++ b/src/ast/ast.h |
@@ -1146,10 +1146,26 @@ |
class DebuggerStatement final : public Statement { |
- private: |
- friend class AstNodeFactory; |
- |
- explicit DebuggerStatement(int pos) : Statement(pos, kDebuggerStatement) {} |
+ public: |
+ void set_base_id(int id) { base_id_ = id; } |
+ static int num_ids() { return parent_num_ids() + 1; } |
+ BailoutId DebugBreakId() const { return BailoutId(local_id(0)); } |
+ |
+ private: |
+ friend class AstNodeFactory; |
+ |
+ explicit DebuggerStatement(int pos) |
+ : Statement(pos, kDebuggerStatement), |
+ base_id_(BailoutId::None().ToInt()) {} |
+ |
+ static int parent_num_ids() { return 0; } |
+ int base_id() const { |
+ DCHECK(!BailoutId(base_id_).IsNone()); |
+ return base_id_; |
+ } |
+ int local_id(int n) const { return base_id() + parent_num_ids() + n; } |
+ |
+ int base_id_; |
}; |