| Index: src/preparser.cc
|
| diff --git a/src/preparser.cc b/src/preparser.cc
|
| index 74e11b1d454b3b33a3f6bcadb18f91476a246f37..b52cca20dd857c4a35d801c6b191fc8a47a5118f 100644
|
| --- a/src/preparser.cc
|
| +++ b/src/preparser.cc
|
| @@ -1029,9 +1029,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);
|
|
|