5 public class ParamsObject {
6 private Vector pointerparams;
7 private Vector primitiveparams;
8 private MethodDescriptor method;
9 private TaskDescriptor task;
11 private Hashtable paramtotemp;
12 private Hashtable temptostore;
15 public ParamsObject(MethodDescriptor md, int tag) {
16 pointerparams=new Vector();
17 primitiveparams=new Vector();
18 paramtotemp=new Hashtable();
19 temptostore=new Hashtable();
25 public ParamsObject(TaskDescriptor task, int tag) {
26 pointerparams=new Vector();
27 primitiveparams=new Vector();
28 paramtotemp=new Hashtable();
29 temptostore=new Hashtable();
39 public void addPtr(TempDescriptor t) {
40 Position p=new Position(true, pointerparams.size());
42 paramtotemp.put(new Integer(count++), t);
46 public boolean isParamPtr(TempDescriptor t) {
47 if (containsTemp(t)) {
48 ParamsObject.Position p=(ParamsObject.Position)temptostore.get(t);
54 public boolean isParamPrim(TempDescriptor t) {
55 if (containsTemp(t)) {
56 ParamsObject.Position p=(ParamsObject.Position)temptostore.get(t);
62 public boolean containsTemp(TempDescriptor t) {
63 return temptostore.containsKey(t);
66 public void addPrim(TempDescriptor t) {
67 Position p=new Position(false, primitiveparams.size());
68 primitiveparams.add(t);
69 paramtotemp.put(new Integer(count++), t);
74 return pointerparams.size();
77 TempDescriptor getPointer(int i) {
78 return (TempDescriptor) pointerparams.get(i);
81 return primitiveparams.size();
84 TempDescriptor getPrimitive(int i) {
85 return (TempDescriptor) primitiveparams.get(i);
87 static class Position {
90 Position(boolean inStruct, int position) {
91 this.inStruct=inStruct;
92 this.position=position;