fix: 括号包裹的匿名函数参与 name 推断(is_anonymous_function_definition)

This commit is contained in:
2026-08-07 20:27:49 +08:00
parent 697f81dfad
commit 4768e92ba8
6 changed files with 21 additions and 27 deletions
+1 -6
View File
@@ -30,12 +30,7 @@ impl Emitter {
let default_reg = self.emit_expression(default_expr, ctx)?;
// 默认值表达式是匿名函数/箭头/class 时按绑定名推断 name(SetFunctionName)。
if let Some(name) = name {
if matches!(
default_expr,
Expression::ArrowFunctionExpression(_)
| Expression::FunctionExpression(_)
| Expression::ClassExpression(_)
) {
if crate::is_anonymous_function_definition(default_expr) {
if let Some(sub_mod) = ctx.nested.last_mut() {
if sub_mod.function_name.is_none() {
sub_mod.function_name = Some(name.to_string());