[ivy]<Satterthwaite>SML>SMFI.mesa!12

SMFI.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
last edit by Satterthwaite, May 12, 1986 11:51:35 am PDT
only has types in it, no procs
DIRECTORY
BasicTime: TYPE USING [GMT],
FS: TYPE USING [OpenFile, nullOpenFile],
Rope: TYPE USING [ROPE],
TimeStamp: TYPE USING [Stamp, Null],
SMTree: TYPE Tree USING [Link, null];
SMFI: CEDAR DEFINITIONS~{
OPEN Tree~~SMTree;
objects of these types are centrally managed
do not change contents without acquiring the monitor lock of SMFIImpl
FIState: TYPE~{empty, analyzed, opened};
SrcFileInfo: TYPE~REF SrcFileInfoRecord;
SrcFileInfoRecord: TYPE~RECORD[
the key
create: BasicTime.GMT←,-- file create time
SML type info
type: Tree.Link←Tree.null,-- type as an SML object
version map info
fName: Rope.ROPE←NIL,
gName: Rope.ROPE←NIL,
simpleName: Rope.ROPE←NIL,
local file info
state: FIState←$empty,
new: BOOL←FALSE,-- true after Notice and before Compile
cantOpen: BOOL←FALSE,
localName: Rope.ROPE←NIL,
wDir: Rope.ROPE←NIL,
file: FS.OpenFile←FS.nullOpenFile
and more to come
];
BcdFileInfo: TYPE~REF BcdFileInfoRecord;
BcdFileInfoRecord: TYPE~RECORD[
the key
create: BasicTime.GMT←,-- file create time
SML type info
stamp: TimeStamp.Stamp←TimeStamp.Null,-- version stamp, not create
type: Tree.Link←Tree.null,-- type as an SML object
version map info
fName: Rope.ROPE←NIL,
gName: Rope.ROPE←NIL,
simpleName: Rope.ROPE←NIL,
local file info
state: FIState←$empty,
localName: Rope.ROPE←NIL,
wDir: Rope.ROPE←NIL,
file: FS.OpenFile←FS.nullOpenFile
and (much) more to come
];
}.