Index: src/scopes.h |
diff --git a/src/scopes.h b/src/scopes.h |
index d315b7e5dcf806f883c9fcfe66124f23aa03c492..e1a658aa8e041a3901f9573a93f687d976ca0467 100644 |
--- a/src/scopes.h |
+++ b/src/scopes.h |
@@ -126,15 +126,9 @@ class Scope: public ZoneObject { |
// Declare the function variable for a function literal. This variable |
// is in an intermediate scope between this function scope and the the |
// outer scope. Only possible for function scopes; at most one variable. |
- template<class Visitor> |
- Variable* DeclareFunctionVar(Handle<String> name, |
- VariableMode mode, |
- AstNodeFactory<Visitor>* factory) { |
- ASSERT(is_function_scope() && function_ == NULL); |
- Variable* function_var = new Variable( |
- this, name, mode, true, Variable::NORMAL, kCreatedInitialized); |
- function_ = factory->NewVariableProxy(function_var); |
- return function_var; |
+ void DeclareFunctionVar(VariableDeclaration* declaration) { |
+ ASSERT(is_function_scope()); |
+ function_ = declaration; |
} |
// Declare a parameter in this scope. When there are duplicated |
@@ -312,9 +306,8 @@ class Scope: public ZoneObject { |
Variable* receiver() { return receiver_; } |
// The variable holding the function literal for named function |
- // literals, or NULL. |
- // Only valid for function scopes. |
- VariableProxy* function() const { |
+ // literals, or NULL. Only valid for function scopes. |
+ VariableDeclaration* function() const { |
ASSERT(is_function_scope()); |
return function_; |
} |
@@ -446,7 +439,7 @@ class Scope: public ZoneObject { |
// Convenience variable. |
Variable* receiver_; |
// Function variable, if any; function scopes only. |
- VariableProxy* function_; |
+ VariableDeclaration* function_; |
// Convenience variable; function scopes only. |
Variable* arguments_; |
// Interface; module scopes only. |