5 public class ParamsObject {
6 private Vector pointerparams;
7 private Vector primitiveparams;
8 private MethodDescriptor method;
10 private Hashtable paramtotemp;
11 private Hashtable temptostore;
14 public ParamsObject(MethodDescriptor md, int tag) {
15 pointerparams=new Vector();
16 primitiveparams=new Vector();
17 paramtotemp=new Hashtable();
18 temptostore=new Hashtable();
24 public void addPtr(TempDescriptor t) {
25 Position p=new Position(true, pointerparams.size());
27 paramtotemp.put(new Integer(count++), t);
31 public boolean containsTemp(TempDescriptor t) {
32 return temptostore.containsKey(t);
35 public void addPrim(TempDescriptor t) {
36 Position p=new Position(false, primitiveparams.size());
37 primitiveparams.add(t);
38 paramtotemp.put(new Integer(count++), t);
43 return pointerparams.size();
46 TempDescriptor getPointer(int i) {
47 return (TempDescriptor) pointerparams.get(i);
50 return primitiveparams.size();
53 TempDescriptor getPrimitive(int i) {
54 return (TempDescriptor) primitiveparams.get(i);
56 static class Position {
59 Position(boolean inStruct, int position) {
60 this.inStruct=inStruct;
61 this.position=position;