| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index 628391c5bedcd4844ea4c59d7fb8cd376d4763ac..a65993379678df670ae2a1cad7b00d4248a67a47 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -1154,12 +1154,17 @@ class VariableProxy: public Expression {
|
|
|
| bool IsArguments() { return var_ != NULL && var_->is_arguments(); }
|
|
|
| + bool IsLValue() {
|
| + return is_lvalue_;
|
| + }
|
| +
|
| Handle<String> name() const { return name_; }
|
| Variable* var() const { return var_; }
|
| bool is_this() const { return is_this_; }
|
| int position() const { return position_; }
|
|
|
| void MarkAsTrivial() { is_trivial_ = true; }
|
| + void MarkAsLValue() { is_lvalue_ = true; }
|
|
|
| // Bind this proxy to the variable var.
|
| void BindTo(Variable* var);
|
| @@ -1169,6 +1174,9 @@ class VariableProxy: public Expression {
|
| Variable* var_; // resolved variable, or NULL
|
| bool is_this_;
|
| bool is_trivial_;
|
| + // True if this variable proxy is being used in an assignment
|
| + // or with a increment/decrement operator.
|
| + bool is_lvalue_;
|
| int position_;
|
|
|
| VariableProxy(Isolate* isolate,
|
|
|