< prev index next >

test/langtools/tools/javac/classfiles/InnerClasses/T8068517.java

Print this page

 90         runTest("class A {\n" +
 91                 "    enum AInner implements Runnable {\n" +
 92                 "        A {\n" +
 93                 "            public void run() {}\n" +
 94                 "        };\n" +
 95                 "    }\n" +
 96                 "    AInner aInner() {\n" +
 97                 "        return null;\n" +
 98                 "    }\n" +
 99                 "}\n",
100                 "class B {\n" +
101                 "    void test(A a) {;\n" +
102                 "        System.err.println(a.aInner().toString());\n" +
103                 "    };\n" +
104                 "}");
105     }
106 
107     void runTest(String aJava, String bJava) throws Exception {
108         try (JavaFileManager fm = ToolProvider.getSystemJavaCompiler().getStandardFileManager(null, null, null)) {
109             ToolBox tb = new ToolBox();
110             ToolBox.MemoryFileManager memoryFM1 = new ToolBox.MemoryFileManager(fm);
111             new JavacTask(tb).fileManager(memoryFM1)
112                               .sources(aJava, bJava)
113                               .run();
114             ToolBox.MemoryFileManager memoryFM2 = new ToolBox.MemoryFileManager(fm);
115             new JavacTask(tb).fileManager(memoryFM2)
116                               .sources(bJava, aJava)
117                               .run();
118 
119             Assert.check(Arrays.equals(memoryFM1.getFileBytes(StandardLocation.CLASS_OUTPUT, "B"),
120                                        memoryFM2.getFileBytes(StandardLocation.CLASS_OUTPUT, "B")));

121         }
122     }
123 }

 90         runTest("class A {\n" +
 91                 "    enum AInner implements Runnable {\n" +
 92                 "        A {\n" +
 93                 "            public void run() {}\n" +
 94                 "        };\n" +
 95                 "    }\n" +
 96                 "    AInner aInner() {\n" +
 97                 "        return null;\n" +
 98                 "    }\n" +
 99                 "}\n",
100                 "class B {\n" +
101                 "    void test(A a) {;\n" +
102                 "        System.err.println(a.aInner().toString());\n" +
103                 "    };\n" +
104                 "}");
105     }
106 
107     void runTest(String aJava, String bJava) throws Exception {
108         try (JavaFileManager fm = ToolProvider.getSystemJavaCompiler().getStandardFileManager(null, null, null)) {
109             ToolBox tb = new ToolBox();
110             try (var memoryFM1 = new ToolBox.MemoryFileManager(fm, false);
111                  var memoryFM2 = new ToolBox.MemoryFileManager(fm, false)) {
112                 new JavacTask(tb).fileManager(memoryFM1)
113                         .sources(aJava, bJava)
114                         .run();
115                 new JavacTask(tb).fileManager(memoryFM2)
116                         .sources(bJava, aJava)
117                         .run();
118 
119                 Assert.check(Arrays.equals(memoryFM1.getFileBytes(StandardLocation.CLASS_OUTPUT, "B"),
120                         memoryFM2.getFileBytes(StandardLocation.CLASS_OUTPUT, "B")));
121             }
122         }
123     }
124 }
< prev index next >