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), |