--- old/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java 2013-03-26 16:16:37.000000000 -0700 +++ new/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java 2013-03-26 16:16:37.000000000 -0700 @@ -147,6 +147,20 @@ } @Override + public Set visitType(TypeElement e, DeclaredType p) { + // Type parameters are not considered to be enclosed by a type + scan(e.getTypeParameters(), p) + return scan(e.getEnclosedElements(), p); + } + + @Override + public Set visitExecutable(ExecutableElement e, DeclaredType p) { + // Type parameters are not considered to be enclosed by an executable + scan(e.getTypeParameters(), p) + return scan(e.getEnclosedElements(), p); + } + + @Override public Set scan(Element e, DeclaredType p) { java.util.List annotationMirrors = processingEnv.getElementUtils().getAllAnnotationMirrors(e); @@ -157,7 +171,6 @@ e.accept(this, p); return annotatedElements; } - } /**