Skip to content

Commit 8c8f9c1

Browse files
committed
repl: Use the correct parent Classloader on Java 9+
On Java 9+, `null` as a parent of a URLClassLoader means the parent is the bootstrap classloader which doesn't contain modules like `java.sql`, explicitly use the system classloader instead. Fixes scala#11646.
1 parent 5154f36 commit 8c8f9c1

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

compiler/src/dotty/tools/repl/Rendering.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ private[repl] class Rendering(parentClassLoader: Option[ClassLoader] = None) {
4747
else {
4848
val parent = parentClassLoader.getOrElse {
4949
val compilerClasspath = ctx.platform.classPath(using ctx).asURLs
50-
new java.net.URLClassLoader(compilerClasspath.toArray, null)
50+
new java.net.URLClassLoader(compilerClasspath.toArray, ClassLoader.getSystemClassLoader)
5151
}
5252

5353
myClassLoader = new AbstractFileClassLoader(ctx.settings.outputDir.value, parent)
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
scala> val d: java.sql.Date = new java.sql.Date(100L)
2+
val d: java.sql.Date = 1970-01-01
3+

0 commit comments

Comments
 (0)