From 0d4c7fa392e90973561485ac7ef4954e250edab6 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 26 May 2023 13:01:54 +0200 Subject: [PATCH] LibJS/Bytecode: Make for..in iterate property names as string Makes 107 new tests pass in test262. :^) --- Userland/Libraries/LibJS/Bytecode/Op.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Userland/Libraries/LibJS/Bytecode/Op.cpp b/Userland/Libraries/LibJS/Bytecode/Op.cpp index 46b63caa7a..61d64727da 100644 --- a/Userland/Libraries/LibJS/Bytecode/Op.cpp +++ b/Userland/Libraries/LibJS/Bytecode/Op.cpp @@ -981,7 +981,7 @@ ThrowCompletionOr 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