b2f2a9f92b1a23a7be9d216c0579540d312040aa
[IRC.git] / Robust / src / Analysis / CallGraph / CallGraph.java
1 package Analysis.CallGraph;
2
3 import IR.State;
4 import IR.Flat.FlatMethod;
5 import IR.Flat.FlatNode;
6 import IR.Flat.FlatCall;
7 import IR.Flat.FKind;
8 import IR.Descriptor;
9 import IR.ClassDescriptor;
10 import IR.MethodDescriptor;
11 import IR.TaskDescriptor;
12 import IR.TypeDescriptor;
13 import IR.TypeUtil;
14 import java.util.*;
15
16
17 public interface CallGraph {
18   public Set getAllMethods(Descriptor d);
19   public Set getMethods(MethodDescriptor md, TypeDescriptor type);
20   public Set getMethods(MethodDescriptor md);
21   public Set getCallerSet(MethodDescriptor md);
22   public Set getCalleeSet(Descriptor d);
23   public boolean isCallable(MethodDescriptor md);
24   public Set getMethodCalls(Descriptor d);
25   public Set getFirstReachableMethodContainingSESE(Descriptor d, Set<MethodDescriptor> methodsContainingSESEs);
26 }