diff --git a/src/share/classes/com/sun/tools/javac/model/JavacElements.java b/src/share/classes/com/sun/tools/javac/model/JavacElements.java index 14f6e366ddbe7d76d0769473f40b20e04c9294d1..5861e70f7f3f34eb5853016e760a4f11e448e4df 100644 --- a/src/share/classes/com/sun/tools/javac/model/JavacElements.java +++ b/src/share/classes/com/sun/tools/javac/model/JavacElements.java @@ -266,9 +266,10 @@ public class JavacElements implements Elements { private static Class initRepeatable() { try { - @SuppressWarnings("unchecked") // java.lang.annotation.Repeatable extends Annotation by being an annotation type - Class 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) {