| Index: src/ast.h
|
| ===================================================================
|
| --- src/ast.h (revision 2255)
|
| +++ src/ast.h (working copy)
|
| @@ -802,13 +802,20 @@
|
| Variable* AsVariable() {
|
| return this == NULL || var_ == NULL ? NULL : var_->AsVariable();
|
| }
|
| +
|
| virtual bool IsValidLeftHandSide() {
|
| return var_ == NULL ? true : var_->IsValidLeftHandSide();
|
| }
|
| +
|
| bool IsVariable(Handle<String> n) {
|
| return !is_this() && name().is_identical_to(n);
|
| }
|
|
|
| + bool IsArguments() {
|
| + Variable* variable = AsVariable();
|
| + return (variable == NULL) ? false : variable->is_arguments();
|
| + }
|
| +
|
| // If this assertion fails it means that some code has tried to
|
| // treat the special "this" variable as an ordinary variable with
|
| // the name "this".
|
| @@ -890,12 +897,13 @@
|
| virtual void Accept(AstVisitor* v);
|
|
|
| // Type testing & conversion
|
| - virtual Slot* AsSlot() { return this; }
|
| + virtual Slot* AsSlot() { return this; }
|
|
|
| // Accessors
|
| - Variable* var() const { return var_; }
|
| - Type type() const { return type_; }
|
| - int index() const { return index_; }
|
| + Variable* var() const { return var_; }
|
| + Type type() const { return type_; }
|
| + int index() const { return index_; }
|
| + bool is_arguments() const { return var_->is_arguments(); }
|
|
|
| private:
|
| Variable* var_;
|
|
|