JavascriptReflect.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. // Implements Reflect object.
  6. //----------------------------------------------------------------------------
  7. #pragma once
  8. namespace Js
  9. {
  10. // Reflect object is an ordinary object; we just need to provide a place holder for all
  11. // the static entry points.
  12. class JavascriptReflect
  13. {
  14. protected:
  15. public:
  16. class EntryInfo
  17. {
  18. public:
  19. static FunctionInfo DefineProperty;
  20. static FunctionInfo DeleteProperty;
  21. static FunctionInfo Enumerate;
  22. static FunctionInfo Get;
  23. static FunctionInfo GetOwnPropertyDescriptor;
  24. static FunctionInfo GetPrototypeOf;
  25. static FunctionInfo Has;
  26. static FunctionInfo IsExtensible;
  27. static FunctionInfo OwnKeys;
  28. static FunctionInfo PreventExtensions;
  29. static FunctionInfo Set;
  30. static FunctionInfo SetPrototypeOf;
  31. static FunctionInfo Apply;
  32. static FunctionInfo Construct;
  33. };
  34. static Var EntryDefineProperty(RecyclableObject* function, CallInfo callInfo, ...);
  35. static Var EntryDeleteProperty(RecyclableObject* function, CallInfo callInfo, ...);
  36. static Var EntryEnumerate(RecyclableObject* function, CallInfo callInfo, ...);
  37. static Var EntryGet(RecyclableObject* function, CallInfo callInfo, ...);
  38. static Var EntryGetOwnPropertyDescriptor(RecyclableObject* function, CallInfo callInfo, ...);
  39. static Var EntryGetPrototypeOf(RecyclableObject* function, CallInfo callInfo, ...);
  40. static Var EntryHas(RecyclableObject* function, CallInfo callInfo, ...);
  41. static Var EntryIsExtensible(RecyclableObject* function, CallInfo callInfo, ...);
  42. static Var EntryOwnKeys(RecyclableObject* function, CallInfo callInfo, ...);
  43. static Var EntryPreventExtensions(RecyclableObject* function, CallInfo callInfo, ...);
  44. static Var EntrySet(RecyclableObject* function, CallInfo callInfo, ...);
  45. static Var EntrySetPrototypeOf(RecyclableObject* function, CallInfo callInfo, ...);
  46. static Var EntryApply(RecyclableObject* function, CallInfo callInfo, ...);
  47. static Var EntryConstruct(RecyclableObject* function, CallInfo callInfo, ...);
  48. };
  49. }