| 12345678910111213141516171819202122232425 |
- MODULE TChain;
- (* Chained post-call method call on a class result (`Mk(7).Get()`) and a
- field of a class result (`Mk(8).x`). Exit 42. *)
- VAR ExitCode, got : INTEGER;
- TYPE
- CLASS C;
- x : INTEGER;
- PROCEDURE Get () : INTEGER;
- END C;
- CLASS IMPLEMENTATION C;
- PROCEDURE Get () : INTEGER; BEGIN RETURN x END Get;
- END C;
- PROCEDURE Mk (v : INTEGER) : C;
- VAR q : C;
- BEGIN q.x := v; RETURN q END Mk;
- BEGIN
- got := 0;
- IF Mk(7).Get() = 7 THEN INC(got) END;
- IF Mk(8).x = 8 THEN INC(got) END;
- IF got = 2 THEN ExitCode := 42 ELSE ExitCode := got END
- END TChain.
|