Index: src/parsing/parser-base.h |
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
index 27b9764434c5364ff18c9cf561acde122b80090d..55e6889625661179e22581ccf5d223199ff76fef 100644 |
--- a/src/parsing/parser-base.h |
+++ b/src/parsing/parser-base.h |
@@ -771,7 +771,8 @@ class ParserBase : public Traits { |
ExpressionT ParseAssignmentExpression(bool accept_IN, |
ExpressionClassifier* classifier, |
bool* ok); |
- ExpressionT ParseYieldExpression(ExpressionClassifier* classifier, bool* ok); |
+ ExpressionT ParseYieldExpression(bool accept_IN, |
+ ExpressionClassifier* classifier, bool* ok); |
ExpressionT ParseConditionalExpression(bool accept_IN, |
ExpressionClassifier* classifier, |
bool* ok); |
@@ -1893,7 +1894,7 @@ ParserBase<Traits>::ParseAssignmentExpression(bool accept_IN, |
int lhs_beg_pos = peek_position(); |
if (peek() == Token::YIELD && is_generator()) { |
- return this->ParseYieldExpression(classifier, ok); |
+ return this->ParseYieldExpression(accept_IN, classifier, ok); |
} |
FuncNameInferrer::State fni_state(fni_); |
@@ -2040,7 +2041,8 @@ ParserBase<Traits>::ParseAssignmentExpression(bool accept_IN, |
template <class Traits> |
typename ParserBase<Traits>::ExpressionT |
-ParserBase<Traits>::ParseYieldExpression(ExpressionClassifier* classifier, |
+ParserBase<Traits>::ParseYieldExpression(bool accept_IN, |
+ ExpressionClassifier* classifier, |
bool* ok) { |
// YieldExpression :: |
// 'yield' ([no line terminator] '*'? AssignmentExpression)? |
@@ -2070,7 +2072,7 @@ ParserBase<Traits>::ParseYieldExpression(ExpressionClassifier* classifier, |
if (!delegating) break; |
// Delegating yields require an RHS; fall through. |
default: |
- expression = ParseAssignmentExpression(false, classifier, CHECK_OK); |
+ expression = ParseAssignmentExpression(accept_IN, classifier, CHECK_OK); |
Traits::RewriteNonPattern(classifier, CHECK_OK); |
break; |
} |