2 import IR.FieldDescriptor;
3 import IR.TypeDescriptor;
5 public class ArrayAccessNode extends ExpressionNode {
8 TypeDescriptor wrappertype;
10 public ArrayAccessNode(ExpressionNode l, ExpressionNode index) {
15 public ExpressionNode getIndex() {
19 public ExpressionNode getExpression() {
23 public String printNode(int indent) {
24 return left.printNode(indent)+"["+index.printNode(0)+"]";
28 return Kind.ArrayAccessNode;
31 public boolean iswrapper() {
32 return wrappertype!=null;
35 public TypeDescriptor getType() {
36 if (wrappertype!=null)
39 return left.getType().dereference();
42 public Long evaluate() {