| Index: src/ast/variables.h
|
| diff --git a/src/ast/variables.h b/src/ast/variables.h
|
| index ca5d1cdd40362974148b48a08b904ab08772b807..b8bb07eab7afcba33148fb708c12790f7db5e510 100644
|
| --- a/src/ast/variables.h
|
| +++ b/src/ast/variables.h
|
| @@ -15,12 +15,9 @@ namespace internal {
|
| // variables. Variables themselves are never directly referred to from the AST,
|
| // they are maintained by scopes, and referred to from VariableProxies and Slots
|
| // after binding and variable allocation.
|
| -
|
| -class ClassVariable;
|
| -
|
| class Variable: public ZoneObject {
|
| public:
|
| - enum Kind { NORMAL, FUNCTION, CLASS, THIS, ARGUMENTS };
|
| + enum Kind { NORMAL, FUNCTION, THIS, ARGUMENTS };
|
|
|
| Variable(Scope* scope, const AstRawString* name, VariableMode mode, Kind kind,
|
| InitializationFlag initialization_flag,
|
| @@ -84,7 +81,6 @@ class Variable: public ZoneObject {
|
| }
|
|
|
| bool is_function() const { return kind_ == FUNCTION; }
|
| - bool is_class() const { return kind_ == CLASS; }
|
| bool is_this() const { return kind_ == THIS; }
|
| bool is_arguments() const { return kind_ == ARGUMENTS; }
|
|
|
| @@ -98,11 +94,6 @@ class Variable: public ZoneObject {
|
| return is_this() || *name() == *isolate->factory()->this_string();
|
| }
|
|
|
| - ClassVariable* AsClassVariable() {
|
| - DCHECK(is_class());
|
| - return reinterpret_cast<ClassVariable*>(this);
|
| - }
|
| -
|
| // True if the variable is named eval and not known to be shadowed.
|
| bool is_possibly_eval(Isolate* isolate) const {
|
| return IsVariable(isolate->factory()->eval_string());
|
| @@ -132,24 +123,6 @@ class Variable: public ZoneObject {
|
|
|
| static int CompareIndex(Variable* const* v, Variable* const* w);
|
|
|
| - void RecordStrongModeReference(int start_position, int end_position) {
|
| - // Record the earliest reference to the variable. Used in error messages for
|
| - // strong mode references to undeclared variables.
|
| - if (has_strong_mode_reference_ &&
|
| - strong_mode_reference_start_position_ < start_position)
|
| - return;
|
| - has_strong_mode_reference_ = true;
|
| - strong_mode_reference_start_position_ = start_position;
|
| - strong_mode_reference_end_position_ = end_position;
|
| - }
|
| -
|
| - bool has_strong_mode_reference() const { return has_strong_mode_reference_; }
|
| - int strong_mode_reference_start_position() const {
|
| - return strong_mode_reference_start_position_;
|
| - }
|
| - int strong_mode_reference_end_position() const {
|
| - return strong_mode_reference_end_position_;
|
| - }
|
| PropertyAttributes DeclarationPropertyAttributes() const {
|
| int property_attributes = NONE;
|
| if (IsImmutableVariableMode(mode_)) {
|
| @@ -169,11 +142,6 @@ class Variable: public ZoneObject {
|
| VariableLocation location_;
|
| int index_;
|
| int initializer_position_;
|
| - // Tracks whether the variable is bound to a VariableProxy which is in strong
|
| - // mode, and if yes, the source location of the reference.
|
| - bool has_strong_mode_reference_;
|
| - int strong_mode_reference_start_position_;
|
| - int strong_mode_reference_end_position_;
|
|
|
| // If this field is set, this variable references the stored locally bound
|
| // variable, but it might be shadowed by variable bindings introduced by
|
| @@ -190,28 +158,6 @@ class Variable: public ZoneObject {
|
| InitializationFlag initialization_flag_;
|
| MaybeAssignedFlag maybe_assigned_;
|
| };
|
| -
|
| -class ClassVariable : public Variable {
|
| - public:
|
| - ClassVariable(Scope* scope, const AstRawString* name, VariableMode mode,
|
| - InitializationFlag initialization_flag,
|
| - MaybeAssignedFlag maybe_assigned_flag = kNotAssigned,
|
| - int declaration_group_start = -1)
|
| - : Variable(scope, name, mode, Variable::CLASS, initialization_flag,
|
| - maybe_assigned_flag),
|
| - declaration_group_start_(declaration_group_start) {}
|
| -
|
| - int declaration_group_start() const { return declaration_group_start_; }
|
| - void set_declaration_group_start(int declaration_group_start) {
|
| - declaration_group_start_ = declaration_group_start;
|
| - }
|
| -
|
| - private:
|
| - // For classes we keep track of consecutive groups of delcarations. They are
|
| - // needed for strong mode scoping checks. TODO(marja, rossberg): Implement
|
| - // checks for functions too.
|
| - int declaration_group_start_;
|
| -};
|
| } // namespace internal
|
| } // namespace v8
|
|
|
|
|