duplicate_postfix.gravity 593 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #unittest {
  2. name: "Duplicate node postfix.";
  3. result: 420;
  4. };
  5. class Point {
  6. public var x;
  7. public var y;
  8. }
  9. class Size {
  10. public var width;
  11. public var height;
  12. }
  13. class Rect {
  14. public var origin;
  15. public var size;
  16. }
  17. class Oval {
  18. public var frame;
  19. public func sum() {
  20. return frame.origin.x + frame.origin.y + frame.size.width + frame.size.height;
  21. }
  22. }
  23. func main() {
  24. var p = Point();
  25. p.x = 10;
  26. p.y = 20;
  27. var s = Size();
  28. s.width = 100;
  29. s.height = 200;
  30. var r = Rect();
  31. r.origin = p;
  32. r.size = s;
  33. var o = Oval();
  34. o.frame = r;
  35. o.frame.origin.x += 90;
  36. return o.sum();
  37. }