public void addEdge(CGNode src, CGNode dst) { // we assume that this is called from ExplicitNode.addTarget(). // so we only have to track the inverse edge. int x = getNumber(src); int y = getNumber(dst); predecessors.add(y, x); }
public boolean hasEdge(CGNode src, CGNode dst) { int x = getNumber(src); int y = getNumber(dst); return predecessors.contains(y, x); }
protected void addEdge(int x, int y) { // we only have to track the inverse edge. predecessors.add(y, x); }
public void removeEdge(CGNode src, CGNode dst) { int x = getNumber(src); int y = getNumber(dst); predecessors.remove(y, x); }
public int getPredNodeCount(CGNode N) { ExplicitNode n = (ExplicitNode) N; int y = getNumber(n); return predecessors.getRelatedCount(y); }
public IntSet getPredNodeNumbers(CGNode node) { ExplicitNode n = (ExplicitNode) node; int y = getNumber(n); return predecessors.getRelated(y); }