diff --git a/Test.obn b/Test.obn
index b80d7a15c3a490308c7b343ab2843e710f22efde..3c862c1d5917486426e84aa32439b268bb8baf88 100644 (file)
--- a/Test.obn
+++ b/Test.obn
MODULE Test;
TYPE
MODULE Test;
TYPE
- R1 = RECORD END;
- R2 = RECORD (R1) END;
- R3 = RECORD END;
-
- P1 = POINTER TO R1;
- P2 = POINTER TO R2;
+ Object = RECORD
+ mth : PROCEDURE;
+ END;
VAR
VAR
- a : R1;
- b : R2;
- c : R3;
- p1 : P1;
- p2 : P2;
+ p : PROCEDURE;
+ o, a : Object;
+
+PROCEDURE X;
+END X;
+
+PROCEDURE Z(VAR g : Object);
+BEGIN
+ g.mth;
+END Z;
BEGIN
BEGIN
- a := b;
- p2 := p1(P2);
- p1 := p2(P2);
+ p := X;
+ ASSERT(p # NIL);
+ o.mth := X;
+ ASSERT(o.mth # NIL);
+ a := o;
+ ASSERT(a.mth # NIL);
+ Z(a);
END Test.
END Test.