Index: src/preparser.cc |
diff --git a/src/preparser.cc b/src/preparser.cc |
index ff98f0817f2f2b6985e4f4e2ce18dc30c188a7f8..924034374e400bad3efe44226db1a8a1b788efd5 100644 |
--- a/src/preparser.cc |
+++ b/src/preparser.cc |
@@ -1040,9 +1040,12 @@ PreParser::Statement PreParser::ParseTryStatement(bool* ok) { |
if (tok == Token::CATCH) { |
Consume(Token::CATCH); |
Expect(Token::LPAREN, CHECK_OK); |
- ParseIdentifier(kDontAllowRestrictedIdentifiers, CHECK_OK); |
+ ExpressionClassifier pattern_classifier; |
+ ParsePrimaryExpression(&pattern_classifier, CHECK_OK); |
+ ValidateBindingPattern(&pattern_classifier, CHECK_OK); |
Expect(Token::RPAREN, CHECK_OK); |
{ |
+ // TODO(adamk): Make this CATCH_SCOPE |
Scope* with_scope = NewScope(scope_, WITH_SCOPE); |
BlockState block_state(&scope_, with_scope); |
ParseBlock(CHECK_OK); |