PropertyFlag.cs 892 B

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