| Index: src/scopes.h
|
| diff --git a/src/scopes.h b/src/scopes.h
|
| index fc627df619b4c776ab5e43dfafdbba840cc5aaa9..9b506d989ea2243f49d50fa40ebdb0ae15b08b44 100644
|
| --- a/src/scopes.h
|
| +++ b/src/scopes.h
|
| @@ -206,8 +206,13 @@ class Scope: public ZoneObject {
|
| // ---------------------------------------------------------------------------
|
| // Accessors.
|
|
|
| - // The variable corresponding to the (function) receiver.
|
| - VariableProxy* receiver() const { return receiver_; }
|
| + // A new variable proxy corresponding to the (function) receiver.
|
| + VariableProxy* receiver() const {
|
| + VariableProxy* proxy =
|
| + new VariableProxy(Factory::this_symbol(), true, false);
|
| + proxy->BindTo(receiver_);
|
| + return proxy;
|
| + }
|
|
|
| // The variable holding the function literal for named function
|
| // literals, or NULL.
|
| @@ -314,7 +319,7 @@ class Scope: public ZoneObject {
|
| // Declarations.
|
| ZoneList<Declaration*> decls_;
|
| // Convenience variable.
|
| - VariableProxy* receiver_;
|
| + Variable* receiver_;
|
| // Function variable, if any; function scopes only.
|
| Variable* function_;
|
| // Convenience variable; function scopes only.
|
|
|