Index: src/variables.h |
diff --git a/src/variables.h b/src/variables.h |
index de7f39045af934d8a7d13320f58cbc8cb88588a2..099b40a2c518f4a37f0fc592efb8d8a758ffbca3 100644 |
--- a/src/variables.h |
+++ b/src/variables.h |
@@ -49,7 +49,8 @@ class Variable: public ZoneObject { |
Variable(Scope* scope, const AstRawString* name, VariableMode mode, Kind kind, |
InitializationFlag initialization_flag, |
- MaybeAssignedFlag maybe_assigned_flag = kNotAssigned); |
+ MaybeAssignedFlag maybe_assigned_flag = kNotAssigned, |
+ int consecutive_declaration_batch_start = -1); |
// Printing support |
static const char* Mode2String(VariableMode mode); |
@@ -74,6 +75,9 @@ class Variable: public ZoneObject { |
void set_is_used() { is_used_ = true; } |
MaybeAssignedFlag maybe_assigned() const { return maybe_assigned_; } |
void set_maybe_assigned() { maybe_assigned_ = kMaybeAssigned; } |
+ int consecutive_declaration_batch_start() const { |
+ return consecutive_declaration_batch_start_; |
+ } |
int initializer_position() { return initializer_position_; } |
void set_initializer_position(int pos) { initializer_position_ = pos; } |
@@ -173,6 +177,11 @@ class Variable: public ZoneObject { |
bool is_used_; |
InitializationFlag initialization_flag_; |
MaybeAssignedFlag maybe_assigned_; |
+ |
+ // For classes and functions we keep track of consecutive batches of class / |
+ // function delcarations. They are needed for strong mode scoping |
+ // checks. TODO(marja, rossberg): Implement checks for functions too. |
+ int consecutive_declaration_batch_start_; |
}; |