addEdge method
void
addEdge(
- Node parent,
- Node child
)
override
Implementation
@override
void addEdge(Node parent, Node child) {
if (!containsNode(parent.key)) {
addNode(parent);
}
if (!containsNode(child.key)) {
addNode(child);
}
final existedParent = getNodeParent(child);
if (!allowManyParents && existedParent != null) {
throw Exception(
'Node "${child.key}" already have parent "${existedParent.key}"',
);
}
_parents[child] = parent;
final firstEdges = _edges.putIfAbsent(parent, () => {});
firstEdges.add(child);
}