Index: src/parsing/preparser.cc |
diff --git a/src/parsing/preparser.cc b/src/parsing/preparser.cc |
index 54bc2027e8a6de87f70b7fb2b8b86d7359d1ed92..acb6b33750d4597de19b65bd0a39d7f7ddde7348 100644 |
--- a/src/parsing/preparser.cc |
+++ b/src/parsing/preparser.cc |
@@ -956,24 +956,15 @@ |
} |
} else { |
int lhs_beg_pos = peek_position(); |
- ExpressionClassifier classifier; |
- Expression lhs = ParseExpression(false, &classifier, CHECK_OK); |
+ Expression lhs = ParseExpression(false, CHECK_OK); |
int lhs_end_pos = scanner()->location().end_pos; |
is_let_identifier_expression = |
lhs.IsIdentifier() && lhs.AsIdentifier().IsLet(); |
if (CheckInOrOf(&mode, ok)) { |
if (!*ok) return Statement::Default(); |
- bool is_destructuring = |
- allow_harmony_destructuring_assignment() && |
- (lhs->IsArrayLiteral() || lhs->IsObjectLiteral()); |
- if (is_destructuring) { |
- ValidateAssignmentPattern(&classifier, CHECK_OK); |
- } else { |
- ValidateExpression(&classifier, CHECK_OK); |
- lhs = CheckAndRewriteReferenceExpression( |
- lhs, lhs_beg_pos, lhs_end_pos, MessageTemplate::kInvalidLhsInFor, |
- kSyntaxError, CHECK_OK); |
- } |
+ lhs = CheckAndRewriteReferenceExpression( |
+ lhs, lhs_beg_pos, lhs_end_pos, MessageTemplate::kInvalidLhsInFor, |
+ kSyntaxError, CHECK_OK); |
ParseExpression(true, CHECK_OK); |
Expect(Token::RPAREN, CHECK_OK); |
ParseSubStatement(CHECK_OK); |