langtools/test/tools/javac/modules/QueryBeforeEnter.java
changeset 42822 a84956e7ee4d
parent 40308 274367a99f98
equal deleted inserted replaced
42812:084017ef9300 42822:a84956e7ee4d
    75     }
    75     }
    76 
    76 
    77     @Test
    77     @Test
    78     public void testUnnamed(Path base) throws Exception {
    78     public void testUnnamed(Path base) throws Exception {
    79         Path moduleSrc = base.resolve("module-src");
    79         Path moduleSrc = base.resolve("module-src");
    80         Path m1 = moduleSrc.resolve("m1");
    80         Path m1 = moduleSrc.resolve("m1x");
    81 
    81 
    82         tb.writeJavaFiles(m1,
    82         tb.writeJavaFiles(m1,
    83                           "module m1 { exports m1; }",
    83                           "module m1x { exports m1x; }",
    84                           "package m1; public class M1 {}");
    84                           "package m1x; public class M1 {}");
    85 
    85 
    86         Path m2 = moduleSrc.resolve("m2");
    86         Path m2 = moduleSrc.resolve("m2x");
    87 
    87 
    88         tb.writeJavaFiles(m2,
    88         tb.writeJavaFiles(m2,
    89                           "module m2 { exports m2; }",
    89                           "module m2x { exports m2x; }",
    90                           "package m2; public class M2 {}");
    90                           "package m2x; public class M2 {}");
    91 
    91 
    92         Path modulePath = base.resolve("module-path");
    92         Path modulePath = base.resolve("module-path");
    93 
    93 
    94         Files.createDirectories(modulePath);
    94         Files.createDirectories(modulePath);
    95 
    95 
   136                                                                             "-sourcepath", src.toString()),
   136                                                                             "-sourcepath", src.toString()),
   137                                                               null,
   137                                                               null,
   138                                                               fm.getJavaFileObjects(src.resolve("test").resolve("Test2.java")));
   138                                                               fm.getJavaFileObjects(src.resolve("test").resolve("Test2.java")));
   139             assertNotNull(task.getElements().getTypeElement("java.lang.String"));
   139             assertNotNull(task.getElements().getTypeElement("java.lang.String"));
   140             assertNotNull(task.getElements().getTypeElement("javax.tools.ToolProvider"));
   140             assertNotNull(task.getElements().getTypeElement("javax.tools.ToolProvider"));
   141             assertNull(task.getElements().getTypeElement("m1.M1"));
   141             assertNull(task.getElements().getTypeElement("m1x.M1"));
   142             assertNull(task.getElements().getTypeElement("m2.M2"));
   142             assertNull(task.getElements().getTypeElement("m2x.M2"));
   143             assertNotNull(task.getElements().getTypeElement("cp.CP"));
   143             assertNotNull(task.getElements().getTypeElement("cp.CP"));
   144             assertNotNull(task.getElements().getTypeElement("test.Test1"));
   144             assertNotNull(task.getElements().getTypeElement("test.Test1"));
   145             assertNotNull(task.getElements().getTypeElement("test.Test2"));
   145             assertNotNull(task.getElements().getTypeElement("test.Test2"));
   146             assertNotNull(task.getElements().getModuleElement("java.base"));
   146             assertNotNull(task.getElements().getModuleElement("java.base"));
   147             assertNotNull(task.getElements().getModuleElement("java.compiler"));
   147             assertNotNull(task.getElements().getModuleElement("java.compiler"));
   148             assertNull(task.getElements().getModuleElement("m1"));
   148             assertNull(task.getElements().getModuleElement("m1x"));
   149             assertNull(task.getElements().getModuleElement("m2"));
   149             assertNull(task.getElements().getModuleElement("m2x"));
   150         }
   150         }
   151     }
   151     }
   152 
   152 
   153     @Test
   153     @Test
   154     public void testSingleNamed(Path base) throws Exception {
   154     public void testSingleNamed(Path base) throws Exception {
   155         Path moduleSrc = base.resolve("module-src");
   155         Path moduleSrc = base.resolve("module-src");
   156         Path m1 = moduleSrc.resolve("m1");
   156         Path m1 = moduleSrc.resolve("m1x");
   157 
   157 
   158         tb.writeJavaFiles(m1,
   158         tb.writeJavaFiles(m1,
   159                           "module m1 { exports m1; }",
   159                           "module m1x { exports m1x; }",
   160                           "package m1; public class M1 {}");
   160                           "package m1x; public class M1 {}");
   161 
   161 
   162         Path m2 = moduleSrc.resolve("m2");
   162         Path m2 = moduleSrc.resolve("m2x");
   163 
   163 
   164         tb.writeJavaFiles(m2,
   164         tb.writeJavaFiles(m2,
   165                           "module m2 { exports m2; }",
   165                           "module m2x { exports m2x; }",
   166                           "package m2; public class M2 {}");
   166                           "package m2x; public class M2 {}");
   167 
   167 
   168         Path modulePath = base.resolve("module-path");
   168         Path modulePath = base.resolve("module-path");
   169 
   169 
   170         Files.createDirectories(modulePath);
   170         Files.createDirectories(modulePath);
   171 
   171 
   192                 .writeAll();
   192                 .writeAll();
   193 
   193 
   194         Path src = base.resolve("src");
   194         Path src = base.resolve("src");
   195 
   195 
   196         tb.writeJavaFiles(src,
   196         tb.writeJavaFiles(src,
   197                           "module test { requires java.base; requires m1; } ",
   197                           "module test { requires java.base; requires m1x; } ",
   198                           "package test; public class Test {}");
   198                           "package test; public class Test {}");
   199 
   199 
   200         Path out = base.resolve("out");
   200         Path out = base.resolve("out");
   201 
   201 
   202         Files.createDirectories(out);
   202         Files.createDirectories(out);
   212                                                                             "-sourcepath", src.toString()),
   212                                                                             "-sourcepath", src.toString()),
   213                                                               null,
   213                                                               null,
   214                                                               fm.getJavaFileObjects(findJavaFiles(src)));
   214                                                               fm.getJavaFileObjects(findJavaFiles(src)));
   215             assertNotNull(task.getElements().getTypeElement("java.lang.String"));
   215             assertNotNull(task.getElements().getTypeElement("java.lang.String"));
   216             assertNull(task.getElements().getTypeElement("javax.tools.ToolProvider"));
   216             assertNull(task.getElements().getTypeElement("javax.tools.ToolProvider"));
   217             assertNotNull(task.getElements().getTypeElement("m1.M1"));
   217             assertNotNull(task.getElements().getTypeElement("m1x.M1"));
   218             assertNull(task.getElements().getTypeElement("m2.M2"));
   218             assertNull(task.getElements().getTypeElement("m2x.M2"));
   219             assertNotNull(task.getElements().getTypeElement("test.Test"));
   219             assertNotNull(task.getElements().getTypeElement("test.Test"));
   220             assertNotNull(task.getElements().getModuleElement("java.base"));
   220             assertNotNull(task.getElements().getModuleElement("java.base"));
   221             assertNull(task.getElements().getModuleElement("java.compiler"));
   221             assertNull(task.getElements().getModuleElement("java.compiler"));
   222             assertNotNull(task.getElements().getModuleElement("m1"));
   222             assertNotNull(task.getElements().getModuleElement("m1x"));
   223             assertNull(task.getElements().getModuleElement("m2"));
   223             assertNull(task.getElements().getModuleElement("m2x"));
   224             assertNotNull(task.getElements().getModuleElement("test"));
   224             assertNotNull(task.getElements().getModuleElement("test"));
   225         }
   225         }
   226     }
   226     }
   227 
   227 
   228     @Test
   228     @Test
   229     public void testMultiModule(Path base) throws Exception {
   229     public void testMultiModule(Path base) throws Exception {
   230         Path modulePathSrc = base.resolve("module-path-src");
   230         Path modulePathSrc = base.resolve("module-path-src");
   231         Path m1 = modulePathSrc.resolve("m1");
   231         Path m1 = modulePathSrc.resolve("m1x");
   232 
   232 
   233         tb.writeJavaFiles(m1,
   233         tb.writeJavaFiles(m1,
   234                           "module m1 { exports m1; }",
   234                           "module m1x { exports m1x; }",
   235                           "package m1; public class M1 {}");
   235                           "package m1x; public class M1 {}");
   236 
   236 
   237         Path m2 = modulePathSrc.resolve("m2");
   237         Path m2 = modulePathSrc.resolve("m2x");
   238 
   238 
   239         tb.writeJavaFiles(m2,
   239         tb.writeJavaFiles(m2,
   240                           "module m2 { exports m2; }",
   240                           "module m2x { exports m2x; }",
   241                           "package m2; public class M2 {}");
   241                           "package m2x; public class M2 {}");
   242 
   242 
   243         Path modulePath = base.resolve("module-path");
   243         Path modulePath = base.resolve("module-path");
   244 
   244 
   245         Files.createDirectories(modulePath);
   245         Files.createDirectories(modulePath);
   246 
   246 
   265                 .files(findJavaFiles(cpSrc))
   265                 .files(findJavaFiles(cpSrc))
   266                 .run()
   266                 .run()
   267                 .writeAll();
   267                 .writeAll();
   268 
   268 
   269         Path moduleSrc = base.resolve("module-src");
   269         Path moduleSrc = base.resolve("module-src");
   270         Path m3 = moduleSrc.resolve("m3");
   270         Path m3 = moduleSrc.resolve("m3x");
   271 
   271 
   272         tb.writeJavaFiles(m3,
   272         tb.writeJavaFiles(m3,
   273                           "module m3 { requires m1; exports m3; }",
   273                           "module m3x { requires m1x; exports m3x; }",
   274                           "package m3; public class M3 {  }");
   274                           "package m3x; public class M3 {  }");
   275 
   275 
   276         Path m4 = moduleSrc.resolve("m4");
   276         Path m4 = moduleSrc.resolve("m4x");
   277 
   277 
   278         tb.writeJavaFiles(m4,
   278         tb.writeJavaFiles(m4,
   279                           "module m4 { exports m4; }",
   279                           "module m4x { exports m4x; }",
   280                           "package m4; public class M4 {}");
   280                           "package m4x; public class M4 {}");
   281 
   281 
   282         Path out = base.resolve("out");
   282         Path out = base.resolve("out");
   283 
   283 
   284         Files.createDirectories(out);
   284         Files.createDirectories(out);
   285 
   285 
   295                                                                             "-d", out.toString()),
   295                                                                             "-d", out.toString()),
   296                                                               null,
   296                                                               null,
   297                                                               fm.getJavaFileObjects(findJavaFiles(moduleSrc)));
   297                                                               fm.getJavaFileObjects(findJavaFiles(moduleSrc)));
   298             assertNotNull(task.getElements().getTypeElement("java.lang.String"));
   298             assertNotNull(task.getElements().getTypeElement("java.lang.String"));
   299             assertNull(task.getElements().getTypeElement("javax.tools.ToolProvider"));
   299             assertNull(task.getElements().getTypeElement("javax.tools.ToolProvider"));
   300             assertNotNull(task.getElements().getTypeElement("m1.M1"));
   300             assertNotNull(task.getElements().getTypeElement("m1x.M1"));
   301             assertNull(task.getElements().getTypeElement("m2.M2"));
   301             assertNull(task.getElements().getTypeElement("m2x.M2"));
   302             assertNotNull(task.getElements().getTypeElement("m3.M3"));
   302             assertNotNull(task.getElements().getTypeElement("m3x.M3"));
   303             assertNotNull(task.getElements().getTypeElement("m4.M4"));
   303             assertNotNull(task.getElements().getTypeElement("m4x.M4"));
   304             assertNotNull(task.getElements().getModuleElement("java.base"));
   304             assertNotNull(task.getElements().getModuleElement("java.base"));
   305             assertNull(task.getElements().getModuleElement("java.compiler"));
   305             assertNull(task.getElements().getModuleElement("java.compiler"));
   306             assertNotNull(task.getElements().getModuleElement("m1"));
   306             assertNotNull(task.getElements().getModuleElement("m1x"));
   307             assertNull(task.getElements().getModuleElement("m2"));
   307             assertNull(task.getElements().getModuleElement("m2x"));
   308             assertNotNull(task.getElements().getModuleElement("m3"));
   308             assertNotNull(task.getElements().getModuleElement("m3x"));
   309             assertNotNull(task.getElements().getModuleElement("m4"));
   309             assertNotNull(task.getElements().getModuleElement("m4x"));
   310         }
   310         }
   311     }
   311     }
   312 
   312 
   313     @Test
   313     @Test
   314     public void testTooSoon(Path base) throws Exception {
   314     public void testTooSoon(Path base) throws Exception {