|
@@ -645,7 +645,9 @@ Parser::PrimaryExpressionParseResult Parser::parse_primary_expression()
|
|
|
case TokenType::ParenOpen: {
|
|
|
auto paren_position = position();
|
|
|
consume(TokenType::ParenOpen);
|
|
|
- if ((match(TokenType::ParenClose) || match(TokenType::Identifier) || match(TokenType::TripleDot)) && !try_parse_arrow_function_expression_failed_at_position(paren_position)) {
|
|
|
+ if ((match(TokenType::ParenClose) || match(TokenType::Identifier) || match(TokenType::TripleDot) || match(TokenType::CurlyOpen) || match(TokenType::BracketOpen))
|
|
|
+ && !try_parse_arrow_function_expression_failed_at_position(paren_position)) {
|
|
|
+
|
|
|
auto arrow_function_result = try_parse_arrow_function_expression(true);
|
|
|
if (!arrow_function_result.is_null())
|
|
|
return { arrow_function_result.release_nonnull() };
|