< 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 >