JavascriptArrayNonIndexSnapshotEnumerator.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. #pragma once
  6. namespace Js
  7. {
  8. //
  9. // This enumerator only enumerates non-array-index named properties.
  10. //
  11. class JavascriptArrayNonIndexSnapshotEnumerator: public JavascriptArraySnapshotEnumerator
  12. {
  13. private:
  14. uint32 initialLength;
  15. protected:
  16. DEFINE_VTABLE_CTOR(JavascriptArrayNonIndexSnapshotEnumerator, JavascriptArraySnapshotEnumerator);
  17. DEFINE_MARSHAL_ENUMERATOR_TO_SCRIPT_CONTEXT(JavascriptArrayNonIndexSnapshotEnumerator);
  18. public:
  19. JavascriptArrayNonIndexSnapshotEnumerator(JavascriptArray* arrayObject, ScriptContext* scriptContext, BOOL enumNonEnumerable, bool enumSymbols = false)
  20. : JavascriptArraySnapshotEnumerator(arrayObject, scriptContext, enumNonEnumerable, enumSymbols)
  21. {
  22. doneArray = true;
  23. }
  24. virtual void Reset() override
  25. {
  26. __super::Reset();
  27. doneArray = true;
  28. }
  29. };
  30. }