diff --git a/Test.obn b/Test.obn
index f5f060074bc991c58ed398d78be0dd3e5c5ed6be..3c862c1d5917486426e84aa32439b268bb8baf88 100644 (file)
--- a/Test.obn
+++ b/Test.obn
MODULE Test;
-IMPORT SYSTEM, Out;
+TYPE
+ Object = RECORD
+ mth : PROCEDURE;
+ END;
VAR
- i : INTEGER;
+ p : PROCEDURE;
+ o, a : Object;
+
+PROCEDURE X;
+END X;
+
+PROCEDURE Z(VAR g : Object);
+BEGIN
+ g.mth;
+END Z;
BEGIN
- i := -32;
- Out.Int(SYSTEM.LSH(i, -5), 0); Out.Char(" "); Out.Int(SYSTEM.LSH(-32, -5), 0); Out.Ln;
- ASSERT(SYSTEM.LSH(i, -5) = SYSTEM.LSH(-32, -5));
+ p := X;
+ ASSERT(p # NIL);
+ o.mth := X;
+ ASSERT(o.mth # NIL);
+ a := o;
+ ASSERT(a.mth # NIL);
+ Z(a);
END Test.