diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-18 10:35:57 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-18 10:35:57 -0700 |
commit | 3715c7bfb88de8daa86cd663d22057ec776cedcc (patch) | |
tree | 0a85083bcdb27867110e33c05c15ac13ae2865a9 /scalaworker/src | |
parent | 350a3115afca590bee6311dbed4a657fe9cca375 (diff) | |
parent | 0063444b422e317b9ee68c789f9b3224dcf28825 (diff) | |
download | mill-3715c7bfb88de8daa86cd663d22057ec776cedcc.tar.gz mill-3715c7bfb88de8daa86cd663d22057ec776cedcc.tar.bz2 mill-3715c7bfb88de8daa86cd663d22057ec776cedcc.zip |
Merge branch 'master' of github.com:lihaoyi/mill
Diffstat (limited to 'scalaworker/src')
-rw-r--r-- | scalaworker/src/mill/scalaworker/ScalaWorker.scala | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/scalaworker/src/mill/scalaworker/ScalaWorker.scala b/scalaworker/src/mill/scalaworker/ScalaWorker.scala index 12511b60..ca20ccf1 100644 --- a/scalaworker/src/mill/scalaworker/ScalaWorker.scala +++ b/scalaworker/src/mill/scalaworker/ScalaWorker.scala @@ -89,7 +89,7 @@ class ScalaWorker(ctx0: mill.util.Ctx, .get val sourceFolder = mill.modules.Util.unpackZip(sourceJar)(workingDir) - val classloader = new URLClassLoader(compilerJars.map(_.toURI.toURL), null) + val classloader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null) val scalacMain = classloader.loadClass("scala.tools.nsc.Main") val argsArray = Array[String]( "-d", compiledDest.toString, @@ -145,7 +145,7 @@ class ScalaWorker(ctx0: mill.util.Ctx, val compilerClassLoader = scalaClassloaderCache match{ case Some((k, v)) if k == compilerClassloaderSig => v case _ => - val classloader = new URLClassLoader(compilerJars.map(_.toURI.toURL), null) + val classloader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null) scalaClassloaderCache = Some((compilerClassloaderSig, classloader)) classloader } @@ -155,7 +155,7 @@ class ScalaWorker(ctx0: mill.util.Ctx, case _ => val scalaInstance = new ScalaInstance( version = scalaVersion, - loader = new URLClassLoader(pluginJars.map(_.toURI.toURL), compilerClassLoader), + loader = mill.util.ClassLoader.create(pluginJars.map(_.toURI.toURL), compilerClassLoader), libraryJar = grepJar(compilerClasspath, s"scala-library-$scalaVersion.jar"), compilerJar = grepJar(compilerClasspath, s"scala-compiler-$scalaVersion.jar"), allJars = compilerJars ++ pluginJars, @@ -333,8 +333,8 @@ class ScalaWorker(ctx0: mill.util.Ctx, val cls = cl.loadClass(path.stripSuffix(".class").replace('/', '.')) fingerprints.find { case f: SubclassFingerprint => - - (f.isModule == cls.getName.endsWith("$")) && + !cls.isInterface && + (f.isModule == cls.getName.endsWith("$")) && cl.loadClass(f.superclassName()).isAssignableFrom(cls) case f: AnnotatedFingerprint => (f.isModule == cls.getName.endsWith("$")) && |