diff options
Diffstat (limited to 'src/compiler/scala/tools/nsc/io/Directory.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/io/Directory.scala | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/src/compiler/scala/tools/nsc/io/Directory.scala b/src/compiler/scala/tools/nsc/io/Directory.scala deleted file mode 100644 index 0eecd9a6e2..0000000000 --- a/src/compiler/scala/tools/nsc/io/Directory.scala +++ /dev/null @@ -1,76 +0,0 @@ -/* __ *\ -** ________ ___ / / ___ Scala API ** -** / __/ __// _ | / / / _ | (c) 2003-2011, LAMP/EPFL ** -** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** -** /____/\___/_/ |_/____/_/ | | ** -** |/ ** -\* */ - -package scala.tools.nsc -package io - -// [scala-reflect.jar migration note] uncomment when creating scala-reflect.jar -// import java.io.{ File => JFile } - -object Directory { - import scala.util.Properties.{ tmpDir, userHome, userDir } - - private def normalizePath(s: String) = Some(apply(Path(s).normalize)) - def Current: Option[Directory] = if (userDir == "") None else normalizePath(userDir) - def Home: Option[Directory] = if (userHome == "") None else normalizePath(userHome) - def TmpDir: Option[Directory] = if (tmpDir == "") None else normalizePath(tmpDir) - - def apply(path: Path): Directory = path.toDirectory - - // Like File.makeTemp but creates a directory instead - def makeTemp(prefix: String = Path.randomPrefix, suffix: String = null, dir: JFile = null): Directory = { - val path = File.makeTemp(prefix, suffix, dir) - path.delete() - path.createDirectory() - } -} -import Path._ - -/** An abstraction for directories. - * - * @author Paul Phillips - * @since 2.8 - */ -class Directory(jfile: JFile) extends Path(jfile) { - override def toAbsolute: Directory = if (isAbsolute) this else super.toAbsolute.toDirectory - override def toDirectory: Directory = this - override def toFile: File = new File(jfile) - override def isValid = jfile.isDirectory() || !jfile.exists() - override def normalize: Directory = super.normalize.toDirectory - - /** An iterator over the contents of this directory. - */ - def list: Iterator[Path] = - jfile.listFiles match { - case null => Iterator.empty - case xs => xs.iterator map Path.apply - } - - def dirs: Iterator[Directory] = list collect { case x: Directory => x } - def files: Iterator[File] = list collect { case x: File => x } - - override def walkFilter(cond: Path => Boolean): Iterator[Path] = - list filter cond flatMap (_ walkFilter cond) - - def deepDirs: Iterator[Directory] = Path.onlyDirs(deepList()) - def deepFiles: Iterator[File] = Path.onlyFiles(deepList()) - - /** If optional depth argument is not given, will recurse - * until it runs out of contents. - */ - def deepList(depth: Int = -1): Iterator[Path] = - if (depth < 0) list ++ (dirs flatMap (_ deepList (depth))) - else if (depth == 0) Iterator.empty - else list ++ (dirs flatMap (_ deepList (depth - 1))) - - /** An iterator over the directories underneath this directory, - * to the (optionally) given depth. - */ - def subdirs(depth: Int = 1): Iterator[Directory] = - deepList(depth) collect { case x: Directory => x } -} |