Index: src/ast/scopes.cc |
diff --git a/src/ast/scopes.cc b/src/ast/scopes.cc |
index ad1c137753e475963467df4a934f414f9d649161..2a3cece7d9df16cbd8b103c2dba5c87f18bb8504 100644 |
--- a/src/ast/scopes.cc |
+++ b/src/ast/scopes.cc |
@@ -1349,6 +1349,18 @@ Scope* Scope::GetOuterScopeWithContext() { |
return scope; |
} |
+bool Scope::HasLazilyParsedInnerFunctionScope() const { |
+ for (Scope* scope = inner_scope_; scope; scope = scope->sibling_) { |
+ if (scope->is_function_scope()) { |
+ if (static_cast<DeclarationScope*>(scope)->was_lazily_parsed()) { |
+ return true; |
+ } |
+ } |
+ if (scope->HasLazilyParsedInnerFunctionScope()) return true; |
+ } |
+ return false; |
+} |
+ |
Handle<StringSet> DeclarationScope::CollectNonLocals( |
ParseInfo* info, Handle<StringSet> non_locals) { |
VariableProxy* free_variables = FetchFreeVariables(this, info); |