From 2de80eb73921328e33dfdc79f7a4c2e751b3c789 Mon Sep 17 00:00:00 2001 From: Phil Date: Wed, 4 May 2022 06:55:32 -0600 Subject: [PATCH 1/2] fix for #13760 --- compiler/src/dotty/tools/runner/ScalaClassLoader.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/src/dotty/tools/runner/ScalaClassLoader.scala b/compiler/src/dotty/tools/runner/ScalaClassLoader.scala index bbc028b217c1..67bd42c99f74 100644 --- a/compiler/src/dotty/tools/runner/ScalaClassLoader.scala +++ b/compiler/src/dotty/tools/runner/ScalaClassLoader.scala @@ -62,7 +62,7 @@ object ScalaClassLoader { def setContext(cl: ClassLoader) = Thread.currentThread.setContextClassLoader(cl) def fromURLsParallelCapable(urls: Seq[URL], parent: ClassLoader | Null = null): URLClassLoader = - new URLClassLoader(urls.toArray, if parent == null then bootClassLoader else parent) + new URLClassLoader(urls.toArray, if parent == null then ClassLoader.getSystemClassLoader.getParent else parent) @sharable private[this] val bootClassLoader: ClassLoader = if scala.util.Properties.isJavaAtLeast("9") then From 5f9b1cf3227008b95fb9421895f8d7e7a160e2f8 Mon Sep 17 00:00:00 2001 From: Phil Date: Wed, 4 May 2022 11:41:49 -0600 Subject: [PATCH 2/2] remove workaround from sqlDateError.sc test --- compiler/src/dotty/tools/runner/ScalaClassLoader.scala | 4 ++-- compiler/test-resources/scripting/sqlDateError.sc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/src/dotty/tools/runner/ScalaClassLoader.scala b/compiler/src/dotty/tools/runner/ScalaClassLoader.scala index 67bd42c99f74..3c8c51d8d6b2 100644 --- a/compiler/src/dotty/tools/runner/ScalaClassLoader.scala +++ b/compiler/src/dotty/tools/runner/ScalaClassLoader.scala @@ -62,12 +62,12 @@ object ScalaClassLoader { def setContext(cl: ClassLoader) = Thread.currentThread.setContextClassLoader(cl) def fromURLsParallelCapable(urls: Seq[URL], parent: ClassLoader | Null = null): URLClassLoader = - new URLClassLoader(urls.toArray, if parent == null then ClassLoader.getSystemClassLoader.getParent else parent) + new URLClassLoader(urls.toArray, if parent == null then bootClassLoader else parent) @sharable private[this] val bootClassLoader: ClassLoader = if scala.util.Properties.isJavaAtLeast("9") then try - MethodHandles.lookup().findStatic(classOf[ClassLoader], "getPlatformClassLoader", MethodType.methodType(classOf[ClassLoader])).invoke().asInstanceOf[ClassLoader] + ClassLoader.getSystemClassLoader.getParent catch case _: Throwable => null else null diff --git a/compiler/test-resources/scripting/sqlDateError.sc b/compiler/test-resources/scripting/sqlDateError.sc index b9a47d245d1a..ceff98f40cad 100755 --- a/compiler/test-resources/scripting/sqlDateError.sc +++ b/compiler/test-resources/scripting/sqlDateError.sc @@ -1,4 +1,4 @@ -#!bin/scala -nosave +#!bin/scala def main(args: Array[String]): Unit = { println(new java.sql.Date(100L))