72b4457bf0c8157439106fbfba8866572fd0647c
[IRC.git] / Robust / src / Analysis / OwnershipAnalysis / ReferenceEdgeProperties.java
1 package Analysis.OwnershipAnalysis;
2
3 public class ReferenceEdgeProperties {
4
5     public ReferenceEdgeProperties() {
6         this.isUnique                = false;
7         this.isInitialParamReflexive = false;
8         this.beta                    = new ReachabilitySet();
9     }    
10
11     public ReferenceEdgeProperties( boolean isUnique ) {
12         this.isUnique                = isUnique;
13         this.isInitialParamReflexive = false;
14         this.beta                    = new ReachabilitySet();
15     }
16
17     public ReferenceEdgeProperties( boolean isUnique,
18                                     boolean isInitialParamReflexive ) {
19         this.isUnique                = isUnique;
20         this.isInitialParamReflexive = isInitialParamReflexive;
21         this.beta                    = new ReachabilitySet();
22     }
23
24     public ReferenceEdgeProperties( boolean         isUnique,
25                                     boolean         isInitialParamReflexive,
26                                     ReachabilitySet beta) {
27         this.isUnique                = isUnique;
28         this.isInitialParamReflexive = isInitialParamReflexive;
29         this.beta                    = beta;
30     }
31
32
33     public ReferenceEdgeProperties copy() {
34         return new ReferenceEdgeProperties( isUnique,
35                                             isInitialParamReflexive );
36     }
37
38
39     protected boolean isUnique;
40     public boolean isUnique() {
41         return isUnique;
42     }
43     public void setIsUnique( boolean isUnique ) {
44         this.isUnique = isUnique;
45     }
46
47
48     protected boolean isInitialParamReflexive;
49     public boolean isInitialParamReflexive() {
50         return isInitialParamReflexive;
51     }
52     public void setIsInitialParamReflexive( boolean isInitialParamReflexive ) {
53         this.isInitialParamReflexive = isInitialParamReflexive;
54     }
55
56
57     protected ReachabilitySet beta;
58     public ReachabilitySet getBeta() {
59         return beta;
60     }
61     public void setBeta( ReachabilitySet beta ) {
62         this.beta = beta;
63     }
64     public String getBetaString() {
65         return beta.toStringEscapeNewline();
66     }
67
68
69     public boolean equals( ReferenceEdgeProperties rep ) {
70         return isUnique                == rep.isUnique()                &&
71                isInitialParamReflexive == rep.isInitialParamReflexive();
72     }
73 }