start of new file
[IRC.git] / Robust / src / IR / Tree / FieldAccessNode.java
index b2b953baaca31528ecc25d47ca1208a304b8b14c..7f97562c281e687cc12c9254bbefad72ab4ec644 100644 (file)
@@ -1,15 +1,41 @@
 package IR.Tree;
+import IR.FieldDescriptor;
+import IR.TypeDescriptor;
 
 public class FieldAccessNode extends ExpressionNode {
     ExpressionNode left;
     String fieldname;
+    FieldDescriptor field;
 
     public FieldAccessNode(ExpressionNode l, String field) {
        fieldname=field;
        left=l;
     }
 
+    public void setField(FieldDescriptor fd) {
+       field=fd;
+    }
+
+    public String getFieldName() {
+       return fieldname;
+    }
+
+    public FieldDescriptor getField() {
+       return field;
+    }
+
+    public ExpressionNode getExpression() {
+       return left;
+    }
+
     public String printNode(int indent) {
        return left.printNode(indent)+"."+fieldname;
     }
+    public int kind() {
+       return Kind.FieldAccessNode;
+    }
+    public TypeDescriptor getType() {
+       return getField().getType();
+    }
+
 }