DIRECTORY Cmplr6Prog0, OSOps, RunRegressions, XMesaProcs; XMesaCmplr15: PROGRAM IMPORTS RunRegressions, OSOps, XMesaProcs = BEGIN filename: LONG STRING _ "XMesaCmplr15"L; XMesaCall15: PROCEDURE = { XMesaProcs.PrintCR; XMesaProcs.PrintS[filename]; XMesaProcs.PrintCR; XMesa15a[]; -- Importing PROGRAM modules XMesa15d[]; -- VARIANT RECORD's XMesaProcs.PrintS["Done"L]; XMesaProcs.PrintCR; }; --end of XMesaCall5 XMesa15a: PROCEDURE = { --Importing PROGRAM modules XProg1Types: LONG POINTER TO FRAME[Cmplr6Prog0] = NIL; var1: XProg1Types.Prog0Type1 ¬ [-100, TRUE]; IF var1.x # -100 THEN XMesaProcs.PutFailMessage[3500, filename]; IF var1.y # TRUE THEN XMesaProcs.PutFailMessage[3510, filename]; }; XMesa15d: PROCEDURE = { -- VARIANT RECORDs z: UNCOUNTED ZONE = OSOps.GetSystemUZone[]; VRec: TYPE = RECORD [ common: INTEGER _ 0, variant: SELECT tag: * FROM red => [r1: BOOL _ FALSE], green => [g1: INTEGER _ 0] ENDCASE _ red[TRUE] | NULL]; v: VRec; v1: VRec _ [common: 10]; v2: VRec _ [variant: NULL]; rv: red VRec; gv: green VRec; XMesaProcs.Isequal[v.common, 0, 3100, filename]; WITH any: v SELECT FROM red => XMesaProcs.Isboolequal[any.r1, TRUE, 3110, filename]; ENDCASE; XMesaProcs.Isequal[v1.common, 10, 3120, filename]; WITH any: v1 SELECT FROM red => XMesaProcs.Isboolequal[any.r1, TRUE, 3130, filename]; ENDCASE; XMesaProcs.Isequal[v2.common, 0, 3140, filename]; XMesaProcs.Isequal[rv.common, 0, 3150, filename]; XMesaProcs.Isboolequal[rv.r1, FALSE, 3160, filename]; XMesaProcs.Isequal[gv.common, 0, 3170, filename]; XMesaProcs.Isequal[gv.g1, 0, 3180, filename]; }; RunRegressions.RegisterTest[XMesaCall15, "test15"]; END...  File: XMesaCmplr15.mesa - created by MW. Last edit: JKF 1-Jul-87 16:41:36 MW 13-Apr-87 9:37:07 NFS 8-May-87 11:32:08 Procedure XMesa5b Mna, April 17, 1991 3:19 pm PDT Copyright (C) 1987 by Xerox Corporation. All rights reserved. Other data types and storage management This module tests defaulted item initialization, so this module must be compiled with uninitialized variable checking off declaring variant records overlaid records default and variant records mainline Êi•NewlineDelimiter ™J™3J™&J™'J™*J™J˜J™=J˜J™'J˜šÏk ˜ J˜ J˜J˜J˜ J˜—šÏn œœœ$˜AJš˜J˜J™PJ™(J˜Jšœ œœ˜(J˜Jšž œ œ˜˜J˜J˜J˜J˜Jšœ Ïc˜*Jšœ Ÿ˜!J˜J˜J˜J˜JšœŸ˜J˜J˜—šžœ œŸ˜4Jš ž œœœœœœ˜6Jšœ&œ˜,J˜Jšœœ+˜@Jšœ œœ+˜@J˜J˜J˜—šžœ œŸ˜+Jšœ œœ˜+J™J™šœœœ˜Jšœœ˜šœ œ˜Jšœ œœ˜Jšœœ˜Jšœœ˜Jšœ˜——J˜J˜Jšœœ˜J˜ J˜J˜J™J˜0šœœ˜Jšœ&œ˜