mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8323815: Source launcher should find classes with $ in names
Reviewed-by: jlahoda, sundar
This commit is contained in:
parent
c432dc008b
commit
c702dcabf8
2 changed files with 38 additions and 8 deletions
|
@ -75,7 +75,9 @@ class MultiFileSourceLauncherTests {
|
|||
public class Hello {
|
||||
public static void main(String... args) throws Exception {
|
||||
System.out.println(Class.forName("World$Core"));
|
||||
System.out.println(Class.forName("p.q.Unit$First$Second"));
|
||||
System.out.println(Class.forName("p.q.Unit$Fir$t"));
|
||||
System.out.println(Class.forName("p.q.Unit$123$Fir$t$$econd"));
|
||||
System.out.println(Class.forName("$.$.$"));
|
||||
}
|
||||
}
|
||||
""");
|
||||
|
@ -90,18 +92,35 @@ class MultiFileSourceLauncherTests {
|
|||
"""
|
||||
package p.q;
|
||||
record Unit() {
|
||||
record First() {
|
||||
record Second() {}
|
||||
record Fir$t() {
|
||||
record $econd() {}
|
||||
}
|
||||
}
|
||||
""");
|
||||
Files.writeString(pq.resolve("Unit$123.java"),
|
||||
"""
|
||||
package p.q;
|
||||
record Unit$123() {
|
||||
record Fir$t() {
|
||||
record $econd() {}
|
||||
}
|
||||
}
|
||||
""");
|
||||
var $$ = Files.createDirectories(base.resolve("$/$"));
|
||||
Files.writeString($$.resolve("$.java"),
|
||||
"""
|
||||
package $.$;
|
||||
record $($ $) {}
|
||||
""");
|
||||
|
||||
var run = Run.of(hello);
|
||||
assertAll("Run -> " + run,
|
||||
() -> assertLinesMatch(
|
||||
"""
|
||||
class World$Core
|
||||
class p.q.Unit$First$Second
|
||||
class p.q.Unit$Fir$t
|
||||
class p.q.Unit$123$Fir$t$$econd
|
||||
class $.$.$
|
||||
""".lines(),
|
||||
run.stdOut().lines()),
|
||||
() -> assertTrue(run.stdErr().isEmpty()),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue