| Index: src/parsing/parser-base.h
|
| diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h
|
| index fad093081187054b9b15764ef4b48cf8907e7581..7c666db2a3d3208fa78279d50c755258f2332194 100644
|
| --- a/src/parsing/parser-base.h
|
| +++ b/src/parsing/parser-base.h
|
| @@ -3865,14 +3865,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 +=
|
|
|