8006283: Change to Class.cast() in javax.lang.model implementation for repeating annotations

Reviewed-by: jjg
This commit is contained in:
Joe Darcy 2013-01-16 13:22:09 -08:00
parent b11bbbe239
commit e942cdde81

View file

@ -266,9 +266,10 @@ public class JavacElements implements Elements {
private static Class<? extends Annotation> initRepeatable() {
try {
@SuppressWarnings("unchecked") // java.lang.annotation.Repeatable extends Annotation by being an annotation type
Class<? extends Annotation> c = (Class)Class.forName("java.lang.annotation.Repeatable");
return c;
// Repeatable will not be available when bootstrapping on
// JDK 7 so use a reflective lookup instead of a class
// literal for Repeatable.class.
return Class.forName("java.lang.annotation.Repeatable").asSubclass(Annotation.class);
} catch (ClassNotFoundException e) {
return null;
} catch (SecurityException e) {