| Index: src/variables.h
|
| ===================================================================
|
| --- src/variables.h (revision 2255)
|
| +++ src/variables.h (working copy)
|
| @@ -137,6 +137,12 @@
|
| // in a context
|
| };
|
|
|
| + enum Kind {
|
| + NORMAL,
|
| + THIS,
|
| + ARGUMENTS
|
| + };
|
| +
|
| // Printing support
|
| static const char* Mode2String(Mode mode);
|
|
|
| @@ -172,7 +178,8 @@
|
| }
|
|
|
| bool is_global() const;
|
| - bool is_this() const { return is_this_; }
|
| + bool is_this() const { return kind_ == THIS; }
|
| + bool is_arguments() const { return kind_ == ARGUMENTS; }
|
|
|
| Variable* local_if_not_shadowed() const {
|
| ASSERT(mode_ == DYNAMIC_LOCAL && local_if_not_shadowed_ != NULL);
|
| @@ -190,13 +197,13 @@
|
|
|
| private:
|
| Variable(Scope* scope, Handle<String> name, Mode mode, bool is_valid_LHS,
|
| - bool is_this);
|
| + Kind kind);
|
|
|
| Scope* scope_;
|
| Handle<String> name_;
|
| Mode mode_;
|
| bool is_valid_LHS_;
|
| - bool is_this_;
|
| + Kind kind_;
|
|
|
| Variable* local_if_not_shadowed_;
|
|
|
|
|