5 public class TempObject {
7 private Vector pointerparams;
8 private Vector primitiveparams;
9 private MethodDescriptor method;
10 private TaskDescriptor task;
12 private Hashtable paramtotemp;
13 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 TempObject(ParamsObject p, TaskDescriptor task, int tag) {
29 pointerparams=new Vector();
30 primitiveparams=new Vector();
31 paramtotemp=new Hashtable();
32 temptostore=new Hashtable();
38 public void addPtr(TempDescriptor t) {
39 if (!params.containsTemp(t)&&!pointerparams.contains(t)) {
40 Position p=new Position(true, pointerparams.size());
42 paramtotemp.put(new Integer(count++), t);
47 public void addPrim(TempDescriptor t) {
48 if (!params.containsTemp(t)&&!primitiveparams.contains(t)) {
49 Position p=new Position(false, primitiveparams.size());
50 primitiveparams.add(t);
51 paramtotemp.put(new Integer(count++), t);
56 public boolean isLocalPtr(TempDescriptor t) {
57 if (!params.containsTemp(t)) {
58 Position p=(Position)temptostore.get(t);
64 public boolean isLocalPrim(TempDescriptor t) {
65 if (!params.containsTemp(t)) {
66 Position p=(Position)temptostore.get(t);
72 public boolean isParamPtr(TempDescriptor t) {
73 return params.isParamPtr(t);
76 public boolean isParamPrim(TempDescriptor t) {
77 return params.isParamPrim(t);
81 return pointerparams.size();
84 TempDescriptor getPointer(int i) {
85 return (TempDescriptor) pointerparams.get(i);
89 return primitiveparams.size();
92 TempDescriptor getPrimitive(int i) {
93 return (TempDescriptor) primitiveparams.get(i);
96 static class Position {
99 Position(boolean inStruct, int position) {
100 this.inStruct=inStruct;
101 this.position=position;