X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FAnalysis%2FSSJava%2FMethodLocationInfo.java;h=5a150affbd7fe34b0b615ee6973385a200cb5a3e;hb=dfaefc442488f69bf9f33038ddafb7ff47a67d8d;hp=ad78508b1c5087073d4ac317c23f5c242aab7c1e;hpb=031636263ce6e4b6f35f3d9162460eb0ef536c2a;p=IRC.git diff --git a/Robust/src/Analysis/SSJava/MethodLocationInfo.java b/Robust/src/Analysis/SSJava/MethodLocationInfo.java index ad78508b..5a150aff 100644 --- a/Robust/src/Analysis/SSJava/MethodLocationInfo.java +++ b/Robust/src/Analysis/SSJava/MethodLocationInfo.java @@ -5,22 +5,35 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; +import IR.Descriptor; import IR.MethodDescriptor; -public class MethodLocationInfo { +public class MethodLocationInfo extends LocationInfo { + + MethodDescriptor md; String returnLocName; String thisLocName; String PCLocName; + Map mapParamIdxToLocName; - Map mapLocNameToFlowNode; - MethodDescriptor md; + Set paramLocNameSet; + Map mapFlowNodeToLocation; public MethodLocationInfo(MethodDescriptor md) { this.md = md; this.mapParamIdxToLocName = new HashMap(); - this.mapLocNameToFlowNode = new HashMap(); + this.paramLocNameSet = new HashSet(); this.PCLocName = SSJavaAnalysis.TOP; + this.mapFlowNodeToLocation = new HashMap(); + } + + public void mapFlowNodeToInferLocation(FlowNode node, CompositeLocation location) { + mapFlowNodeToLocation.put(node, location); + } + + public CompositeLocation getInferLocation(FlowNode node) { + return mapFlowNodeToLocation.get(node); } public String getReturnLocName() { @@ -47,9 +60,9 @@ public class MethodLocationInfo { PCLocName = pCLocName; } - public void addParameter(String name, FlowNode node, int idx) { + public void addParameter(String name, Descriptor desc, int idx) { mapParamIdxToLocName.put(new Integer(idx), name); - mapLocNameToFlowNode.put(name, node); + addMappingOfLocNameToDescriptor(name, desc); } public Set getParameterLocNameSet() { @@ -65,7 +78,7 @@ public class MethodLocationInfo { paramSet.add(returnLocName); } - paramSet.addAll(mapLocNameToFlowNode.keySet()); + paramSet.addAll(mapParamIdxToLocName.values()); return paramSet; }