e4f82ec4144b7a8e3f9433c5d81e361042c01349
[IRC.git] / Robust / src / IR / Tree / CastNode.java
1 package IR.Tree;
2 import IR.TypeDescriptor;
3
4 public class CastNode extends ExpressionNode  {
5     TypeDescriptor td;
6     ExpressionNode etd;
7     ExpressionNode exp;
8
9     public CastNode(TypeDescriptor type, ExpressionNode exp) {
10         this.td=type;
11         this.exp=exp;
12         this.etd=null;
13     }
14
15     public CastNode(ExpressionNode type, ExpressionNode exp) {
16         this.td=null;
17         this.exp=exp;
18         this.etd=type;
19     }
20
21     public String printNode(int indentlevel) {
22         if (etd==null)
23             return "("+td.toString()+")"+exp.printNode(indentlevel);
24         else
25             return "("+etd.printNode(indentlevel)+")"+exp.printNode(indentlevel);
26     }
27
28     public int kind() {
29         return Kind.CastNode;
30     }
31 }