1 package Analysis.OwnershipAnalysis;
3 public class ReferenceEdgeProperties {
5 public ReferenceEdgeProperties() {
7 this.isInitialParamReflexive = false;
8 this.beta = new ReachabilitySet();
11 public ReferenceEdgeProperties( boolean isUnique ) {
12 this.isUnique = isUnique;
13 this.isInitialParamReflexive = false;
14 this.beta = new ReachabilitySet();
17 public ReferenceEdgeProperties( boolean isUnique,
18 boolean isInitialParamReflexive ) {
19 this.isUnique = isUnique;
20 this.isInitialParamReflexive = isInitialParamReflexive;
21 this.beta = new ReachabilitySet();
24 public ReferenceEdgeProperties( boolean isUnique,
25 boolean isInitialParamReflexive,
26 ReachabilitySet beta) {
27 this.isUnique = isUnique;
28 this.isInitialParamReflexive = isInitialParamReflexive;
33 public ReferenceEdgeProperties copy() {
34 return new ReferenceEdgeProperties( isUnique,
35 isInitialParamReflexive,
40 protected boolean isUnique;
41 public boolean isUnique() {
44 public void setIsUnique( boolean isUnique ) {
45 this.isUnique = isUnique;
49 protected boolean isInitialParamReflexive;
50 public boolean isInitialParamReflexive() {
51 return isInitialParamReflexive;
53 public void setIsInitialParamReflexive( boolean isInitialParamReflexive ) {
54 this.isInitialParamReflexive = isInitialParamReflexive;
58 protected ReachabilitySet beta;
59 public ReachabilitySet getBeta() {
62 public void setBeta( ReachabilitySet beta ) {
66 public boolean equals( ReferenceEdgeProperties rep ) {
67 return isUnique == rep.isUnique() &&
68 isInitialParamReflexive == rep.isInitialParamReflexive();
71 public String getBetaString() {
72 return beta.toStringEscapeNewline();
75 public String toEdgeLabelString() {
76 String edgeLabel = "";
78 if( rep.isUnique() ) {
82 if( isInitialParamReflexive ) {
83 edgeLabel += "Rfx\\n";
85 edgeLabel += getBetaString();