Skip to content

Commit

Permalink
LibJS/Bytecode: Transfer binding pattern aliases to function names
Browse files Browse the repository at this point in the history
60 new passes on test262. :^)
  • Loading branch information
awesomekling committed Jun 25, 2023
1 parent 110eeb8 commit 365df34
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions Userland/Libraries/LibJS/Bytecode/ASTCodegen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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));
}
Expand Down

0 comments on commit 365df34

Please sign in to comment.