1 package Analysis.SSJava;
3 import java.util.HashMap;
4 import java.util.HashSet;
8 import IR.MethodDescriptor;
10 public class MethodLocationInfo {
15 Map<Integer, String> mapParamIdxToLocName;
16 Map<String, FlowNode> mapLocNameToFlowNode;
19 public MethodLocationInfo(MethodDescriptor md) {
21 this.mapParamIdxToLocName = new HashMap<Integer, String>();
22 this.mapLocNameToFlowNode = new HashMap<String, FlowNode>();
23 this.PCLocName = SSJavaAnalysis.TOP;
26 public String getReturnLocName() {
30 public void setReturnLocName(String returnLocName) {
31 this.returnLocName = returnLocName;
34 public String getThisLocName() {
38 public void setThisLocName(String thisLocName) {
39 this.thisLocName = thisLocName;
42 public String getPCLocName() {
46 public void setPCLocName(String pCLocName) {
47 PCLocName = pCLocName;
50 public void addParameter(String name, FlowNode node, int idx) {
51 mapParamIdxToLocName.put(new Integer(idx), name);
52 mapLocNameToFlowNode.put(name, node);
55 public Set<String> getParameterLocNameSet() {
56 Set<String> paramSet = new HashSet<String>();
58 paramSet.add(PCLocName);
60 if (thisLocName != null) {
61 paramSet.add(thisLocName);
64 if (returnLocName != null) {
65 paramSet.add(returnLocName);
68 paramSet.addAll(mapLocNameToFlowNode.keySet());