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: BOOL ← FALSE,
other: Asserting.Assertions ← NIL
];
Naming: TYPE = RECORD [long, base: ROPE];
notRanked: INT = FIRST[INT];
DependentList: TYPE = DGVertexList;
ProviderList: TYPE = DGVertexList;
}.