String returnLocName;
String thisLocName;
- String PCLocName;
+ CompositeLocation pcLoc;
+ String globalLocName;
- Map<Integer, String> mapParamIdxToLocName;
+ Map<Integer, CompositeLocation> mapParamIdxToInferLoc;
Set<String> paramLocNameSet;
public MethodLocationInfo(MethodDescriptor md) {
this.md = md;
- this.mapParamIdxToLocName = new HashMap<Integer, String>();
this.paramLocNameSet = new HashSet<String>();
- this.PCLocName = SSJavaAnalysis.TOP;
+ this.pcLoc = new CompositeLocation(new Location(md, Location.TOP));
+ this.mapParamIdxToInferLoc = new HashMap<Integer, CompositeLocation>();
}
- /*
- * public void mapFlowNodeToInferLocation(FlowNode node, CompositeLocation
- * location) { mapFlowNodeToLocation.put(node, location); }
- *
- * public CompositeLocation getInferLocation(FlowNode node) { return
- * mapFlowNodeToLocation.get(node); }
- */
- public String getReturnLocName() {
- return returnLocName;
+ public void addMapParamIdxToInferLoc(int paramIdx, CompositeLocation inferLoc) {
+ mapParamIdxToInferLoc.put(paramIdx, inferLoc);
}
- public void setReturnLocName(String returnLocName) {
- this.returnLocName = returnLocName;
+ public int getNumParam() {
+ return mapParamIdxToInferLoc.keySet().size();
}
- public String getThisLocName() {
- return thisLocName;
+ public CompositeLocation getParamCompositeLocation(int idx) {
+ return mapParamIdxToInferLoc.get(idx);
}
- public void setThisLocName(String thisLocName) {
- this.thisLocName = thisLocName;
+ public Map<Integer, CompositeLocation> getMapParamIdxToInferLoc() {
+ return mapParamIdxToInferLoc;
}
- public String getPCLocName() {
- return PCLocName;
+ public String getGlobalLocName() {
+ return globalLocName;
}
- public void setPCLocName(String pCLocName) {
- PCLocName = pCLocName;
+ public void setGlobalLocName(String globalLocName) {
+ this.globalLocName = globalLocName;
}
- public void addParameter(String name, Descriptor desc, int idx) {
- mapParamIdxToLocName.put(new Integer(idx), name);
- // addMappingOfLocNameToDescriptor(name, desc);
+ public String getReturnLocName() {
+ return returnLocName;
}
- public Set<String> getParameterLocNameSet() {
- Set<String> paramSet = new HashSet<String>();
-
- paramSet.add(PCLocName);
+ public void setReturnLocName(String returnLocName) {
+ this.returnLocName = returnLocName;
+ }
- if (thisLocName != null) {
- paramSet.add(thisLocName);
- }
+ public String getThisLocName() {
+ return thisLocName;
+ }
- if (returnLocName != null) {
- paramSet.add(returnLocName);
- }
+ public void setThisLocName(String thisLocName) {
+ this.thisLocName = thisLocName;
+ }
- paramSet.addAll(mapParamIdxToLocName.values());
+ public CompositeLocation getPCLoc() {
+ return pcLoc;
+ }
- return paramSet;
+ public void setPCLoc(CompositeLocation pcLoc) {
+ this.pcLoc = pcLoc;
}
public void removeMaplocalVarToLocSet(Descriptor localVarDesc) {