| Index: src/parsing/parser-base.h
|
| diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h
|
| index 47d96d2ddbd1af14486c3cfee884e016f244c06d..07130eb98d160776db758feae763fe7b8c434cd8 100644
|
| --- a/src/parsing/parser-base.h
|
| +++ b/src/parsing/parser-base.h
|
| @@ -3915,13 +3915,16 @@ 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());
|
| 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) {
|
|
|