diff --git a/Test.obn b/Test.obn
index b9b14ae66be8abf069ff9c19ca678ff3e117694d..3c862c1d5917486426e84aa32439b268bb8baf88 100644 (file)
--- a/Test.obn
+++ b/Test.obn
MODULE Test;
TYPE
- Stream* = POINTER TO Handle;
- Handle = RECORD END;
-
- Writer* = RECORD END;
-
- Printer* = RECORD (Writer) END;
+ Object = RECORD
+ mth : PROCEDURE;
+ END;
VAR
- s : Stream;
- o : Writer;
- out : Printer;
+ p : PROCEDURE;
+ o, a : Object;
+
+PROCEDURE X;
+END X;
-PROCEDURE SetStream(VAR w : Writer; stream : Stream);
+PROCEDURE Z(VAR g : Object);
BEGIN
-END SetStream;
+ g.mth;
+END Z;
BEGIN
- SetStream(o, s);
- SetStream(out, s);
+ p := X;
+ ASSERT(p # NIL);
+ o.mth := X;
+ ASSERT(o.mth # NIL);
+ a := o;
+ ASSERT(a.mth # NIL);
+ Z(a);
END Test.