Some sanity checking.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2561 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -101,14 +101,18 @@ public class DependencyGraph<T>
|
|||||||
{
|
{
|
||||||
_orphans.remove(dependant);
|
_orphans.remove(dependant);
|
||||||
DependencyNode<T> dependantNode = _nodes.get(dependant);
|
DependencyNode<T> dependantNode = _nodes.get(dependant);
|
||||||
|
if (dependantNode == null) {
|
||||||
|
throw new IllegalArgumentException("Unknown dependant? " + dependant);
|
||||||
|
}
|
||||||
DependencyNode<T> dependeeNode = _nodes.get(dependee);
|
DependencyNode<T> dependeeNode = _nodes.get(dependee);
|
||||||
|
if (dependeeNode == null) {
|
||||||
|
throw new IllegalArgumentException("Unknown dependee? " + dependee);
|
||||||
|
}
|
||||||
if (dependsOn(dependee, dependant)) {
|
if (dependsOn(dependee, dependant)) {
|
||||||
throw new IllegalArgumentException("Refusing to create circular dependency.");
|
throw new IllegalArgumentException("Refusing to create circular dependency.");
|
||||||
}
|
}
|
||||||
dependantNode.parents.add(dependeeNode);
|
dependantNode.parents.add(dependeeNode);
|
||||||
dependeeNode.children.add(dependantNode);
|
dependeeNode.children.add(dependantNode);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user