From 623fc52d37dc8c171d1fa2a0bb346265054c4b40 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Sun, 26 Feb 2017 21:39:12 +0800 Subject: make listRecursive a File extension method for brevity --- stage1/Stage1Lib.scala | 9 ++------- stage1/cbt.scala | 6 ++++++ 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'stage1') diff --git a/stage1/Stage1Lib.scala b/stage1/Stage1Lib.scala index 7f8f600..c42ee12 100644 --- a/stage1/Stage1Lib.scala +++ b/stage1/Stage1Lib.scala @@ -86,12 +86,6 @@ class Stage1Lib( logger: Logger ) extends BaseLib{ } } - def listFilesRecursive(f: File): Seq[File] = { - f +: ( - if( f.isDirectory ) f.listFiles.flatMap(listFilesRecursive).toVector else Seq[File]() - ) - } - // ========== compilation / execution ========== def runMain( cls: String, args: Seq[String], classLoader: ClassLoader, fakeInstance: Boolean = false ): ExitCode = { @@ -149,7 +143,8 @@ class Stage1Lib( logger: Logger ) extends BaseLib{ /** Given a directory corresponding to the root package, iterate the names of all classes derived from the class files found */ def iterateClassNames( classesRootDirectory: File ): Seq[String] = - listFilesRecursive(classesRootDirectory) + classesRootDirectory + .listRecursive .filter(_.isFile) .map(_.getPath) .collect{ diff --git a/stage1/cbt.scala b/stage1/cbt.scala index 8b6ebd8..5d2e2f5 100644 --- a/stage1/cbt.scala +++ b/stage1/cbt.scala @@ -28,6 +28,12 @@ object `package`{ def /(s: String): File = new File( file, s ) def parent = lib.realpath(file ++ "/..") def string = file.toString + + def listRecursive: Seq[File] = { + file +: ( + if( file.isDirectory ) file.listFiles.flatMap(_.listRecursive).toVector else Seq[File]() + ) + } } implicit class URLExtensionMethods( url: URL ){ def ++( s: String ): URL = new URL( url.toString ++ s ) -- cgit v1.2.3