From a27ad3504c1aa9a85025ec8fa03aba05d7903a35 Mon Sep 17 00:00:00 2001 From: liangmiQwQ Date: Sat, 25 Oct 2025 18:49:02 +0800 Subject: [PATCH 1/2] fix(ast): regard `TSEmptyBodyFunctionExpression` as expression --- crates/oxc_ast/src/ast_impl/js.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/oxc_ast/src/ast_impl/js.rs b/crates/oxc_ast/src/ast_impl/js.rs index b17178fc640d1..684b1abaed188 100644 --- a/crates/oxc_ast/src/ast_impl/js.rs +++ b/crates/oxc_ast/src/ast_impl/js.rs @@ -1421,6 +1421,7 @@ impl<'a> Function<'a> { /// `true` for function expressions pub fn is_expression(&self) -> bool { self.r#type == FunctionType::FunctionExpression + || self.r#type == FunctionType::TSEmptyBodyFunctionExpression } /// `true` for function declarations From 15f875d87d6e6128e38ac6f9e19ea1c3ef0a7eb5 Mon Sep 17 00:00:00 2001 From: liangmiQwQ Date: Sat, 25 Oct 2025 20:07:58 +0800 Subject: [PATCH 2/2] chore: update comment --- crates/oxc_ast/src/ast_impl/js.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/oxc_ast/src/ast_impl/js.rs b/crates/oxc_ast/src/ast_impl/js.rs index 684b1abaed188..48e5d6d0ce352 100644 --- a/crates/oxc_ast/src/ast_impl/js.rs +++ b/crates/oxc_ast/src/ast_impl/js.rs @@ -1418,7 +1418,7 @@ impl<'a> Function<'a> { self.r#type.is_typescript_syntax() || self.body.is_none() || self.declare } - /// `true` for function expressions + /// `true` for both function expressions and typescript empty body function expressions pub fn is_expression(&self) -> bool { self.r#type == FunctionType::FunctionExpression || self.r#type == FunctionType::TSEmptyBodyFunctionExpression