Index: src/parsing/parser-base.h |
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
index 47d96d2ddbd1af14486c3cfee884e016f244c06d..5b21c539f2470b049c91106fb4ba9ec4b50d20e4 100644 |
--- a/src/parsing/parser-base.h |
+++ b/src/parsing/parser-base.h |
@@ -3915,13 +3915,17 @@ |
// Multiple statement body |
Consume(Token::LBRACE); |
DCHECK_EQ(scope(), formal_parameters.scope); |
- bool is_lazily_parsed = (mode() == PARSE_LAZILY && |
- formal_parameters.scope->AllowsLazyParsing()); |
+ bool is_lazily_parsed = |
+ (mode() == PARSE_LAZILY && |
+ formal_parameters.scope |
+ ->AllowsLazyParsingWithoutUnresolvedVariables()); |
+ // TODO(marja): consider lazy-parsing inner arrow functions too. is_this |
+ // handling in Scope::ResolveVariable needs to change. |
if (is_lazily_parsed) { |
Scanner::BookmarkScope bookmark(scanner()); |
bookmark.Set(); |
LazyParsingResult result = impl()->SkipLazyFunctionBody( |
- &materialized_literal_count, &expected_property_count, true, |
+ &materialized_literal_count, &expected_property_count, false, true, |
CHECK_OK); |
if (formal_parameters.materialized_literals_count > 0) { |