1 19 20 package soot.toolkits.graph; 21 22 import soot.*; 23 import soot.toolkits.scalar.*; 24 import soot.toolkits.graph.*; 25 import soot.jimple.*; 26 import soot.options.*; 27 import java.util.*; 28 import soot.util.*; 29 30 40 public class DominatorTreeAdapter implements DirectedGraph 41 { 42 DominatorTree dt; 43 44 public DominatorTreeAdapter(DominatorTree dt) 45 { 46 this.dt = dt; 47 } 48 49 public List getHeads() 50 { 51 return Collections.singletonList(dt.getHead()); 52 } 53 54 public List getTails() 55 { 56 return dt.getTails(); 57 } 58 59 public List getPredsOf(Object node) 60 { 61 return Collections.singletonList(dt.getParentOf((DominatorNode)node)); 62 } 63 64 public List getSuccsOf(Object node) 65 { 66 return dt.getChildrenOf((DominatorNode)node); 67 } 68 69 public Iterator iterator() 70 { 71 return dt.iterator(); 72 } 73 74 public int size() 75 { 76 return dt.size(); 77 } 78 } 79 | Popular Tags |