LibJS/Bytecode: Transfer binding pattern aliases to function names

60 new passes on test262. :^)
This commit is contained in:
Andreas Kling 2023-06-25 11:11:36 +02:00
parent 55d59636ef
commit 1932f7e6b6
Notes: sideshowbarker 2024-07-17 11:29:41 +09:00

View file

@ -1253,8 +1253,10 @@ static Bytecode::CodeGenerationErrorOr<void> generate_array_binding_pattern_byte
generator.switch_to_basic_block(value_is_undefined_block);
if (auto const* lhs = name.get_pointer<NonnullRefPtr<Identifier const>>()) {
TRY(generator.emit_named_evaluation_if_anonymous_function(*initializer, (*lhs)->string()));
if (auto const* alias_identifier = alias.get_pointer<NonnullRefPtr<Identifier const>>()) {
TRY(generator.emit_named_evaluation_if_anonymous_function(*initializer, (*alias_identifier)->string()));
} else if (auto const* name_identifier = name.get_pointer<NonnullRefPtr<Identifier const>>()) {
TRY(generator.emit_named_evaluation_if_anonymous_function(*initializer, (*name_identifier)->string()));
} else {
TRY(initializer->generate_bytecode(generator));
}