start of new file
[IRC.git] / Robust / src / IR / Tree / FieldAccessNode.java
index a2284d1990a032f7ed5f40fba2f7d64b21ef1d61..7f97562c281e687cc12c9254bbefad72ab4ec644 100644 (file)
@@ -1,18 +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();
+    }
+
 }