X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=Test.obn;h=3c862c1d5917486426e84aa32439b268bb8baf88;hb=8620d81a0d78c987b250a7a471d76d96af461846;hp=b80d7a15c3a490308c7b343ab2843e710f22efde;hpb=49ad3c76fc9656759aab23d9034ebc33f8d8bd9d;p=dsw-obn.git diff --git a/Test.obn b/Test.obn index b80d7a1..3c862c1 100644 --- a/Test.obn +++ b/Test.obn @@ -1,22 +1,28 @@ MODULE Test; TYPE - R1 = RECORD END; - R2 = RECORD (R1) END; - R3 = RECORD END; - - P1 = POINTER TO R1; - P2 = POINTER TO R2; + Object = RECORD + mth : PROCEDURE; + END; VAR - a : R1; - b : R2; - c : R3; - p1 : P1; - p2 : P2; + p : PROCEDURE; + o, a : Object; + +PROCEDURE X; +END X; + +PROCEDURE Z(VAR g : Object); +BEGIN + g.mth; +END Z; BEGIN - a := b; - p2 := p1(P2); - p1 := p2(P2); + p := X; + ASSERT(p # NIL); + o.mth := X; + ASSERT(o.mth # NIL); + a := o; + ASSERT(a.mth # NIL); + Z(a); END Test.