diff --git a/Test.obn b/Test.obn
index 3c869eab01977277c2f1c68f2cbc88b4f80319ea..3c862c1d5917486426e84aa32439b268bb8baf88 100644 (file)
--- a/Test.obn
+++ b/Test.obn
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.