AsyncFromSyncIterator.cpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) 2021, David Tuin <davidot@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibJS/Runtime/AsyncFromSyncIterator.h>
  7. #include <LibJS/Runtime/AsyncFromSyncIteratorPrototype.h>
  8. #include <LibJS/Runtime/GlobalObject.h>
  9. namespace JS {
  10. AsyncFromSyncIterator* AsyncFromSyncIterator::create(GlobalObject& global_object, Object* sync_iterator_record)
  11. {
  12. return global_object.heap().allocate<AsyncFromSyncIterator>(global_object, global_object, sync_iterator_record);
  13. }
  14. AsyncFromSyncIterator::AsyncFromSyncIterator(GlobalObject& global_object, Object* sync_iterator_record)
  15. : Object(*global_object.async_from_sync_iterator_prototype())
  16. , m_sync_iterator_record(sync_iterator_record)
  17. {
  18. VERIFY(m_sync_iterator_record);
  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);
  28. }
  29. }