if( pred.e_hrnSrcID != null ) {
return false;
}
- } else if( !e_hrnSrcID.equals( pred.e_hrnSrcID ) ) {
- return false;
+ } else {
+ if( !e_hrnSrcID.equals( pred.e_hrnSrcID ) ) {
+ return false;
+ }
+ if( e_srcOutCalleeContext != pred.e_srcOutCalleeContext ) {
+ return false;
+ }
+ if( e_srcOutCallerContext != pred.e_srcOutCallerContext ) {
+ return false;
+ }
}
if( e_hrnDstID == null ) {
return false;
}
- // if the identifiers match, this should
- // always match
- assert e_srcOutCalleeContext == pred.e_srcOutCalleeContext;
- assert e_srcOutCallerContext == pred.e_srcOutCallerContext;
-
return true;
}
int hash = n_hrnID.intValue()*17;
if( ne_state != null ) {
- hash += ne_state.hashCode();
+ hash ^= ne_state.hashCode();
}
-
+
return hash;
}
}
if( e_tdSrc != null ) {
- hash += e_tdSrc.hashCode()*11;
+ hash ^= e_tdSrc.hashCode()*11;
} else {
- hash += e_hrnSrcID.hashCode()*11;
+ hash ^= e_hrnSrcID.hashCode()*11;
+ if( e_srcOutCalleeContext ) {
+ hash ^= 0xf1aeb;
+ }
+ if( e_srcOutCallerContext ) {
+ hash ^= 0x875d;
+ }
}
hash += e_hrnDstID.hashCode();
if( ne_state != null ) {
- hash += ne_state.hashCode();
+ hash ^= ne_state.hashCode();
}
return hash;