Another bug fix for inner class code: when trying to find a field in the surrounding...
[IRC.git] / Robust / src / IR / Tree / ArrayInitializerNode.java
1 package IR.Tree;
2 import java.util.Vector;
3
4 import IR.TypeDescriptor;
5
6 public class ArrayInitializerNode extends ExpressionNode {
7   TypeDescriptor type;
8   Vector varInitList;
9
10   public ArrayInitializerNode(Vector vil) {
11     this.type = null;
12     varInitList=vil;
13   }
14
15   public int numVarInitializers() {
16     return varInitList.size();
17   }
18
19   public ExpressionNode getVarInitializer(int i) {
20     return (ExpressionNode) varInitList.get(i);
21   }
22
23   public void setType(TypeDescriptor type) {
24     this.type = type;
25   }
26
27   public TypeDescriptor getType() {
28     return this.type;
29   }
30
31   public String printNode(int indent) {
32     String st="{";
33     for(int i=0; i<varInitList.size(); i++) {
34       ExpressionNode en=(ExpressionNode)varInitList.get(i);
35       st+=en.printNode(indent);
36       if ((i+1)!=varInitList.size()) {
37         st+=", ";
38       }
39     }
40     return st+"}";
41   }
42
43   public int kind() {
44     return Kind.ArrayInitializerNode;
45   }
46
47   public Long evaluate() {
48     eval = null;
49     return eval; //null;
50   }
51 }