<> <> <> <> DIRECTORY Commander USING[Register, CommandProc], IO, StdCorpse5OpaqueTest USING[OpaqueRef, MakeNewOpaqueRef], PFS USING[PATH, PathFromRope], RefTab, Rope; StdCorpse5: CEDAR PROGRAM IMPORTS Commander, IO, StdCorpse5OpaqueTest, PFS, RefTab = BEGIN Zorch: TYPE ~ REF Zorch; z0: Zorch _ NIL; z1: Zorch _ NEW[Zorch _ z0]; z2: Zorch _ NEW[Zorch _ z1]; Test: Commander.CommandProc = { linein: IO.STREAM ~ IO.RIS[cmd.commandLine]; rope: Rope.ROPE ~ IO.GetTokenRope[linein, IO.IDProc].token; name: PFS.PATH ~ PFS.PathFromRope[rope]; ERROR}; DoOpaqueTest: Commander.CommandProc ~ { path: PFS.PATH _ PFS.PathFromRope["This/is/a/test/path/for/opaque/types/in/OpaqueTestTester.mesa"]; var: StdCorpse5OpaqueTest.OpaqueRef _ StdCorpse5OpaqueTest.MakeNewOpaqueRef[]; reftab: RefTab.Ref _ RefTab.Create[]; a: INT _ 19; [] _ RefTab.Insert[reftab, path, NEW[INT _ a]]; [] _ RefTab.Fetch[reftab, path]; a _ a + 23; }; Commander.Register["StdCorpse5.Test", Test, "Raise the unnamed ERROR"]; Commander.Register["StdCorpse5.DoOpaqueTest", DoOpaqueTest, "Test REF and OPAQUE types"]; END.