| 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;
|
| }
|
|
|