Index: src/parsing/parser-base.h |
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
index d7d6b5b16268fc40e39bb6569529fec871bf5e83..c7581504d75c9db17ea0ad968005b8ba30978399 100644 |
--- a/src/parsing/parser-base.h |
+++ b/src/parsing/parser-base.h |
@@ -2288,6 +2288,8 @@ ParserBase<Traits>::ParseAssignmentExpression(bool accept_IN, |
ExpressionClassifier arrow_formals_classifier(this, |
classifier->duplicate_finder()); |
+ Scope::Snapshot scope_snapshot(scope()); |
+ |
bool is_async = allow_harmony_async_await() && peek() == Token::ASYNC && |
!scanner()->HasAnyLineTerminatorAfterNext() && |
IsValidArrowFormalParametersStart(PeekAhead()); |
@@ -2337,8 +2339,8 @@ ParserBase<Traits>::ParseAssignmentExpression(bool accept_IN, |
scope->set_start_position(lhs_beg_pos); |
Scanner::Location duplicate_loc = Scanner::Location::invalid(); |
- this->ParseArrowFunctionFormalParameterList(¶meters, expression, loc, |
- &duplicate_loc, CHECK_OK); |
+ this->ParseArrowFunctionFormalParameterList( |
+ ¶meters, expression, loc, &duplicate_loc, scope_snapshot, CHECK_OK); |
if (duplicate_loc.IsValid()) { |
arrow_formals_classifier.RecordDuplicateFormalParameterError( |
duplicate_loc); |