There were two problems with hashCode(). One was that an object with multiple double variables would have multiple definitions of "long tmp". The other is that null objects caused the hashCode() recursion to return a null pointer exception. I'll shortly attach a new patch that is ready for review.

Edward Kuns
added a comment - 04/Oct/06 8:46 PM There were two problems with hashCode(). One was that an object with multiple double variables would have multiple definitions of "long tmp". The other is that null objects caused the hashCode() recursion to return a null pointer exception. I'll shortly attach a new patch that is ready for review.

Attached is a new patch against trunk that works for me and that fixes the problems noted above. This patch also correctly does not include the has* variables in the hashCode() calculation. But only if it's the has* that was generated by Castor for a Primitive.

Edward Kuns
added a comment - 04/Oct/06 8:55 PM Attached is a new patch against trunk that works for me and that fixes the problems noted above. This patch also correctly does not include the has * variables in the hashCode() calculation. But only if it's the has * that was generated by Castor for a Primitive.