Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/tools/ictool/depgraph.cs')
-rw-r--r--mcs/tools/ictool/depgraph.cs69
1 files changed, 0 insertions, 69 deletions
diff --git a/mcs/tools/ictool/depgraph.cs b/mcs/tools/ictool/depgraph.cs
deleted file mode 100644
index 57e96ff3e9c..00000000000
--- a/mcs/tools/ictool/depgraph.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// file: depgraph.cs
-// author: Dan Lewis (dihlewis@yahoo.co.uk)
-// (C) 2002
-//
-
-using System;
-using System.Collections;
-
-class DependencyGraph {
- public DependencyGraph () {
- nodes = new Hashtable ();
- }
-
- public void AddNode (object o) {
- if (!nodes.Contains (o))
- nodes.Add (o, new Node (o));
- }
-
- public void AddEdge (object from, object to) {
- if (!nodes.Contains (from))
- AddNode (from);
- if (!nodes.Contains (to))
- AddNode (from);
-
- Node from_node = (Node)nodes[from];
- Node to_node = (Node)nodes[to];
-
- from_node.edges.Add (to_node);
- }
-
- public IList TopologicalSort () {
- foreach (Node node in nodes.Values)
- node.marked = false;
-
- IList list = new ArrayList ();
- foreach (Node node in nodes.Values) {
- if (!node.marked)
- Visit (node, list);
- }
-
- return list;
- }
-
- // private
-
- private void Visit (Node node, IList list) {
- node.marked = true;
- foreach (Node adj in node.edges) {
- if (!adj.marked)
- Visit (adj, list);
- }
-
- list.Insert (0, node.value);
- }
-
- private class Node {
- public Node (object o) {
- this.value = o;
- this.edges = new ArrayList ();
- }
-
- public object value;
- public ArrayList edges;
- public bool marked;
- }
-
- private Hashtable nodes;
-}