diff -r 9d0f96b4befa -r 228b73431edb langtools/src/share/classes/com/sun/tools/javac/comp/Check.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Aug 02 16:29:54 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Thu Aug 05 09:44:54 2010 +0100 @@ -1929,6 +1929,23 @@ * Check annotations **************************************************************************/ + /** + * Validate annotations in default values + */ + void validateAnnotationDefaultValue(JCTree defaultValue) { + class DefaultValueValidator extends TreeScanner { + @Override + public void visitAnnotation(JCAnnotation tree) { + super.visitAnnotation(tree); + validateAnnotation(tree); + } + } + // defaultValue may be null if an error occurred, so don't bother validating it + if (defaultValue != null) { + defaultValue.accept(new DefaultValueValidator()); + } + } + /** Annotation types are restricted to primitives, String, an * enum, an annotation, Class, Class, Class, arrays of the preceding.