More pieces for new version of analysis
[IRC.git] / Robust / src / Analysis / MLP / ConflictNode.java
1 package Analysis.MLP;
2
3 import java.util.HashSet;
4 import java.util.Set;
5
6 import IR.Flat.TempDescriptor;
7
8 public abstract class ConflictNode {
9
10         protected TempDescriptor td;
11         protected String id;
12         protected HashSet<ConflictEdge> edgeSet;
13         protected Set<Set> reachabilitySet;
14         protected TempDescriptor alias;
15         protected int type;
16         
17         public static final int FINE_READ = 0;
18         public static final int FINE_WRITE = 1;
19         public static final int PARENT_READ = 2;
20         public static final int PARENT_WRITE = 3;
21         public static final int COARSE = 4;
22         public static final int PARENT_COARSE = 5;
23         public static final int SCC = 6;
24
25
26         
27         public ConflictNode() {
28                 edgeSet = new HashSet<ConflictEdge>();
29         }
30         
31         public TempDescriptor getTempDescriptor() {
32                 return td;
33         }
34
35         public String getID() {
36                 return id;
37         }
38         
39         public int getType(){
40                 return type;
41         }
42
43         public void setType(int type){
44                 this.type=type;
45         }
46         public void addEdge(ConflictEdge edge) {
47                 edgeSet.add(edge);
48         }
49
50         public HashSet<ConflictEdge> getEdgeSet() {
51                 return edgeSet;
52         }
53
54         public Set<Set> getReachabilitySet() {
55                 return reachabilitySet;
56         }
57         
58         public TempDescriptor getAlias(){
59                 return alias;
60         }
61         
62         public void setAlias(TempDescriptor alias){
63                 this.alias=alias;
64         }
65
66 }