chained_call3.gravity 352 B

123456789101112131415161718192021222324252627282930313233343536
  1. #unittest {
  2. name: "Chained call 3.";
  3. result: 2468;
  4. };
  5. func foo(a) {
  6. return a*2;
  7. }
  8. class c3 {
  9. var p1 = 555;
  10. func f1() {
  11. p1 = 666;
  12. return foo;
  13. }
  14. }
  15. class c2 {
  16. var p1 = 333;
  17. func f1() {
  18. p1 = 444;
  19. return c3();
  20. }
  21. }
  22. class c1 {
  23. var p1 = 111;
  24. func f1() {
  25. p1 = 222;
  26. return c2();
  27. }
  28. }
  29. func main() {
  30. return c1().f1().f1().f1()(1234);
  31. }