977 if (!expected.equals(log)) { |
977 if (!expected.equals(log)) { |
978 throw new AssertionError("Output does not match; output: " + log); |
978 throw new AssertionError("Output does not match; output: " + log); |
979 } |
979 } |
980 } |
980 } |
981 |
981 |
|
982 @Test |
|
983 public void testDisambiguateAnnotationsNoModules(Path base) throws Exception { |
|
984 Path classes = base.resolve("classes"); |
|
985 |
|
986 Files.createDirectories(classes); |
|
987 |
|
988 Path src = base.resolve("src"); |
|
989 |
|
990 tb.writeJavaFiles(src, |
|
991 "package api; public @interface A {}", |
|
992 "package api; public @interface B {}", |
|
993 "package impl; import api.*; @A @B public class T {}"); |
|
994 |
|
995 List<String> log = new JavacTask(tb) |
|
996 .options("-processor", SelectAnnotationATestAP.class.getName() + "," + SelectAnnotationBTestAP.class.getName(), |
|
997 "-source", "8", "-target", "8") |
|
998 .outdir(classes) |
|
999 .files(findJavaFiles(src)) |
|
1000 .run() |
|
1001 .writeAll() |
|
1002 .getOutputLines(OutputKind.STDERR); |
|
1003 |
|
1004 List<String> expected = Arrays.asList("SelectAnnotationATestAP", |
|
1005 "SelectAnnotationBTestAP", |
|
1006 "SelectAnnotationATestAP", |
|
1007 "SelectAnnotationBTestAP"); |
|
1008 |
|
1009 if (!expected.equals(log)) { |
|
1010 throw new AssertionError("Output does not match; output: " + log); |
|
1011 } |
|
1012 } |
|
1013 |
982 @SupportedAnnotationTypes("m2x/api.A") |
1014 @SupportedAnnotationTypes("m2x/api.A") |
983 public static final class SelectAnnotationATestAP extends AbstractProcessor { |
1015 public static final class SelectAnnotationATestAP extends AbstractProcessor { |
984 |
1016 |
985 @Override |
1017 @Override |
986 public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { |
1018 public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { |