X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=Test.obn;h=3c862c1d5917486426e84aa32439b268bb8baf88;hb=8620d81a0d78c987b250a7a471d76d96af461846;hp=3c869eab01977277c2f1c68f2cbc88b4f80319ea;hpb=789adb9354da345b13aa284f3f4f8f1046cadbc4;p=dsw-obn.git diff --git a/Test.obn b/Test.obn index 3c869ea..3c862c1 100644 --- a/Test.obn +++ b/Test.obn @@ -1,19 +1,28 @@ MODULE Test; -IMPORT SYSTEM, Out; +TYPE + Object = RECORD + mth : PROCEDURE; + END; VAR - i, j : INTEGER; + p : PROCEDURE; + o, a : Object; -BEGIN - i := 1; - j := -32; - Out.Int(SYSTEM.ROT(i, -1), 0); Out.String(" = "); Out.Int(SYSTEM.ROT(1, -1), 0); Out.Ln; - Out.Int(SYSTEM.ROT(i, 1), 0); Out.String(" = "); Out.Int(SYSTEM.ROT(1, 1), 0); Out.Ln; - Out.Int(SYSTEM.ROT(j, -1), 0); Out.String(" = "); Out.Int(SYSTEM.ROT(-32, -1), 0); Out.Ln; - Out.Int(SYSTEM.ROT(j, 1), 0); Out.String(" = "); Out.Int(SYSTEM.ROT(-32, 1), 0); Out.Ln; +PROCEDURE X; +END X; - ASSERT(SYSTEM.ROT(i, -1) = SYSTEM.ROT(1, -1)); +PROCEDURE Z(VAR g : Object); +BEGIN + g.mth; +END Z; - ASSERT(SYSTEM.ROT(i, 1) = SYSTEM.ROT(1, 1)); +BEGIN + p := X; + ASSERT(p # NIL); + o.mth := X; + ASSERT(o.mth # NIL); + a := o; + ASSERT(a.mth # NIL); + Z(a); END Test.