T6362067.java revision 610:4172cfff05f0
1/* 2 * @test /nodynamiccopyright/ 3 * @bug 6362067 4 * @summary Messager methods do not print out source position information 5 * @build T6362067 6 * @compile -processor T6362067 -proc:only T6362067.java 7 * @compile/ref=T6362067.out -XDrawDiagnostics -processor T6362067 -proc:only T6362067.java 8 */ 9 10import java.util.Set; 11import javax.annotation.processing.*; 12import javax.lang.model.element.*; 13import static javax.tools.Diagnostic.Kind.*; 14 15@Deprecated // convenient test annotation 16@SupportedAnnotationTypes("*") 17public class T6362067 extends AbstractProcessor { 18 public boolean process(Set<? extends TypeElement> annos, 19 RoundEnvironment roundEnv) { 20 Messager msgr = processingEnv.getMessager(); 21 for (Element e: roundEnv.getRootElements()) { 22 msgr.printMessage(NOTE, "note:elem", e); 23 for (AnnotationMirror a: e.getAnnotationMirrors()) { 24 msgr.printMessage(NOTE, "note:anno", e, a); 25 for (AnnotationValue v: a.getElementValues().values()) { 26 msgr.printMessage(NOTE, "note:value", e, a, v); 27 } 28 29 } 30 } 31 if (roundEnv.processingOver()) 32 msgr.printMessage(NOTE, "note:nopos"); 33 return true; 34 } 35 36 @Override 37 public javax.lang.model.SourceVersion getSupportedSourceVersion() { 38 return javax.lang.model.SourceVersion.latest(); 39 } 40} 41