diff --git a/Test.obn b/Test.obn
index 3c862c1d5917486426e84aa32439b268bb8baf88..ecfde58b9f0e5fadb5eb6a9a884a62ede7a56351 100644 (file)
--- a/Test.obn
+++ b/Test.obn
MODULE Test;
TYPE
- Object = RECORD
- mth : PROCEDURE;
- END;
+ A = POINTER TO RECORD B : B; END;
-VAR
- p : PROCEDURE;
- o, a : Object;
+ B = POINTER TO RECORD x : A END;
-PROCEDURE X;
-END X;
+VAR
+ a : A;
-PROCEDURE Z(VAR g : Object);
+PROCEDURE Do;
+ TYPE
+ ListPtr = POINTER TO ListNode;
+ ListNode = RECORD next: ListPtr END;
BEGIN
- g.mth;
-END Z;
+END Do;
BEGIN
- p := X;
- ASSERT(p # NIL);
- o.mth := X;
- ASSERT(o.mth # NIL);
- a := o;
- ASSERT(a.mth # NIL);
- Z(a);
+ NEW(a);
+ a.B := NIL;
END Test.