1 package Analysis.OwnershipAnalysis;
3 public class ReferenceEdgeProperties {
5 protected boolean isUnique;
6 protected boolean isInitialParamReflexive;
8 protected ReachabilitySet beta;
9 protected ReachabilitySet betaNew;
12 public ReferenceEdgeProperties() {
13 this.isUnique = false;
14 this.isInitialParamReflexive = false;
15 this.beta = new ReachabilitySet();
19 public ReferenceEdgeProperties( boolean isUnique ) {
20 this.isUnique = isUnique;
21 this.isInitialParamReflexive = false;
22 this.beta = new ReachabilitySet();
26 public ReferenceEdgeProperties( boolean isUnique,
27 boolean isInitialParamReflexive ) {
28 this.isUnique = isUnique;
29 this.isInitialParamReflexive = isInitialParamReflexive;
30 this.beta = new ReachabilitySet();
34 public ReferenceEdgeProperties( boolean isUnique,
35 boolean isInitialParamReflexive,
36 ReachabilitySet beta) {
37 this.isUnique = isUnique;
38 this.isInitialParamReflexive = isInitialParamReflexive;
44 public ReferenceEdgeProperties copy() {
45 return new ReferenceEdgeProperties( isUnique,
46 isInitialParamReflexive,
52 public boolean isUnique() {
55 public void setIsUnique( boolean isUnique ) {
56 this.isUnique = isUnique;
61 public boolean isInitialParamReflexive() {
62 return isInitialParamReflexive;
64 public void setIsInitialParamReflexive( boolean isInitialParamReflexive ) {
65 this.isInitialParamReflexive = isInitialParamReflexive;
70 public ReachabilitySet getBeta() {
73 public void setBeta( ReachabilitySet beta ) {
77 public ReachabilitySet getBetaNew() {
80 public void setBetaNew( ReachabilitySet beta ) {
83 public void applyBetaNew() {
84 assert betaNew != null;
90 public boolean equals( ReferenceEdgeProperties rep ) {
91 return isUnique == rep.isUnique() &&
92 isInitialParamReflexive == rep.isInitialParamReflexive();
95 public String getBetaString() {
96 return beta.toStringEscapeNewline();
99 public String toEdgeLabelString() {
100 String edgeLabel = "";
102 if( rep.isUnique() ) {
106 if( isInitialParamReflexive ) {
107 edgeLabel += "Rflx\\n";
109 edgeLabel += getBetaString();