CycleNode *fromnode = getNode(from);
CycleNode *tonode = getNode(to);
+ addEdge(fromnode, tonode);
+}
+
+/**
+ * Adds an edge between two CycleNodes.
+ * @param fromnode The edge comes from this CycleNode
+ * @param tonode The edge points to this CycleNode
+ */
+void CycleGraph::addEdge(CycleNode *fromnode, CycleNode *tonode)
+{
if (!hasCycles)
hasCycles = checkReachable(tonode, fromnode);
}
}
- if (!hasCycles)
- hasCycles = checkReachable(rmwnode, fromnode);
-
- if (fromnode->addEdge(rmwnode))
- rollbackvector.push_back(fromnode);
+ addEdge(fromnode, rmwnode);
}
#if SUPPORT_MOD_ORDER_DUMP