Pass4ToPass5.mesa
Copyright Ó 1987, 1988, 1989, 1991 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) May 21, 1989 3:27:13 pm PDT
DIRECTORY
MobDefs USING [EXPLink, Link],
Symbols USING [CSEIndex, ISEIndex, MDIndex, Name],
TypeStrings USING [TypeString];
Pass4ToPass5: DEFINITIONS = BEGIN
Reset: PROC;
Flushes all storage associated with the imports & exports for this module.
VisitImports: PROC [visitor: ImportsVisitor];
Enumerates all of the current imports, calling visitor with the information so painfully extracted in Pass4B.AssignImports.
ImportsVisitor: TYPE = PROC [
mdi: Symbols.MDIndex,
The module index for the interface being imported
formal: Symbols.Name,
The ISEIndex for the formal interface
irSei: Symbols.ISEIndex,
The ISEIndex for the interface type
irType: Symbols.CSEIndex,
The type for the interface
sei: Symbols.ISEIndex,
The ISEIndex for the variable receiving the import (locally relative)
link: MobDefs.Link
link for imported item
];
VisitExports: PROC [visitor: ExportsVisitor];
Enumerates all of the current exports, calling visitor with the information so painfully extracted in Pass4B.ExportItem.
ExportsVisitor: TYPE = PROC [
mdi: Symbols.MDIndex,
The module index for the interface being exported
formal: Symbols.Name,
The ISEIndex for the formal interface
irSei: Symbols.ISEIndex,
The ISEIndex for the interface type
irType: Symbols.CSEIndex,
The type for the interface
ts: TypeStrings.TypeString,
The type string for an exported type
sei: Symbols.ISEIndex,
The ISEIndex for the variable sending the export (locally relative)
link: MobDefs.EXPLink
The link for the export
];
END.