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