src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java
Print this page
*** 145,165 ****
super(defaultSet);
this.typeUtil = typeUtil;
}
@Override
public Set<Element> scan(Element e, DeclaredType p) {
java.util.List<? extends AnnotationMirror> annotationMirrors =
processingEnv.getElementUtils().getAllAnnotationMirrors(e);
for (AnnotationMirror annotationMirror : annotationMirrors) {
if (typeUtil.isSameType(annotationMirror.getAnnotationType(), p))
annotatedElements.add(e);
}
e.accept(this, p);
return annotatedElements;
}
-
}
/**
* {@inheritdoc}
*/
--- 145,178 ----
super(defaultSet);
this.typeUtil = typeUtil;
}
@Override
+ public Set<Element> 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<Element> 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<Element> scan(Element e, DeclaredType p) {
java.util.List<? extends AnnotationMirror> annotationMirrors =
processingEnv.getElementUtils().getAllAnnotationMirrors(e);
for (AnnotationMirror annotationMirror : annotationMirrors) {
if (typeUtil.isSameType(annotationMirror.getAnnotationType(), p))
annotatedElements.add(e);
}
e.accept(this, p);
return annotatedElements;
}
}
/**
* {@inheritdoc}
*/