DFDependenciesPrivate.Mesa
Mike Spreitzer September 27, 1986 1:51:38 am PDT
DIRECTORY Asserting, DFDependencies, FileSets, Graphs, HashTable, IO, Rope;
DFDependenciesPrivate: CEDAR DEFINITIONS = {OPEN DFDependencies;
Graph: TYPE = Graphs.Graph;
DependencyGraphRep: TYPE = REF DependencyGraphRepPrivate;
DependencyGraphRepPrivate: TYPE = RECORD [
verticesByBase: HashTable.Table,
other: Asserting.Assertions ← NIL
];
GraphVertexList: TYPE = LIST OF Graphs.Vertex;
DGVertexList: TYPE = LIST OF DGVertex;
DGVertex: TYPE = REF DGVertexPrivate;
DGVertexPrivate: TYPE = RECORD [
naming: Naming,
dependents: DependentList ← NIL,
providers: ProviderList ← NIL,
avoid, tried, failed: BOOLFALSE,
other: Asserting.Assertions ← NIL
];
Naming: TYPE = RECORD [long, base: ROPE];
notRanked: INT = FIRST[INT];
DependentList: TYPE = DGVertexList;
ProviderList: TYPE = DGVertexList;
}.