DEADSOFTWARE

Исправлено действие конструкции WITH
[dsw-obn.git] / Test.obn
index 4bde081725ba53658bd7868205734120600492d7..8aea2558a93efbec45e4a9117831ef6c41a9542a 100644 (file)
--- a/Test.obn
+++ b/Test.obn
@@ -1,23 +1,17 @@
 MODULE Test;
 
-IMPORT Out;
+TYPE
+  Elem = POINTER TO ElemDesc;
+  ElemDesc = RECORD END;
 
-BEGIN
-  IF "abc" = "abc" THEN
-    Out.String("Equal abc = abc"); Out.Ln;
-  ELSE
-    Out.String("WAT: MUST BE abc = abc"); Out.Ln;
-  END;
+  ElemMsg = RECORD END;
+  CopyMsg = RECORD (ElemMsg) a : Elem; END;
+
+  Alien = POINTER TO RECORD (ElemDesc) END;
 
-  IF "cba" > "abc" THEN
-    Out.String("Great cba > abc"); Out.Ln;
-  ELSE
-    Out.String("WAT: MUST BE cba = abc"); Out.Ln;
-  END;
+PROCEDURE HandleAlien (VAR msg: ElemMsg);
+BEGIN
+  WITH msg: CopyMsg DO msg.a := NIL END
+END HandleAlien;
 
-  IF "abc" < "bc" THEN
-    Out.String("Less abc < bc"); Out.Ln;
-  ELSE
-    Out.String("WAT: MUST BE abc < bc"); Out.Ln;
-  END;
 END Test.