superclass_chain.gravity 377 B

1234567891011121314151617181920212223242526272829
  1. #unittest {
  2. name: "Superclass init call chain.";
  3. result: 1110;
  4. };
  5. var g = 0;
  6. class Parent {
  7. func init() {
  8. g += 1000;
  9. }
  10. }
  11. class Child:Parent {
  12. func init() {
  13. g += 100;
  14. super.init();
  15. }
  16. }
  17. class Grandchild:Child {
  18. func init() {
  19. g += 10;
  20. super.init();
  21. }
  22. }
  23. func main() {
  24. var node = Grandchild();
  25. return g;
  26. }