Changes
[IRC.git] / Robust / src / IR / Flat / ParamsObject.java
index 9e546fd521d20f38be8ba5fc16d70f5fd7117798..1fbf9be2e53fa6710201992575b1f1863fe710e4 100644 (file)
@@ -8,7 +8,7 @@ public class ParamsObject {
     private MethodDescriptor method;
     private int tag;
     private Hashtable paramtotemp;
-    protected Hashtable temptostore;
+    private Hashtable temptostore;
     private int count;
 
     public ParamsObject(MethodDescriptor md, int tag) {
@@ -21,6 +21,10 @@ public class ParamsObject {
        count=0;
     }
 
+    public int getUID() {
+       return tag;
+    }
+
     public void addPtr(TempDescriptor t) {
        Position p=new Position(true, pointerparams.size());
        pointerparams.add(t);
@@ -28,6 +32,22 @@ public class ParamsObject {
        temptostore.put(t,p);
     }
 
+    public boolean isParamPtr(TempDescriptor t) {
+       if (containsTemp(t)) {
+           ParamsObject.Position p=(ParamsObject.Position)temptostore.get(t);
+           return p.inStruct;
+       }
+       return false;
+    }
+
+    public boolean isParamPrim(TempDescriptor t) {
+       if (containsTemp(t)) {
+           ParamsObject.Position p=(ParamsObject.Position)temptostore.get(t);
+           return !p.inStruct;
+       }
+       return false;
+    }
+
     public boolean containsTemp(TempDescriptor t) {
        return temptostore.containsKey(t);
     }