LibJS/Bytecode: Make for..in iterate property names as string

Makes 107 new tests pass in test262. :^)
This commit is contained in:
Andreas Kling 2023-05-26 13:01:54 +02:00
commit 0d4c7fa392
Notes: sideshowbarker 2024-07-17 09:49:33 +09:00

View file

@ -981,7 +981,7 @@ ThrowCompletionOr<void> GetObjectPropertyIterator::execute_impl(Bytecode::Interp
result_object->define_direct_property(vm.names.done, JS::Value(false), default_attributes);
if (key.is_number())
result_object->define_direct_property(vm.names.value, JS::Value(key.as_number()), default_attributes);
result_object->define_direct_property(vm.names.value, PrimitiveString::create(vm, TRY_OR_THROW_OOM(vm, String::number(key.as_number()))), default_attributes);
else if (key.is_string())
result_object->define_direct_property(vm.names.value, PrimitiveString::create(vm, key.as_string()), default_attributes);
else