PropertyFlag.cs 986 B

123456789101112131415161718192021222324252627282930
  1. namespace Jint.Runtime.Descriptors
  2. {
  3. [Flags]
  4. public enum PropertyFlag
  5. {
  6. None = 0,
  7. Enumerable = 1,
  8. EnumerableSet = 2,
  9. Writable = 4,
  10. WritableSet = 8,
  11. Configurable = 16,
  12. ConfigurableSet = 32,
  13. CustomJsValue = 256,
  14. // we can check for mutable binding and do some fast assignments
  15. MutableBinding = 512,
  16. // mark PropertyDescriptor as non data to accelerate IsDataDescriptor and avoid the side effect of CustomValue
  17. NonData = 1024,
  18. // common helpers
  19. AllForbidden = ConfigurableSet | EnumerableSet | WritableSet,
  20. ConfigurableEnumerableWritable = Configurable | Enumerable | Writable,
  21. NonConfigurable = ConfigurableSet | Enumerable | Writable,
  22. OnlyEnumerable = Enumerable | ConfigurableSet | WritableSet,
  23. NonEnumerable = Configurable | EnumerableSet | Writable,
  24. OnlyWritable = EnumerableSet | Writable | ConfigurableSet
  25. }
  26. }