Main.hx 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. class Main {
  2. static function main() {
  3. final base:NullChild = {};
  4. final base:BaseEmpty = {};
  5. final base:ChildEmpty = {};
  6. final base:Base = {};
  7. final child:Child = {base: 200, child: 100};
  8. final child:Child = {child: 100};
  9. final child:OptionalChild = {};
  10. final child:OptionalEmptyChild = {};
  11. final child:FatChild = {};
  12. final child:FatEmptyChild = {};
  13. }
  14. }
  15. @:structInit
  16. class BaseNullEmpty {
  17. final base:Null<Int>;
  18. }
  19. @:structInit
  20. class NullChild extends BaseNullEmpty {
  21. @:optional final child: Int;
  22. }
  23. @:structInit
  24. class BaseEmpty {
  25. final base:Int;
  26. }
  27. @:structInit
  28. class Base {
  29. final base = 0;
  30. }
  31. @:structInit
  32. class OptionalChild extends Base {
  33. @:optional final child: Int;
  34. }
  35. @:structInit
  36. class OptionalEmptyChild extends BaseEmpty {
  37. @:optional final child: Int;
  38. }
  39. @:structInit
  40. class Child extends Base {
  41. final child: Int;
  42. }
  43. @:structInit
  44. class ChildEmpty extends BaseEmpty {
  45. final child: Int;
  46. }
  47. @:structInit
  48. class FatChild extends Child {
  49. final fatChild: Int;
  50. }
  51. @:structInit
  52. class FatEmptyChild extends ChildEmpty {
  53. final fatChild: Int;
  54. }