Community
Participate
Working Groups
Some APIs that have been added to handle 1.5 atttributes need to be cleanup. Some names have changed in the latest JVM specs since 3.0. These API should not be used by clients yet as they are related to 1.5 code.
Released first batch of changes. IAnnotation added getTypeName() IAnnotationComponentValue renamed getAttributeValue() into getAnnotationValue() getAttributeValue() has been deprecated and will be remove after 3.1M4 added char[] getEnumConstantName() added char[] getEnumConstantTypeName() Jim, Are these changes ok for you?
These look fine. A more general question re: all these methods. There are a couple of ways to interpret "This is initialized only if the tag item is X.". (a) The client may assume that null will be returned if the tag item is not X. (b) The client must not call this method if the tag item is not X. Since clients may implement this method, it's important to be clear what the contract is. I'd suggest reading (a).
Jim, a) is doable for the IAnnotationComponentValue, but it is not doable for the IConstantPoolEntry class where some methods don't return an object. I will change the implementation to return null when the constant is not the expected one for the IAnnotationComponentValue.
Clarified API. Jim, please review them. IAnnotationComponentValue and IConstantPoolEntry.
Specs as fine. Closing.
Verified.