summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/tbs/tb0513.pp
blob: a7e2826732dc622c353504d3625c6e2c9bceaca6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{ original: peter5c.pas from the GNU Pascal testsuite }

{$mode macpas}

program peter5c(output);

   type
     ObjectA = object
       procedure Doit;
     end;
     ObjectB = object
       obj: ObjectA;
       function GetA: ObjectA;
     end;

var
   ok: boolean;

   procedure ObjectA.Doit;
   begin
     WriteLn( 'OK' );
     ok := true;
   end;

   function ObjectB.GetA: ObjectA;
   begin
     return obj;
   end;

var
   a: ObjectA;
   b: ObjectB;
begin
   New(a);
   New(b);
   b.obj := a;
   b.GetA.Doit;
   if not ok then
     halt(1);
end.