X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=Test.obn;h=8aea2558a93efbec45e4a9117831ef6c41a9542a;hb=5d57ba4284b2808e0de685dcf3a7f78e477bc548;hp=3c862c1d5917486426e84aa32439b268bb8baf88;hpb=10288ed60f876a14746b17976fd9d84ed58042cc;p=dsw-obn.git diff --git a/Test.obn b/Test.obn index 3c862c1..8aea255 100644 --- a/Test.obn +++ b/Test.obn @@ -1,28 +1,17 @@ MODULE Test; TYPE - Object = RECORD - mth : PROCEDURE; - END; + Elem = POINTER TO ElemDesc; + ElemDesc = RECORD END; -VAR - p : PROCEDURE; - o, a : Object; + ElemMsg = RECORD END; + CopyMsg = RECORD (ElemMsg) a : Elem; END; -PROCEDURE X; -END X; + Alien = POINTER TO RECORD (ElemDesc) END; -PROCEDURE Z(VAR g : Object); +PROCEDURE HandleAlien (VAR msg: ElemMsg); BEGIN - g.mth; -END Z; + WITH msg: CopyMsg DO msg.a := NIL END +END HandleAlien; -BEGIN - p := X; - ASSERT(p # NIL); - o.mth := X; - ASSERT(o.mth # NIL); - a := o; - ASSERT(a.mth # NIL); - Z(a); END Test.