MDebugDefs.mesa
Edited by Bruce, October 14, 1980 4:17 PM
Edited by Sweet, 22-Nov-81 17:21:24
Sweet June 2, 1986 10:25:13 am PDT
DIRECTORY
Buttons,
CodeDefs,
Containers,
IO,
Labels,
ListerUtils,
Menus,
Rope,
Symbols USING [ContextLevel, ISEIndex, ISENull],
Table USING [Base, chunkType, Selector],
ViewerClasses;
MDebugDefs: DEFINITIONS =
BEGIN OPEN CodeDefs;
NumberCell, TextCell: TYPE = ViewerClasses.Viewer;
Cmd: TYPE = Buttons.Button;
ROPE: TYPE = Rope.ROPE;
BYTE: TYPE = [0..256);
DataRec: TYPE = RECORD [
outer: Containers.Container ← NIL,
msg: Labels.Label,
cmd: CommandViewer,  -- the commands
ts: ViewerClasses.Viewer, -- the typescript
in, out: IO.STREAM,
opData: ListerUtils.OpCodeArray,
height: INT ← 0,
showLinks: REF BOOL,
infoVar: REF UNSPECIFIED,
stopFlag: BOOLEANFALSE,
lastId: Symbols.ISEIndex ← Symbols.ISENull,
charsOnLine: INT ← 0,
dying: BOOLFALSE,
en: INT
];
CommandViewer: TYPE = RECORD [
dVal: NumberCell];
CmdIndex: TYPE = {tree, lbl, lii, mdi, hti, cti, bti, sei, nextse, rep, body, stmt, expr, gFrames, source, stop};
Handle: TYPE = REF DataRec;
from MDebugInterface
MDebugInterface: PROGRAM;
GetSelectionValue: PROCEDURE [h: Handle] RETURNS [val: UNSPECIFIED];
GetLongSelectionValue: PROCEDURE [h: Handle] RETURNS [val: INT];
CellCard: PROC [handle: Handle, n: NumberCell] RETURNS [CARDINAL];
from MDebugCommands
MDebugCommands: PROGRAM;
DoCommand: PROC [h: Handle, cmd: CmdIndex, button: Menus.MouseButton];
from MDebugGlobals
MDebugGlobals: PROGRAM;
ClearCachedFrames: PUBLIC PROC [h: Handle];
CurContext: PROCEDURE [h: Handle] RETURNS [Symbols.ContextLevel];
GFrameSheet: PROC [h: Handle];
LabelStack: PROCEDURE [h: Handle] RETURNS [CodeDefs.LabelInfoIndex];
PutCurrentBody: PROCEDURE [h: Handle];
PutCurrentExpr: PROCEDURE [h: Handle];
PutCurrentSource: PROCEDURE [h: Handle];
PrintNextLine: PROCEDURE [h: Handle];
PrintPrevLine: PROCEDURE [h: Handle];
PutCurrentStmt: PROCEDURE [h: Handle];
PutTempState: PROCEDURE [h: Handle];
TableBase: PROCEDURE [h: Handle, table: Table.Selector ← Table.chunkType] RETURNS [Table.Base];
CDCopyRead: PROC [h: Handle, from: LONG POINTER, nwords: CARDINAL, to: LONG POINTER];
CDRead: PROC [Handle, LONG POINTER] RETURNS [UNSPECIFIED];
from MDebugLabels
MDebugLabels: PROGRAM;
PutLabelState: PROCEDURE [h: Handle];
PutAsLabelInfoIndex: PROCEDURE [h: Handle, lii: CodeDefs.LabelInfoIndex];
END.