On 28.1.15 8:10 , Johannes Birgmeier wrote:
In AdminPrincipal.java, somebody just complelely forgot about the
contract; while equals() returns:
return obj == this || obj instanceof AdminPrincipal;
, hashCode() returns
return adminId.hashCode();
, which breaks the hashCode/equals contract.
See https://issues.apache.org/jira/browse/JCR-3848
I'd also be interested in the types of issues your analyser is able to
detect. One of the most common cases I see is breaking symmetry of
equality. This is usually introduce by extending from an non abstract
class and overriding equals. Can you deal with this?
On a more general note, will (parts) of your work be publicly available?
For example as a stand alone utility of even better as plugin for find
bugs or the like? I think this would be of tremendous value as equals
implementations are notorious hard to get right. Any links are appreciated.
Michael