예제 #1
0
 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);
 }
예제 #2
0
 public boolean hasEdge(CGNode src, CGNode dst) {
   int x = getNumber(src);
   int y = getNumber(dst);
   return predecessors.contains(y, x);
 }
예제 #3
0
 protected void addEdge(int x, int y) {
   // we only have to track the inverse edge.
   predecessors.add(y, x);
 }
예제 #4
0
 public void removeEdge(CGNode src, CGNode dst) {
   int x = getNumber(src);
   int y = getNumber(dst);
   predecessors.remove(y, x);
 }
예제 #5
0
 public int getPredNodeCount(CGNode N) {
   ExplicitNode n = (ExplicitNode) N;
   int y = getNumber(n);
   return predecessors.getRelatedCount(y);
 }
예제 #6
0
 public IntSet getPredNodeNumbers(CGNode node) {
   ExplicitNode n = (ExplicitNode) node;
   int y = getNumber(n);
   return predecessors.getRelated(y);
 }