5 public class TempObject {
7 private Vector pointerparams;
8 private Vector primitiveparams;
9 private MethodDescriptor method;
11 private Hashtable paramtotemp;
12 private Hashtable temptostore;
16 public TempObject(ParamsObject p, MethodDescriptor md, int tag) {
18 pointerparams=new Vector();
19 primitiveparams=new Vector();
20 paramtotemp=new Hashtable();
21 temptostore=new Hashtable();
27 public void addPtr(TempDescriptor t) {
28 if (!params.containsTemp(t)) {
29 Position p=new Position(true, pointerparams.size());
31 paramtotemp.put(new Integer(count++), t);
36 public void addPrim(TempDescriptor t) {
37 if (!params.containsTemp(t)) {
38 Position p=new Position(false, primitiveparams.size());
39 primitiveparams.add(t);
40 paramtotemp.put(new Integer(count++), t);
46 return pointerparams.size();
49 TempDescriptor getPointer(int i) {
50 return (TempDescriptor) pointerparams.get(i);
53 return primitiveparams.size();
55 TempDescriptor getPrimitive(int i) {
56 return (TempDescriptor) primitiveparams.get(i);
58 static class Position {
61 Position(boolean inStruct, int position) {
62 this.inStruct=inStruct;
63 this.position=position;