Equals and Hashcode on Javassist's (proxied) Annotations do not match the
java.lang.Annotation contract
-------------------------------------------------------------------------------------------------------
Key: JASSIST-35
URL:
http://jira.jboss.com/jira/browse/JASSIST-35
Project: Javassist
Issue Type: Bug
Reporter: Paul Field
Assigned To: Shigeru Chiba
java.lang.Annotation defines that implementation provide a very particular implementation
of equals() and hashcode() that implement a definition of "logically equivalent"
for annotations. See:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/Annotation.html
The current implementation of Javassist (3.6.0 RC1) uses a proxy backed by
javassist.bytecode.annotation.AnnotationImpl. It does not implement hashcode() and
equals() according to the Annotation contract.
This makes it hard to tell if two annotations are equivalent (e.g. when the same type of
annotation has been used on various overriden versions of a method).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira