bug in cast code
[IRC.git] / Robust / src / IR / Tree / SESENode.java
1 package IR.Tree;
2 import IR.Flat.FlatSESEEnterNode;
3 import IR.Flat.FlatSESEExitNode;
4
5 public class SESENode extends BlockStatementNode {
6
7   protected String id;
8
9   protected SESENode start;
10   protected SESENode end;
11
12   protected FlatSESEEnterNode enter;
13   protected FlatSESEExitNode  exit;
14
15
16   public SESENode( String id ) {
17     this.id = id;
18     start = null;
19     end   = null;
20     enter = null;
21     exit  = null;
22   }
23
24   public String getID() {
25     return id;
26   }
27
28   public void setStart( SESENode n ) {
29     start = n;
30   }
31
32   public void setEnd( SESENode n ) {
33     end = n;
34   }
35
36   public boolean isStart() {
37     return end != null;
38   }
39
40   public SESENode getStart() {
41     return start;
42   }
43
44   public SESENode getEnd() {
45     return end;
46   }
47
48   public void setFlatEnter( FlatSESEEnterNode fsen ) {
49     enter = fsen;
50   }
51
52   public void setFlatExit( FlatSESEExitNode fsexn ) {
53     exit = fsexn;
54   }
55
56   public FlatSESEEnterNode getFlatEnter() {
57     return enter;
58   }
59
60   public FlatSESEExitNode getFlatExit() {
61     return exit;
62   }
63
64
65   public String printNode(int indent) {
66     if( isStart() ) {
67       return printSpace(indent)+"START SESE\n";
68     } else {
69       return printSpace(indent)+"END SESE\n";
70     }
71   }
72
73   public int kind() {
74     return Kind.SESENode;
75   }
76 }