JavascriptStringIterator.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  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. class JavascriptStringIterator : public DynamicObject
  9. {
  10. private:
  11. JavascriptString* m_string;
  12. charcount_t m_nextIndex;
  13. protected:
  14. DEFINE_VTABLE_CTOR(JavascriptStringIterator, DynamicObject);
  15. DEFINE_MARSHAL_OBJECT_TO_SCRIPT_CONTEXT(JavascriptStringIterator);
  16. public:
  17. JavascriptStringIterator(DynamicType* type, JavascriptString* string);
  18. static bool Is(Var aValue);
  19. static JavascriptStringIterator* FromVar(Var aValue);
  20. class EntryInfo
  21. {
  22. public:
  23. static FunctionInfo Next;
  24. };
  25. static Var EntryNext(RecyclableObject* function, CallInfo callInfo, ...);
  26. public:
  27. JavascriptString* GetStringForHeapEnum() { return m_string; }
  28. };
  29. } // namespace Js