1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:48:11 +00:00

LibJS: Use InitializeOrSet to initialize function declarations in BC

A function may be redefined, in which case the existing binding is
expected to be reused.
This commit is contained in:
Ali Mohammad Pur 2022-04-05 03:54:58 +04:30 committed by Andreas Kling
parent 5407fe8fcf
commit 0e1943937c

View file

@ -54,7 +54,7 @@ Bytecode::CodeGenerationErrorOr<void> ScopeNode::generate_bytecode(Bytecode::Gen
auto const& name = function_declaration.name();
auto index = generator.intern_identifier(name);
generator.emit<Bytecode::Op::NewFunction>(function_declaration);
generator.emit<Bytecode::Op::SetVariable>(index, Bytecode::Op::SetVariable::InitializationMode::Initialize);
generator.emit<Bytecode::Op::SetVariable>(index, Bytecode::Op::SetVariable::InitializationMode::InitializeOrSet);
}
return {};