31 */
32
33 import java.util.Set;
34 import javax.annotation.processing.*;
35 import javax.lang.model.element.*;
36 import javax.lang.model.util.*;
37 import javax.lang.model.SourceVersion;
38 import static javax.tools.Diagnostic.Kind.*;
39
40 @interface TestMe {}
41
42 @SupportedAnnotationTypes("*")
43 public class T6424358 extends AbstractProcessor {
44 @TestMe enum Test { FOO; }
45
46 public boolean process(Set<? extends TypeElement> annotations,
47 RoundEnvironment roundEnvironment) {
48 final Messager log = processingEnv.getMessager();
49 final Elements elements = processingEnv.getElementUtils();
50 final TypeElement testMe = elements.getTypeElement("TestMe");
51 class Scan extends ElementScanner6<Void,Void> {
52 @Override
53 public Void visitExecutable(ExecutableElement e, Void p) {
54 System.err.println("Looking at " + e);
55 if ("values".contentEquals(e.getSimpleName()) &&
56 e.getModifiers().contains(Modifier.FINAL)) {
57 log.printMessage(ERROR, "final modifier on values()", e);
58 throw new AssertionError("final modifier on values()"); // See bug 6403468
59 }
60 return null;
61 }
62 }
63 Scan scan = new Scan();
64 for (Element e : roundEnvironment.getElementsAnnotatedWith(testMe))
65 scan.scan(e);
66 return true;
67 }
68
69 @Override
70 public SourceVersion getSupportedSourceVersion() {
71 return SourceVersion.latest();
|
31 */
32
33 import java.util.Set;
34 import javax.annotation.processing.*;
35 import javax.lang.model.element.*;
36 import javax.lang.model.util.*;
37 import javax.lang.model.SourceVersion;
38 import static javax.tools.Diagnostic.Kind.*;
39
40 @interface TestMe {}
41
42 @SupportedAnnotationTypes("*")
43 public class T6424358 extends AbstractProcessor {
44 @TestMe enum Test { FOO; }
45
46 public boolean process(Set<? extends TypeElement> annotations,
47 RoundEnvironment roundEnvironment) {
48 final Messager log = processingEnv.getMessager();
49 final Elements elements = processingEnv.getElementUtils();
50 final TypeElement testMe = elements.getTypeElement("TestMe");
51 class Scan extends ElementScanner7<Void,Void> {
52 @Override
53 public Void visitExecutable(ExecutableElement e, Void p) {
54 System.err.println("Looking at " + e);
55 if ("values".contentEquals(e.getSimpleName()) &&
56 e.getModifiers().contains(Modifier.FINAL)) {
57 log.printMessage(ERROR, "final modifier on values()", e);
58 throw new AssertionError("final modifier on values()"); // See bug 6403468
59 }
60 return null;
61 }
62 }
63 Scan scan = new Scan();
64 for (Element e : roundEnvironment.getElementsAnnotatedWith(testMe))
65 scan.scan(e);
66 return true;
67 }
68
69 @Override
70 public SourceVersion getSupportedSourceVersion() {
71 return SourceVersion.latest();
|