X-Git-Url: https://deadsoftware.ru/gitweb?p=dsw-obn.git;a=blobdiff_plain;f=Test.obn;h=3c862c1d5917486426e84aa32439b268bb8baf88;hp=b9b14ae66be8abf069ff9c19ca678ff3e117694d;hb=10288ed60f876a14746b17976fd9d84ed58042cc;hpb=57963798c338b0b73e032e9288003fd462f8b954 diff --git a/Test.obn b/Test.obn index b9b14ae..3c862c1 100644 --- a/Test.obn +++ b/Test.obn @@ -1,23 +1,28 @@ MODULE Test; TYPE - Stream* = POINTER TO Handle; - Handle = RECORD END; - - Writer* = RECORD END; - - Printer* = RECORD (Writer) END; + Object = RECORD + mth : PROCEDURE; + END; VAR - s : Stream; - o : Writer; - out : Printer; + p : PROCEDURE; + o, a : Object; + +PROCEDURE X; +END X; -PROCEDURE SetStream(VAR w : Writer; stream : Stream); +PROCEDURE Z(VAR g : Object); BEGIN -END SetStream; + g.mth; +END Z; BEGIN - SetStream(o, s); - SetStream(out, s); + p := X; + ASSERT(p # NIL); + o.mth := X; + ASSERT(o.mth # NIL); + a := o; + ASSERT(a.mth # NIL); + Z(a); END Test.