T6362067.java revision 1465:b52a38d4536c
1284345Ssjg/*
2284345Ssjg * @test  /nodynamiccopyright/
3284345Ssjg * @bug     6362067
4284345Ssjg * @summary Messager methods do not print out source position information
5284345Ssjg * @library /tools/javac/lib
6284345Ssjg * @build   JavacTestingAbstractProcessor T6362067
7284345Ssjg * @compile -processor T6362067 -proc:only T6362067.java
8284345Ssjg * @compile/ref=T6362067.out -XDrawDiagnostics -processor T6362067 -proc:only T6362067.java
9284345Ssjg */
10284345Ssjgimport java.util.Set;
11284345Ssjgimport javax.annotation.processing.*;
12284345Ssjgimport javax.lang.model.element.*;
13284345Ssjgimport static javax.tools.Diagnostic.Kind.*;
14284345Ssjg
15284345Ssjg@Deprecated // convenient test annotations
16284345Ssjg@SuppressWarnings({""})
17284345Ssjgpublic class T6362067 extends JavacTestingAbstractProcessor {
18284345Ssjg    public boolean process(Set<? extends TypeElement> annos,
19284345Ssjg                           RoundEnvironment roundEnv) {
20284345Ssjg
21284345Ssjg        for (Element e: roundEnv.getRootElements()) {
22284345Ssjg            messager.printMessage(NOTE, "note:elem", e);
23            for (AnnotationMirror a: e.getAnnotationMirrors()) {
24                messager.printMessage(NOTE, "note:anno", e, a);
25                for (AnnotationValue v: a.getElementValues().values()) {
26                    messager.printMessage(NOTE, "note:value", e, a, v);
27                }
28            }
29        }
30
31        if (roundEnv.processingOver())
32            messager.printMessage(NOTE, "note:nopos");
33        return true;
34    }
35}
36