JDK 9 RFR of JDK-8173609: Elements.printElements needs to support modules
B. Blaser
bsrbnd at gmail.com
Mon Jan 30 13:50:07 UTC 2017
Joe,
2017-01-28 22:39 GMT+01:00 joe darcy <joe.darcy at oracle.com>:
> Hello,
>
> Please review the straightforward fix to address:
>
> JDK-8173609: Elements.printElements needs to support modules
> http://cr.openjdk.java.net/~darcy/8173609.0/
>
> Once additional information about modules is available (JDK-8172810:
> ModuleElement should declare and provide appropriate modifiers), the
> printing processor should be updated to expose that information.
>
> Admittedly this changeset would be better with some regression testing.
>
> Thanks,
>
> -Joe
>
Here is a test for that.
Regards,
Bernard
diff --git a/test/tools/javac/modules/T8173609/module-info.java
b/test/tools/javac/modules/T8173609/module-info.java
new file mode 100644
--- /dev/null
+++ b/test/tools/javac/modules/T8173609/module-info.java
@@ -0,0 +1,13 @@
+/*
+ * @test
+ * @bug 8173609
+ * @summary printing of modules
+ * @compile/ref=module-info.out -Xprint p/P.java module-info.java
+ */
+module JDK_8173609 {
+ requires static transitive java.base;
+ exports p to m.m1, m.m2;
+ opens p to m.m1, m.m2;
+ uses p.P;
+ provides p.P with p.P.P1, p.P.P2;
+}
diff --git a/test/tools/javac/modules/T8173609/module-info.out
b/test/tools/javac/modules/T8173609/module-info.out
new file mode 100644
--- /dev/null
+++ b/test/tools/javac/modules/T8173609/module-info.out
@@ -0,0 +1,23 @@
+package p;
+
+public class P {
+
+ public static class P1 extends p.P {
+
+ public P1();
+ }
+
+ public static class P2 extends p.P {
+
+ public P2();
+ }
+
+ public P();
+}
+module JDK_8173609 {
+ requires static transitive java.base;
+ exports p to m.m1, m.m2;
+ opens p to m.m1, m.m2;
+ uses p.P;
+ provides p.P with p.P.P1, p.P.P2;
+}
diff --git a/test/tools/javac/modules/T8173609/p/P.java
b/test/tools/javac/modules/T8173609/p/P.java
new file mode 100644
--- /dev/null
+++ b/test/tools/javac/modules/T8173609/p/P.java
@@ -0,0 +1,6 @@
+package p;
+
+public class P {
+ public static class P1 extends P {}
+ public static class P2 extends P {}
+}
More information about the compiler-dev
mailing list