3 import Analysis.OwnershipAnalysis.ReachabilitySet;
4 import IR.TypeDescriptor;
6 public class SESEEffectsKey {
9 private TypeDescriptor td;
10 private Integer hrnId;
11 private String hrnUniqueId;
12 private ReachabilitySet rset;
13 private boolean wStrong=false;
15 public SESEEffectsKey(String fd, TypeDescriptor td, Integer hrnId, String hrnUniqueId) {
19 this.hrnUniqueId=hrnUniqueId;
22 public void setRSet(ReachabilitySet rset){
26 public ReachabilitySet getRSet(){
30 public void setStrong(boolean wStrong){
34 public boolean isStrong(){
38 public String getFieldDescriptor() {
42 public TypeDescriptor getTypeDescriptor() {
46 public Integer getHRNId() {
50 public String getHRNUniqueId(){
54 public String toString() {
55 return "(" + td + ")" + fd + "#" + hrnId+":"+hrnUniqueId;
58 public int hashCode() {
63 hash = hash * 31 + fd.hashCode();
67 hash += td.getSymbol().hashCode();
71 hash += hrnId.hashCode();
78 public boolean equals(Object o) {
84 if (!(o instanceof SESEEffectsKey)) {
88 SESEEffectsKey in = (SESEEffectsKey) o;
90 if (fd.equals(in.getFieldDescriptor())
91 && td.getSymbol().equals(in.getTypeDescriptor().getSymbol())
92 && hrnId.equals(in.getHRNId())) {