X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=Test.obn;h=3c862c1d5917486426e84aa32439b268bb8baf88;hb=10288ed60f876a14746b17976fd9d84ed58042cc;hp=4bde081725ba53658bd7868205734120600492d7;hpb=75d0fd92a5342358f37ed9369ccce9355273e51a;p=dsw-obn.git diff --git a/Test.obn b/Test.obn index 4bde081..3c862c1 100644 --- a/Test.obn +++ b/Test.obn @@ -1,23 +1,28 @@ MODULE Test; -IMPORT Out; - -BEGIN - IF "abc" = "abc" THEN - Out.String("Equal abc = abc"); Out.Ln; - ELSE - Out.String("WAT: MUST BE abc = abc"); Out.Ln; +TYPE + Object = RECORD + mth : PROCEDURE; END; - IF "cba" > "abc" THEN - Out.String("Great cba > abc"); Out.Ln; - ELSE - Out.String("WAT: MUST BE cba = abc"); Out.Ln; - END; +VAR + p : PROCEDURE; + o, a : Object; - IF "abc" < "bc" THEN - Out.String("Less abc < bc"); Out.Ln; - ELSE - Out.String("WAT: MUST BE abc < bc"); Out.Ln; - END; +PROCEDURE X; +END X; + +PROCEDURE Z(VAR g : Object); +BEGIN + g.mth; +END Z; + +BEGIN + p := X; + ASSERT(p # NIL); + o.mth := X; + ASSERT(o.mth # NIL); + a := o; + ASSERT(a.mth # NIL); + Z(a); END Test.