diff --git a/crates/oxc_parser/src/js/arrow.rs b/crates/oxc_parser/src/js/arrow.rs
index e7313c99f..487e82ce8 100644
--- a/crates/oxc_parser/src/js/arrow.rs
+++ b/crates/oxc_parser/src/js/arrow.rs
@@ -16,76 +16,164 @@ type ArrowFunctionHead<'a> = (
);
impl<'a> ParserImpl<'a> {
- pub(crate) fn is_parenthesized_arrow_function_expression(&mut self, r#async: bool) -> Tristate {
- let offset = u8::from(r#async);
+ pub(super) fn try_parse_parenthesized_arrow_function_expression(
+ &mut self,
+ ) -> Result