adding a test case
[IRC.git] / Robust / src / IR / Flat / FlatSetElementNode.java
1 package IR.Flat;
2 import IR.FieldDescriptor;
3
4 public class FlatSetElementNode extends FlatNode {
5   TempDescriptor src;
6   TempDescriptor dst;
7   TempDescriptor index;
8
9   public FlatSetElementNode(TempDescriptor dst, TempDescriptor index, TempDescriptor src) {
10     this.index=index;
11     this.src=src;
12     this.dst=dst;
13   }
14
15   public FlatNode clone(TempMap t) {
16     return new FlatSetElementNode(t.tempMap(dst), t.tempMap(index), t.tempMap(src));
17   }
18   public void rewriteUse(TempMap t) {
19     src=t.tempMap(src);
20     dst=t.tempMap(dst);
21     index=t.tempMap(index);
22   }
23   public void rewriteDef(TempMap t) {
24   }
25   public boolean needsBoundsCheck() {
26     return true;
27   }
28
29   public TempDescriptor getSrc() {
30     return src;
31   }
32
33   public TempDescriptor getIndex() {
34     return index;
35   }
36
37   public TempDescriptor getDst() {
38     return dst;
39   }
40
41   public String toString() {
42     return "FlatSetElementNode_"+dst.toString()+"["+index.toString()+"]="+src.toString();
43   }
44
45   public int kind() {
46     return FKind.FlatSetElementNode;
47   }
48
49   public TempDescriptor [] readsTemps() {
50     return new TempDescriptor [] {src,dst,index};
51   }
52 }