@@ -12,6 +12,7 @@ public class RefinedFunction extends Refined {
1212 private List <Variable > argRefinements ;
1313 private String targetClass ;
1414 private List <ObjectState > stateChange ;
15+ private String signature ;
1516
1617 public RefinedFunction () {
1718 argRefinements = new ArrayList <>();
@@ -47,6 +48,14 @@ public String getTargetClass() {
4748 return targetClass ;
4849 }
4950
51+ public void setSignature (String signature ) {
52+ this .signature = signature ;
53+ }
54+
55+ public String getSignature () {
56+ return signature ;
57+ }
58+
5059 public Predicate getRenamedRefinements (Context c , CtElement element ) {
5160 return getRenamedRefinements (getAllRefinements (), c , element );
5261 }
@@ -132,8 +141,8 @@ public List<Predicate> getToStates() {
132141
133142 @ Override
134143 public String toString () {
135- return "Function [name=" + super .getName () + ", argRefinements =" + argRefinements + ", refReturn="
136- + super .getRefinement () + ", targetClass=" + targetClass + "]" ;
144+ return "Function [name=" + super .getName () + ", signature =" + signature + ", argRefinements=" + argRefinements
145+ + ", refReturn=" + super .getRefinement () + ", targetClass=" + targetClass + "]" ;
137146 }
138147
139148 @ Override
@@ -142,6 +151,7 @@ public int hashCode() {
142151 int result = super .hashCode ();
143152 result = prime * result + ((argRefinements == null ) ? 0 : argRefinements .hashCode ());
144153 result = prime * result + ((targetClass == null ) ? 0 : targetClass .hashCode ());
154+ result = prime * result + ((signature == null ) ? 0 : signature .hashCode ());
145155 return result ;
146156 }
147157
@@ -157,13 +167,18 @@ public boolean equals(Object obj) {
157167 if (argRefinements == null ) {
158168 if (other .argRefinements != null )
159169 return false ;
160- } else if (argRefinements .size () != other .argRefinements . size ( ))
170+ } else if (! argRefinements .equals ( other .argRefinements ))
161171 return false ;
162172 if (targetClass == null ) {
163173 if (other .targetClass != null )
164174 return false ;
165175 } else if (!targetClass .equals (other .targetClass ))
166176 return false ;
177+ if (signature == null ) {
178+ if (other .signature != null )
179+ return false ;
180+ } else if (!signature .equals (other .signature ))
181+ return false ;
167182 return true ;
168183 }
169184}
0 commit comments