Просмотр исходного кода

LibJS/Bytecode: Move object_to_iterator to CommonImplementations

Simon Wanner 1 год назад
Родитель
Сommit
661dbbc83d

+ 9 - 0
Userland/Libraries/LibJS/Bytecode/CommonImplementations.cpp

@@ -535,4 +535,13 @@ Object* iterator_to_object(VM& vm, IteratorRecord iterator)
     return object;
 }
 
+IteratorRecord object_to_iterator(VM& vm, Object& object)
+{
+    return IteratorRecord {
+        .iterator = &MUST(object.get(vm.names.iterator)).as_object(),
+        .next_method = MUST(object.get(vm.names.next)),
+        .done = MUST(object.get(vm.names.done)).as_bool()
+    };
+}
+
 }

+ 1 - 0
Userland/Libraries/LibJS/Bytecode/CommonImplementations.h

@@ -36,5 +36,6 @@ ThrowCompletionOr<void> create_variable(VM&, DeprecatedFlyString const& name, Op
 ThrowCompletionOr<ECMAScriptFunctionObject*> new_class(VM&, ClassExpression const&, Optional<IdentifierTableIndex> const& lhs_name);
 ThrowCompletionOr<NonnullGCPtr<Object>> super_call_with_argument_array(VM&, Value argument_array, bool is_synthetic);
 Object* iterator_to_object(VM&, IteratorRecord);
+IteratorRecord object_to_iterator(VM&, Object&);
 
 }

+ 0 - 9
Userland/Libraries/LibJS/Bytecode/Interpreter.cpp

@@ -645,15 +645,6 @@ ThrowCompletionOr<void> ImportCall::execute_impl(Bytecode::Interpreter& interpre
     return {};
 }
 
-static IteratorRecord object_to_iterator(VM& vm, Object& object)
-{
-    return IteratorRecord {
-        .iterator = &MUST(object.get(vm.names.iterator)).as_object(),
-        .next_method = MUST(object.get(vm.names.next)),
-        .done = MUST(object.get(vm.names.done)).as_bool()
-    };
-}
-
 ThrowCompletionOr<void> IteratorToArray::execute_impl(Bytecode::Interpreter& interpreter) const
 {
     auto& vm = interpreter.vm();