AsyncFromSyncIterator.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * Copyright (c) 2021, David Tuin <davidot@serenityos.org>
  3. * Copyright (c) 2022, Linus Groh <linusg@serenityos.org>
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause
  6. */
  7. #include <LibJS/Runtime/AsyncFromSyncIterator.h>
  8. #include <LibJS/Runtime/AsyncFromSyncIteratorPrototype.h>
  9. #include <LibJS/Runtime/GlobalObject.h>
  10. namespace JS {
  11. AsyncFromSyncIterator* AsyncFromSyncIterator::create(GlobalObject& global_object, Iterator sync_iterator_record)
  12. {
  13. return global_object.heap().allocate<AsyncFromSyncIterator>(global_object, global_object, sync_iterator_record);
  14. }
  15. AsyncFromSyncIterator::AsyncFromSyncIterator(GlobalObject& global_object, Iterator sync_iterator_record)
  16. : Object(*global_object.async_from_sync_iterator_prototype())
  17. , m_sync_iterator_record(sync_iterator_record)
  18. {
  19. }
  20. void AsyncFromSyncIterator::initialize(GlobalObject& global_object)
  21. {
  22. Object::initialize(global_object);
  23. }
  24. void AsyncFromSyncIterator::visit_edges(Cell::Visitor& visitor)
  25. {
  26. Object::visit_edges(visitor);
  27. visitor.visit(m_sync_iterator_record.iterator);
  28. visitor.visit(m_sync_iterator_record.next_method);
  29. }
  30. }