JDK-8009267 : Restore isAnnotationPresent methods in public AnnotatedElement implementations
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang:reflect
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2013-03-01
  • Updated: 2017-05-17
  • Resolved: 2013-03-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8 b82Fixed
Related Reports
Relates :  
Relates :  
Description
The change in JDK-8007113 made AnnotatedElement.isDefaultMethod a default method. This allowed numerous concrete implementation of the same logic to be removed. However, with the current behavior of javac in JDK 8 under sources levels before 8, this has de facto side effect of removing isAnnotationPresent from classes that implemented it in JDK 5/6/7, potentially causing compatibility issues for parties doing cross compiles *without* setting the bootclasspath as recommend.  See

http://mail.openjdk.java.net/pipermail/lambda-dev/2013-February/008387.html

for one example.
Comments
See core-libs thread: http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-March/014918.html
02-03-2013