change
[IRC.git] / Robust / src / IR / Tree / FieldAccessNode.java
1 package IR.Tree;
2 import IR.FieldDescriptor;
3 import IR.TypeDescriptor;
4
5 public class FieldAccessNode extends ExpressionNode {
6   ExpressionNode left;
7   String fieldname;
8   FieldDescriptor field;
9
10   public FieldAccessNode(ExpressionNode l, String field) {
11     fieldname=field;
12     left=l;
13   }
14
15   public void setField(FieldDescriptor fd) {
16     field=fd;
17   }
18
19   public String getFieldName() {
20     return fieldname;
21   }
22
23   public FieldDescriptor getField() {
24     return field;
25   }
26
27   public ExpressionNode getExpression() {
28     return left;
29   }
30
31   public String printNode(int indent) {
32     return left.printNode(indent)+"."+fieldname;
33   }
34   public int kind() {
35     return Kind.FieldAccessNode;
36   }
37   public TypeDescriptor getType() {
38     return getField().getType();
39   }
40
41 }