more changes
[IRC.git] / Robust / src / IR / Tree / NameNode.java
1 package IR.Tree;
2 import IR.NameDescriptor;
3 import IR.VarDescriptor;
4 import IR.TypeDescriptor;
5 import IR.FieldDescriptor;
6
7 public class NameNode extends ExpressionNode {
8     NameDescriptor name;
9     VarDescriptor vd;
10     FieldDescriptor fd;
11
12     public NameNode(NameDescriptor nd) {
13         this.name=nd;
14         this.vd=null;
15         this.fd=null;
16     }
17
18     public void setVar(VarDescriptor vd) {
19         this.vd=vd;
20     }
21
22     public void setField(FieldDescriptor fd) {
23         this.fd=fd;
24     }
25
26     public FieldDescriptor getField() {
27         return fd;
28     }
29
30     public VarDescriptor getVar() {
31         return vd;
32     }
33
34     public TypeDescriptor getType() {
35         if (fd!=null)
36             return fd.getType();
37         else
38             return vd.getType();
39     }
40
41     NameDescriptor getName() {
42         return name;
43     }
44
45     public String printNode(int indent) {
46         return name.toString();
47     }
48
49     public int kind() {
50         return Kind.NameNode;
51     }
52 }