fix(emit): 变量声明赋值 class 表达式参与函数名推断

This commit is contained in:
爱特每羊队
2026-08-07 20:05:43 +08:00
parent 0d42207a1c
commit b291a68528
@@ -24,7 +24,12 @@ impl Emitter {
let val_reg = self.emit_expression(init, ctx)?;
self.emit_binding_pattern(&d.id, val_reg, decl.kind, is_const, ctx)?;
if let BindingPattern::BindingIdentifier(bi) = &d.id {
if matches!(*init, Expression::ArrowFunctionExpression(_) | Expression::FunctionExpression(_)) {
if matches!(
*init,
Expression::ArrowFunctionExpression(_)
| Expression::FunctionExpression(_)
| Expression::ClassExpression(_)
) {
if let Some(sub_mod) = ctx.nested.last_mut() {
if sub_mod.function_name.is_none() {
sub_mod.function_name = Some(bi.name.to_string());