diff options
author | Paul Phillips <paulp@improving.org> | 2010-02-22 00:15:32 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-02-22 00:15:32 +0000 |
commit | 91cdb1531656d9240e9ee64509ab528d727d1b51 (patch) | |
tree | a33bbdb66b0ee1bb147bb8628902f66bc7f66756 /src/compiler/scala/tools/nsc/util/ClassPath.scala | |
parent | f07bdbab911a7bcef042373d45fab302753f5a1f (diff) | |
download | scala-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.scala | 12 |
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)) |