Index: src/parsing/parser-base.h |
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
index cc8baf03bf3a3f5533247dd689b68bdcd9f6d2b7..05a15ca0e66f1fc58b10cb754e08c6a7d04f1bfd 100644 |
--- a/src/parsing/parser-base.h |
+++ b/src/parsing/parser-base.h |
@@ -3799,14 +3799,17 @@ ParserBase<Impl>::ParseArrowFunctionLiteral( |
// 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. |
if (is_lazily_parsed) { |
Scanner::BookmarkScope bookmark(scanner()); |
bool may_abort = bookmark.Set(); |
LazyParsingResult result = impl()->SkipLazyFunctionBody( |
- &materialized_literal_count, &expected_property_count, may_abort, |
- CHECK_OK); |
+ &materialized_literal_count, &expected_property_count, false, |
+ may_abort, CHECK_OK); |
if (formal_parameters.materialized_literals_count > 0) { |
materialized_literal_count += |