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

This commit is contained in:
2026-08-07 20:05:43 +08:00
parent 20381f726b
commit 86615a3bef
@@ -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());