diff --git a/Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp b/Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp index f1826fcf1c..be7df5b9a9 100644 --- a/Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp +++ b/Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp @@ -493,7 +493,11 @@ Bytecode::CodeGenerationErrorOr AssignmentExpression::generate_bytecode(By // if the logical assignment condition fails. auto lhs_reg = generator.allocate_register(); generator.emit(lhs_reg); - TRY(m_rhs->generate_bytecode(generator)); + + if (lhs->is_identifier()) + TRY(generator.emit_named_evaluation_if_anonymous_function(*m_rhs, static_cast(*lhs).string())); + else + TRY(m_rhs->generate_bytecode(generator)); switch (m_op) { case AssignmentOp::AdditionAssignment: