Chromium Code Reviews| Index: src/parsing/parser-base.h |
| diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
| index dc08f5c5803923dd9ee29bf92228af10d5f0efe3..9b1a2dcabda5748fa0d7da3fcee22de15f83b857 100644 |
| --- a/src/parsing/parser-base.h |
| +++ b/src/parsing/parser-base.h |
| @@ -1592,8 +1592,11 @@ ParserBase<Traits>::ParsePrimaryExpression(ExpressionClassifier* classifier, |
| MessageTemplate::kUnexpectedToken, |
| Token::String(Token::ELLIPSIS)); |
| classifier->RecordNonSimpleParameter(); |
| - ExpressionT expr = |
| - this->ParseAssignmentExpression(true, classifier, CHECK_OK); |
| + ExpressionClassifier binding_classifier(this); |
| + ExpressionT expr = this->ParseAssignmentExpression( |
| + true, &binding_classifier, CHECK_OK); |
| + classifier->Accumulate(&binding_classifier, |
| + ExpressionClassifier::AllProductions); |
|
nickie
2016/06/22 09:35:55
This is now identical to the code handling spreads
|
| if (!this->IsIdentifier(expr) && !IsValidPattern(expr)) { |
| classifier->RecordArrowFormalParametersError( |
| Scanner::Location(ellipsis_pos, scanner()->location().end_pos), |