more mlp infrastructure, stable
[IRC.git] / Robust / src / IR / Flat / FlatSESEEnterNode.java
1 package IR.Flat;
2 import IR.Tree.SESENode;
3 import java.util.HashSet;
4
5 public class FlatSESEEnterNode extends FlatNode {
6   private static int identifier=0;
7   private int id;
8   protected FlatSESEExitNode exit;
9   protected SESENode treeNode;
10   protected HashSet<TempDescriptor> inVars;
11   protected HashSet<TempDescriptor> outVars;
12   protected FlatMethod enclosing;
13
14   public FlatSESEEnterNode( SESENode sn ) {
15     this.id  = identifier++;
16     treeNode = sn;
17     inVars   = new HashSet<TempDescriptor>();
18     outVars  = new HashSet<TempDescriptor>();
19   }
20
21   public void rewriteUse() {
22   }
23
24   public void rewriteDef() {
25   }
26
27   public void addInVar( TempDescriptor td ) {
28     inVars.add( td );
29   }
30
31   public void addOutVar( TempDescriptor td ) {
32     outVars.add( td );
33   }
34
35   public void addInVarSet( HashSet<TempDescriptor> s ) {
36     inVars.addAll( s );
37   }
38
39   public void addOutVarSet( HashSet<TempDescriptor> s ) {
40     outVars.addAll( s );
41   }
42
43   public HashSet<TempDescriptor> getInVarSet() {
44     return inVars;
45   }
46
47   public HashSet<TempDescriptor> getOutVarSet() {
48     return outVars;
49   }
50
51   public void setEnclosingFlatMeth( FlatMethod fm ) {
52     enclosing = fm;
53   }
54
55   public FlatMethod getEnclosingFlatMeth() {
56     return enclosing;
57   }
58
59   public SESENode getTreeNode() {
60     return treeNode;
61   }
62
63   public int getIdentifier() {
64     return id;
65   }
66
67   public String getPrettyIdentifier() {    
68     if( treeNode.getID() != null ) {
69       return treeNode.getID();
70     }     
71     return ""+id;
72   }
73
74   public String toString() {
75     return "sese "+getPrettyIdentifier()+" enter";
76   }
77
78   public void setFlatExit( FlatSESEExitNode fsexn ) {
79     exit = fsexn;
80   }
81
82   public FlatSESEExitNode getFlatExit() {
83     return exit;
84   }
85
86   public int kind() {
87     return FKind.FlatSESEEnterNode;
88   }
89 }