summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/util/ClassPath.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-11-03 04:51:52 +0000
committerPaul Phillips <paulp@improving.org>2011-11-03 04:51:52 +0000
commit938eab16f841fee67b2e34c983a7a2a6a5998127 (patch)
tree0c576763abf934891b519c61dfe5889541955f71 /src/compiler/scala/tools/nsc/util/ClassPath.scala
parentb6778be91900b8161e705dc2598ef7af86842b0b (diff)
downloadscala-938eab16f841fee67b2e34c983a7a2a6a5998127.tar.gz
scala-938eab16f841fee67b2e34c983a7a2a6a5998127.tar.bz2
scala-938eab16f841fee67b2e34c983a7a2a6a5998127.zip
ScalaClassLoader changes.
Lots of fiddling in the interests of a better classloading future.
Diffstat (limited to 'src/compiler/scala/tools/nsc/util/ClassPath.scala')
-rw-r--r--src/compiler/scala/tools/nsc/util/ClassPath.scala13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/util/ClassPath.scala b/src/compiler/scala/tools/nsc/util/ClassPath.scala
index 1487b42843..1820bd190f 100644
--- a/src/compiler/scala/tools/nsc/util/ClassPath.scala
+++ b/src/compiler/scala/tools/nsc/util/ClassPath.scala
@@ -464,5 +464,16 @@ extends ClassPath[T] {
class JavaClassPath(
containers: IndexedSeq[ClassPath[AbstractFile]],
context: JavaContext)
-extends MergedClassPath[AbstractFile](containers, context) {
+extends MergedClassPath[AbstractFile](containers, context) { }
+
+object JavaClassPath {
+ def fromURLs(urls: Seq[URL], context: JavaContext): JavaClassPath = {
+ val containers = {
+ for (url <- urls ; f = AbstractFile getURL url ; if f != null) yield
+ new DirectoryClassPath(f, context)
+ }
+ new JavaClassPath(containers.toIndexedSeq, context)
+ }
+ def fromURLs(urls: Seq[URL]): JavaClassPath =
+ fromURLs(urls, ClassPath.DefaultJavaContext)
}