diff --git a/Test.obn b/Test.obn
index e0445949bf94c9233425839d2dfd602e22e70243..3c862c1d5917486426e84aa32439b268bb8baf88 100644 (file)
--- a/Test.obn
+++ b/Test.obn
MODULE Test;
-IMPORT Out;
-
TYPE
- P1 = POINTER TO R1;
- P2 = POINTER TO R2;
- P3 = POINTER TO R3;
-
- R1 = RECORD END;
- R2 = RECORD (R1) END;
- R3 = RECORD (R2) END;
+ Object = RECORD
+ mth : PROCEDURE;
+ END;
VAR
- r : P1;
+ p : PROCEDURE;
+ o, a : Object;
+
+PROCEDURE X;
+END X;
+PROCEDURE Z(VAR g : Object);
BEGIN
- NEW(r);
- Out.Open;
- WITH r : P1 DO
- Out.String("R1"); Out.Ln;
- END;
+ 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.