< prev index next >
test/tools/javac/modules/AnnotationProcessing.java
Print this page
*** 72,95 ****
}
@Test
public void testAPSingleModule(Path base) throws Exception {
Path moduleSrc = base.resolve("module-src");
! Path m1 = moduleSrc.resolve("m1");
Path classes = base.resolve("classes");
Files.createDirectories(classes);
tb.writeJavaFiles(m1,
! "module m1 { }",
"package impl; public class Impl { }");
String log = new JavacTask(tb)
.options("--module-source-path", moduleSrc.toString(),
"-processor", AP.class.getName(),
! "-AexpectedEnclosedElements=m1=>impl")
.outdir(classes)
.files(findJavaFiles(moduleSrc))
.run()
.writeAll()
.getOutput(Task.OutputKind.DIRECT);
--- 72,95 ----
}
@Test
public void testAPSingleModule(Path base) throws Exception {
Path moduleSrc = base.resolve("module-src");
! Path m1 = moduleSrc.resolve("m1x");
Path classes = base.resolve("classes");
Files.createDirectories(classes);
tb.writeJavaFiles(m1,
! "module m1x { }",
"package impl; public class Impl { }");
String log = new JavacTask(tb)
.options("--module-source-path", moduleSrc.toString(),
"-processor", AP.class.getName(),
! "-AexpectedEnclosedElements=m1x=>impl")
.outdir(classes)
.files(findJavaFiles(moduleSrc))
.run()
.writeAll()
.getOutput(Task.OutputKind.DIRECT);
*** 99,127 ****
}
@Test
public void testAPMultiModule(Path base) throws Exception {
Path moduleSrc = base.resolve("module-src");
! Path m1 = moduleSrc.resolve("m1");
! Path m2 = moduleSrc.resolve("m2");
Path classes = base.resolve("classes");
Files.createDirectories(classes);
tb.writeJavaFiles(m1,
! "module m1 { }",
"package impl1; public class Impl1 { }");
tb.writeJavaFiles(m2,
! "module m2 { }",
"package impl2; public class Impl2 { }");
String log = new JavacTask(tb)
.options("--module-source-path", moduleSrc.toString(),
"-processor", AP.class.getName(),
! "-AexpectedEnclosedElements=m1=>impl1,m2=>impl2")
.outdir(classes)
.files(findJavaFiles(moduleSrc))
.run()
.writeAll()
.getOutput(Task.OutputKind.DIRECT);
--- 99,127 ----
}
@Test
public void testAPMultiModule(Path base) throws Exception {
Path moduleSrc = base.resolve("module-src");
! Path m1 = moduleSrc.resolve("m1x");
! Path m2 = moduleSrc.resolve("m2x");
Path classes = base.resolve("classes");
Files.createDirectories(classes);
tb.writeJavaFiles(m1,
! "module m1x { }",
"package impl1; public class Impl1 { }");
tb.writeJavaFiles(m2,
! "module m2x { }",
"package impl2; public class Impl2 { }");
String log = new JavacTask(tb)
.options("--module-source-path", moduleSrc.toString(),
"-processor", AP.class.getName(),
! "-AexpectedEnclosedElements=m1x=>impl1,m2x=>impl2")
.outdir(classes)
.files(findJavaFiles(moduleSrc))
.run()
.writeAll()
.getOutput(Task.OutputKind.DIRECT);
*** 200,217 ****
}
@Test
public void testVerifyUsesProvides(Path base) throws Exception {
Path moduleSrc = base.resolve("module-src");
! Path m1 = moduleSrc.resolve("m1");
Path classes = base.resolve("classes");
Files.createDirectories(classes);
tb.writeJavaFiles(m1,
! "module m1 { exports api; uses api.Api; provides api.Api with impl.Impl; }",
"package api; public class Api { }",
"package impl; public class Impl extends api.Api { }");
String log = new JavacTask(tb)
.options("-doe", "-processor", VerifyUsesProvidesAP.class.getName())
--- 200,217 ----
}
@Test
public void testVerifyUsesProvides(Path base) throws Exception {
Path moduleSrc = base.resolve("module-src");
! Path m1 = moduleSrc.resolve("m1x");
Path classes = base.resolve("classes");
Files.createDirectories(classes);
tb.writeJavaFiles(m1,
! "module m1x { exports api; uses api.Api; provides api.Api with impl.Impl; }",
"package api; public class Api { }",
"package impl; public class Impl extends api.Api { }");
String log = new JavacTask(tb)
.options("-doe", "-processor", VerifyUsesProvidesAP.class.getName())
*** 305,344 ****
}
@Test
public void testQualifiedClassForProcessing(Path base) throws Exception {
Path moduleSrc = base.resolve("module-src");
! Path m1 = moduleSrc.resolve("m1");
! Path m2 = moduleSrc.resolve("m2");
Path classes = base.resolve("classes");
Files.createDirectories(classes);
tb.writeJavaFiles(m1,
! "module m1 { }",
! "package impl; public class Impl { int m1; }");
tb.writeJavaFiles(m2,
! "module m2 { }",
! "package impl; public class Impl { int m2; }");
new JavacTask(tb)
.options("--module-source-path", moduleSrc.toString())
.outdir(classes)
.files(findJavaFiles(moduleSrc))
.run()
.writeAll()
.getOutput(Task.OutputKind.DIRECT);
! List<String> expected = Arrays.asList("Note: field: m1");
for (Mode mode : new Mode[] {Mode.API, Mode.CMDLINE}) {
List<String> log = new JavacTask(tb, mode)
.options("-processor", QualifiedClassForProcessing.class.getName(),
"--module-path", classes.toString())
! .classes("m1/impl.Impl")
.outdir(classes)
.run()
.writeAll()
.getOutputLines(Task.OutputKind.DIRECT);
--- 305,344 ----
}
@Test
public void testQualifiedClassForProcessing(Path base) throws Exception {
Path moduleSrc = base.resolve("module-src");
! Path m1 = moduleSrc.resolve("m1x");
! Path m2 = moduleSrc.resolve("m2x");
Path classes = base.resolve("classes");
Files.createDirectories(classes);
tb.writeJavaFiles(m1,
! "module m1x { }",
! "package impl; public class Impl { int m1x; }");
tb.writeJavaFiles(m2,
! "module m2x { }",
! "package impl; public class Impl { int m2x; }");
new JavacTask(tb)
.options("--module-source-path", moduleSrc.toString())
.outdir(classes)
.files(findJavaFiles(moduleSrc))
.run()
.writeAll()
.getOutput(Task.OutputKind.DIRECT);
! List<String> expected = Arrays.asList("Note: field: m1x");
for (Mode mode : new Mode[] {Mode.API, Mode.CMDLINE}) {
List<String> log = new JavacTask(tb, mode)
.options("-processor", QualifiedClassForProcessing.class.getName(),
"--module-path", classes.toString())
! .classes("m1x/impl.Impl")
.outdir(classes)
.run()
.writeAll()
.getOutputLines(Task.OutputKind.DIRECT);
*** 350,361 ****
@SupportedAnnotationTypes("*")
public static final class QualifiedClassForProcessing extends AbstractProcessor {
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
! if (processingEnv.getElementUtils().getModuleElement("m1") == null) {
! throw new AssertionError("No m1 module found.");
}
Messager messager = processingEnv.getMessager();
for (TypeElement clazz : ElementFilter.typesIn(roundEnv.getRootElements())) {
--- 350,361 ----
@SupportedAnnotationTypes("*")
public static final class QualifiedClassForProcessing extends AbstractProcessor {
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
! if (processingEnv.getElementUtils().getModuleElement("m1x") == null) {
! throw new AssertionError("No m1x module found.");
}
Messager messager = processingEnv.getMessager();
for (TypeElement clazz : ElementFilter.typesIn(roundEnv.getRootElements())) {
< prev index next >