JavascriptReflect.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 EntryGet(RecyclableObject* function, CallInfo callInfo, ...);
  37. static Var EntryGetOwnPropertyDescriptor(RecyclableObject* function, CallInfo callInfo, ...);
  38. static Var EntryGetPrototypeOf(RecyclableObject* function, CallInfo callInfo, ...);
  39. static Var EntryHas(RecyclableObject* function, CallInfo callInfo, ...);
  40. static Var EntryIsExtensible(RecyclableObject* function, CallInfo callInfo, ...);
  41. static Var EntryOwnKeys(RecyclableObject* function, CallInfo callInfo, ...);
  42. static Var EntryPreventExtensions(RecyclableObject* function, CallInfo callInfo, ...);
  43. static Var EntrySet(RecyclableObject* function, CallInfo callInfo, ...);
  44. static Var EntrySetPrototypeOf(RecyclableObject* function, CallInfo callInfo, ...);
  45. static Var EntryApply(RecyclableObject* function, CallInfo callInfo, ...);
  46. static Var EntryConstruct(RecyclableObject* function, CallInfo callInfo, ...);
  47. };
  48. }