3b80faba71228806e797dcf995d698e00c516302
[IRC.git] / Robust / src / IR / Tree / OpNode.java
1 package IR.Tree;
2 import IR.Operation;
3
4 public class OpNode extends ExpressionNode {
5     ExpressionNode left;
6     ExpressionNode right;
7     Operation op;
8
9     public OpNode(ExpressionNode l, ExpressionNode r, Operation o) {
10         left=l;
11         right=r;
12         op=o;
13     }
14
15     public OpNode(ExpressionNode l, Operation o) {
16         left=l;
17         right=null;
18         op=o;
19     }
20
21     public ExpressionNode getLeft() {
22         return left;
23     }
24
25     public ExpressionNode getRight() {
26         return right;
27     }
28
29     public Operation getOp() {
30         return op;
31     }
32
33     public String printNode(int indent) {
34         if (right==null)
35             return op.toString()+"("+left.printNode(indent)+")";
36         else
37             return left.printNode(indent)+" "+op.toString()+" "+right.printNode(indent);
38     }
39     public int kind() {
40         return Kind.OpNode;
41     }
42 }