summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/util/ClassPath.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-03-26 19:42:25 +0000
committerPaul Phillips <paulp@improving.org>2011-03-26 19:42:25 +0000
commit3e5cd92cbb455f046f70552f1dd127404b32f4b2 (patch)
tree1eb91e77e931d2d9dec86a8d9e5b28358a0b9467 /src/compiler/scala/tools/nsc/util/ClassPath.scala
parentf84a12bfbba20d043800fb8b4af9b2bcf79f9d27 (diff)
downloadscala-3e5cd92cbb455f046f70552f1dd127404b32f4b2.tar.gz
scala-3e5cd92cbb455f046f70552f1dd127404b32f4b2.tar.bz2
scala-3e5cd92cbb455f046f70552f1dd127404b32f4b2.zip
Some accumulated work and polish on classpath a...
Some accumulated work and polish on classpath and jars. No review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/util/ClassPath.scala')
-rw-r--r--src/compiler/scala/tools/nsc/util/ClassPath.scala12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/util/ClassPath.scala b/src/compiler/scala/tools/nsc/util/ClassPath.scala
index bb404480a9..962062eb2d 100644
--- a/src/compiler/scala/tools/nsc/util/ClassPath.scala
+++ b/src/compiler/scala/tools/nsc/util/ClassPath.scala
@@ -9,9 +9,9 @@ package util
import java.net.URL
import scala.collection.mutable.ListBuffer
-import io.{ File, Directory, Path, AbstractFile }
+import io.{ File, Directory, Path, Jar, AbstractFile, ClassAndJarInfo }
import scala.tools.util.StringOps.splitWhere
-import Path.isJarOrZip
+import Jar.isJarOrZip
import File.pathSeparator
/** <p>
@@ -22,6 +22,14 @@ import File.pathSeparator
* @author Stepan Koltsov
*/
object ClassPath {
+ def scalaLibrary = locate[ScalaObject]
+ def scalaCompiler = locate[Global]
+
+ def info[T: ClassManifest] = new ClassAndJarInfo[T]
+ def locate[T: ClassManifest] = info[T] rootClasspath
+ def locateJar[T: ClassManifest] = info[T].rootPossibles find (x => isJarOrZip(x)) map (x => File(x))
+ def locateDir[T: ClassManifest] = info[T].rootPossibles find (_.isDirectory) map (_.toDirectory)
+
/** Expand single path entry */
private def expandS(pattern: String): List[String] = {
val wildSuffix = File.separator + "*"