| Index: src/parser.cc
|
| diff --git a/src/parser.cc b/src/parser.cc
|
| index 15ed6ded0e8e08b417b1f6a7ebbe2c2f63240844..0e0e437d8b63ce030d0c0b32a8be93f71102dfff 100644
|
| --- a/src/parser.cc
|
| +++ b/src/parser.cc
|
| @@ -3853,6 +3853,7 @@ void Parser::SkipLazyFunctionBody(const AstRawString* function_name,
|
| *materialized_literal_count = entry.literal_count();
|
| *expected_property_count = entry.property_count();
|
| scope_->SetLanguageMode(entry.language_mode());
|
| + if (entry.uses_super_property()) scope_->RecordSuperPropertyUsage();
|
| return;
|
| }
|
| cached_parse_data_->Reject();
|
| @@ -3884,12 +3885,16 @@ void Parser::SkipLazyFunctionBody(const AstRawString* function_name,
|
| *materialized_literal_count = logger.literals();
|
| *expected_property_count = logger.properties();
|
| scope_->SetLanguageMode(logger.language_mode());
|
| + if (logger.scope_uses_super_property()) {
|
| + scope_->RecordSuperPropertyUsage();
|
| + }
|
| if (produce_cached_parse_data()) {
|
| DCHECK(log_);
|
| // Position right after terminal '}'.
|
| int body_end = scanner()->location().end_pos;
|
| log_->LogFunction(function_block_pos, body_end, *materialized_literal_count,
|
| - *expected_property_count, scope_->language_mode());
|
| + *expected_property_count, scope_->language_mode(),
|
| + scope_->uses_super_property());
|
| }
|
| }
|
|
|
|
|