| Index: src/parsing/pattern-rewriter.cc
|
| diff --git a/src/parsing/pattern-rewriter.cc b/src/parsing/pattern-rewriter.cc
|
| index 04b517ebba4ba0928994237360387df279d1cc92..768a9488632675359f9fcb43df6ef8c05368456f 100644
|
| --- a/src/parsing/pattern-rewriter.cc
|
| +++ b/src/parsing/pattern-rewriter.cc
|
| @@ -77,7 +77,11 @@ bool Parser::PatternRewriter::IsBindingContext(PatternContext c) const {
|
| Parser::PatternRewriter::PatternContext
|
| Parser::PatternRewriter::SetAssignmentContextIfNeeded(Expression* node) {
|
| PatternContext old_context = context();
|
| - if (node->IsAssignment() && node->AsAssignment()->op() == Token::ASSIGN) {
|
| + // AssignmentExpressions may occur in the Initializer position of a
|
| + // SingleNameBinding. Such expressions should not prompt a change in the
|
| + // pattern's context.
|
| + if (node->IsAssignment() && node->AsAssignment()->op() == Token::ASSIGN &&
|
| + !IsInitializerContext()) {
|
| set_context(ASSIGNMENT);
|
| }
|
| return old_context;
|
|
|