Main2.hx 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. typedef PrivateVariationsType = {
  2. var privateBoth(private get, private set):Int;
  3. var privateGetSet(private get, set):Int;
  4. var getPrivateSet(get, private set):Int;
  5. var defaultPrivateSet(default, private set):Int;
  6. var getNever(get, never):Int;
  7. }
  8. class PrivateVariations {
  9. public function new() {}
  10. var privateBoth(private get, private set):Int;
  11. public var privateGetSet(private get, set):Int;
  12. public var getPrivateSet(get, private set):Int;
  13. public var defaultPrivateSet(default, private set):Int;
  14. static var sprivateBoth(private get, private set):Int;
  15. static public var sprivateGetSet(private get, set):Int;
  16. static public var sgetPrivateSet(get, private set):Int;
  17. static public var sdefaultPrivateSet(default, private set):Int;
  18. function set_privateBoth(v):Int return 0;
  19. function get_privateBoth():Int return 0;
  20. function set_privateGetSet(v):Int return 0;
  21. function get_privateGetSet():Int return 0;
  22. function set_getPrivateSet(v):Int return 0;
  23. function get_getPrivateSet():Int return 0;
  24. function set_defaultPrivateSet(v):Int return 0;
  25. static function set_sprivateBoth(v):Int return 0;
  26. static function get_sprivateBoth():Int return 0;
  27. static function set_sprivateGetSet(v):Int return 0;
  28. static function get_sprivateGetSet():Int return 0;
  29. static function set_sgetPrivateSet(v):Int return 0;
  30. static function get_sgetPrivateSet():Int return 0;
  31. static function set_sdefaultPrivateSet(v):Int return 0;
  32. }
  33. class CheckVariations {
  34. static function main() {
  35. final type:PrivateVariationsType = null;
  36. type.getNever = 1; // err
  37. type.getPrivateSet;
  38. type.getPrivateSet = 1; // err
  39. type.getPrivateSet += 1; // err
  40. type.getPrivateSet++; // err
  41. type.privateGetSet; // err
  42. type.privateGetSet = 1;
  43. type.privateGetSet += 1; // err (reading)
  44. type.privateGetSet++; // err (reading)
  45. type.privateBoth; // err
  46. type.privateBoth = 1; // err
  47. type.privateBoth += 1; // err
  48. type.privateBoth++; // err
  49. @:privateAccess type.privateBoth;
  50. @:privateAccess type.privateBoth = 1;
  51. @:privateAccess type.privateBoth += 1;
  52. @:privateAccess type.privateBoth++;
  53. @:bypassAccessor type.privateBoth; // err
  54. @:bypassAccessor type.privateBoth = 1; // err
  55. @:bypassAccessor type.privateBoth += 1; // err
  56. @:bypassAccessor type.privateBoth++; // err
  57. type.defaultPrivateSet;
  58. type.defaultPrivateSet = 1; // err
  59. type.defaultPrivateSet += 1; // err
  60. type.defaultPrivateSet++; // err
  61. @:privateAccess type.defaultPrivateSet = 1;
  62. @:privateAccess type.defaultPrivateSet += 1;
  63. @:privateAccess type.defaultPrivateSet++;
  64. @:bypassAccessor type.defaultPrivateSet = 1;
  65. @:bypassAccessor type.defaultPrivateSet += 1;
  66. @:bypassAccessor type.defaultPrivateSet++;
  67. final vars = new PrivateVariations();
  68. vars.getPrivateSet;
  69. vars.getPrivateSet = 1; // err
  70. vars.getPrivateSet += 1; // err
  71. vars.getPrivateSet++; // err
  72. vars.privateGetSet; // err
  73. vars.privateGetSet = 1;
  74. vars.privateGetSet += 1; // err (reading)
  75. vars.privateGetSet++; // err (reading)
  76. vars.privateBoth; // err
  77. vars.privateBoth = 1; // err
  78. vars.privateBoth += 1; // err
  79. vars.privateBoth++; // err
  80. @:privateAccess vars.privateBoth;
  81. @:privateAccess vars.privateBoth = 1;
  82. @:privateAccess vars.privateBoth += 1;
  83. @:privateAccess vars.privateBoth++;
  84. vars.defaultPrivateSet;
  85. vars.defaultPrivateSet = 1; // err
  86. vars.defaultPrivateSet += 1; // err
  87. vars.defaultPrivateSet++; // err
  88. @:privateAccess vars.defaultPrivateSet = 1;
  89. @:privateAccess vars.defaultPrivateSet += 1;
  90. @:privateAccess vars.defaultPrivateSet++;
  91. @:bypassAccessor vars.defaultPrivateSet = 1;
  92. @:bypassAccessor vars.defaultPrivateSet += 1;
  93. @:bypassAccessor vars.defaultPrivateSet++;
  94. PrivateVariations.sgetPrivateSet;
  95. PrivateVariations.sgetPrivateSet = 1; // err
  96. PrivateVariations.sgetPrivateSet += 1; // err
  97. PrivateVariations.sgetPrivateSet++; // err
  98. PrivateVariations.sprivateGetSet; // err
  99. PrivateVariations.sprivateGetSet = 1;
  100. PrivateVariations.sprivateGetSet += 1; // err (reading)
  101. PrivateVariations.sprivateGetSet++; // err (reading)
  102. PrivateVariations.sprivateBoth; // err
  103. PrivateVariations.sprivateBoth = 1; // err
  104. PrivateVariations.sprivateBoth += 1; // err
  105. PrivateVariations.sprivateBoth++; // err
  106. @:privateAccess PrivateVariations.sprivateBoth;
  107. @:privateAccess PrivateVariations.sprivateBoth = 1;
  108. @:privateAccess PrivateVariations.sprivateBoth += 1;
  109. @:privateAccess PrivateVariations.sprivateBoth++;
  110. PrivateVariations.sdefaultPrivateSet;
  111. PrivateVariations.sdefaultPrivateSet = 1; // err
  112. PrivateVariations.sdefaultPrivateSet += 1; // err
  113. PrivateVariations.sdefaultPrivateSet++; // err
  114. @:privateAccess PrivateVariations.sdefaultPrivateSet = 1;
  115. @:privateAccess PrivateVariations.sdefaultPrivateSet += 1;
  116. @:privateAccess PrivateVariations.sdefaultPrivateSet++;
  117. @:bypassAccessor PrivateVariations.sdefaultPrivateSet = 1;
  118. @:bypassAccessor PrivateVariations.sdefaultPrivateSet += 1;
  119. @:bypassAccessor PrivateVariations.sdefaultPrivateSet++;
  120. }
  121. }