summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/util/ClassPath.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-02-22 00:15:32 +0000
committerPaul Phillips <paulp@improving.org>2010-02-22 00:15:32 +0000
commit91cdb1531656d9240e9ee64509ab528d727d1b51 (patch)
treea33bbdb66b0ee1bb147bb8628902f66bc7f66756 /src/compiler/scala/tools/nsc/util/ClassPath.scala
parentf07bdbab911a7bcef042373d45fab302753f5a1f (diff)
downloadscala-91cdb1531656d9240e9ee64509ab528d727d1b51.tar.gz
scala-91cdb1531656d9240e9ee64509ab528d727d1b51.tar.bz2
scala-91cdb1531656d9240e9ee64509ab528d727d1b51.zip
More laboring on Settings, ClassPaths, Ant Task...
More laboring on Settings, ClassPaths, Ant Tasks, Partest, and similar epicenters of thrilldom. 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, 8 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/util/ClassPath.scala b/src/compiler/scala/tools/nsc/util/ClassPath.scala
index 59fc790bf1..cc737b9fbb 100644
--- a/src/compiler/scala/tools/nsc/util/ClassPath.scala
+++ b/src/compiler/scala/tools/nsc/util/ClassPath.scala
@@ -71,10 +71,13 @@ object ClassPath {
def split(path: String): List[String] = (path split pathSeparator).toList filterNot (_ == "") distinct
/** Join classpath using platform-dependent path separator */
- def join(path: Seq[String]): String = path filterNot (_ == "") mkString pathSeparator
+ def join(path: String*): String = path filterNot (_ == "") mkString pathSeparator
/** Split the classpath, apply a transformation function, and reassemble it. */
- def map(cp: String, f: String => String): String = join(split(cp) map f)
+ def map(cp: String, f: String => String): String = join(split(cp) map f: _*)
+
+ /** Split the classpath, filter according to predicate, and reassemble. */
+ def filter(cp: String, p: String => Boolean): String = join(split(cp) filter p: _*)
/** Split the classpath and map them into urls */
def toURLs(cp: String): List[URL] = split(cp) map (x => Path(x).toAbsolute.toURL)
@@ -387,10 +390,11 @@ extends ClassPath[T] {
})
}
- def asClasspathString: String = ClassPath.join(entries partialMap {
+ def asClasspathString: String = join(entries partialMap {
case x: DirectoryClassPath => x.dir.path
case x: MergedClassPath[_] => x.asClasspathString
- })
+ }: _*)
+
def show {
println("ClassPath %s has %d entries and results in:\n".format(name, entries.size))
asClasspathString split ':' foreach (x => println(" " + x))