BetterFlagsEnum.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using Terminal.Gui.Analyzers.Internal.Attributes;
  2. namespace Terminal.Gui.Analyzers.Internal.Tests.Generators.EnumExtensions.EnumDefinitions;
  3. /// <summary>
  4. /// Same as <see cref="FlagsEnum"/>, but with <see cref="GenerateEnumExtensionMethodsAttribute"/> applied.
  5. /// </summary>
  6. [Flags]
  7. [GenerateEnumExtensionMethods]
  8. [SuppressMessage ("Naming", "CA1711:Identifiers should not have incorrect suffix", Justification = "Naming is intentional.")]
  9. [SuppressMessage ("Roslynator", "RCS1154:Sort enum members", Justification = "Order is intentional.")]
  10. public enum BetterFlagsEnum
  11. {
  12. Bit31 = -0b_10000000_00000000_00000000_00000000,
  13. Bit30 = 0b_01000000_00000000_00000000_00000000,
  14. Bit29 = 0b_00100000_00000000_00000000_00000000,
  15. Bit28 = 0b_00010000_00000000_00000000_00000000,
  16. Bit27 = 0b_00001000_00000000_00000000_00000000,
  17. Bit26 = 0b_00000100_00000000_00000000_00000000,
  18. Bit25 = 0b_00000010_00000000_00000000_00000000,
  19. Bit24 = 0b_00000001_00000000_00000000_00000000,
  20. Bit23 = -0b_00000000_10000000_00000000_00000000,
  21. Bit22 = 0b_00000000_01000000_00000000_00000000,
  22. Bit21 = 0b_00000000_00100000_00000000_00000000,
  23. Bit20 = 0b_00000000_00010000_00000000_00000000,
  24. Bit19 = 0b_00000000_00001000_00000000_00000000,
  25. Bit18 = 0b_00000000_00000100_00000000_00000000,
  26. Bit17 = 0b_00000000_00000010_00000000_00000000,
  27. Bit16 = 0b_00000000_00000001_00000000_00000000,
  28. Bit15 = -0b_00000000_00000000_10000000_00000000,
  29. Bit14 = 0b_00000000_00000000_01000000_00000000,
  30. Bit13 = 0b_00000000_00000000_00100000_00000000,
  31. Bit12 = 0b_00000000_00000000_00010000_00000000,
  32. Bit11 = 0b_00000000_00000000_00001000_00000000,
  33. Bit10 = 0b_00000000_00000000_00000100_00000000,
  34. Bit09 = 0b_00000000_00000000_00000010_00000000,
  35. Bit08 = 0b_00000000_00000000_00000001_00000000,
  36. Bit07 = -0b_00000000_00000000_00000000_10000000,
  37. Bit06 = 0b_00000000_00000000_00000000_01000000,
  38. Bit05 = 0b_00000000_00000000_00000000_00100000,
  39. Bit04 = 0b_00000000_00000000_00000000_00010000,
  40. Bit03 = 0b_00000000_00000000_00000000_00001000,
  41. Bit02 = 0b_00000000_00000000_00000000_00000100,
  42. Bit01 = 0b_00000000_00000000_00000000_00000010,
  43. Bit00 = 0b_00000000_00000000_00000000_00000001,
  44. All_0 = 0,
  45. All_1 = ~All_0,
  46. Alternating_01 = 0b_01010101_01010101_01010101_01010101,
  47. Alternating_10 = ~Alternating_01,
  48. EvenBytesHigh = 0b_00000000_11111111_00000000_11111111,
  49. OddBytesHigh = ~EvenBytesHigh,
  50. }