From 6d9aeb94e0cd3267b98b05cb5577d1cb3bf8ac8f Mon Sep 17 00:00:00 2001 From: "e.e d3si9n" Date: Sat, 26 Nov 2011 01:41:24 -0500 Subject: [PATCH] compressed map and getOrElse into if-else --- main/Project.scala | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/main/Project.scala b/main/Project.scala index 5967d4be4..934ce4ae6 100644 --- a/main/Project.scala +++ b/main/Project.scala @@ -350,17 +350,18 @@ object Project extends Init[Scope] with ProjectExtra final case class ScopedKeyData[A](scoped: ScopedKey[A], value: Any) { + import Types.const val key = scoped.key val scope = scoped.scope - def typeName: String = fold("Task[%s]" format _, "InputTask[%s]" format _, key.manifest.toString) - def settingValue: Option[Any] = fold(_ => None, _ => None, Some(value)) - def description: String = fold("Task: %s" format _, "Input task: %s" format _, + def typeName: String = fold(fmtMf("Task[%s]"), fmtMf("InputTask[%s]"), key.manifest.toString) + def settingValue: Option[Any] = fold(const(None), const(None), Some(value)) + def description: String = fold(fmtMf("Task: %s"), fmtMf("Input task: %s"), "Setting: %s = %s" format (key.manifest.toString, value.toString)) def fold[A](targ: OptManifest[_] => A, itarg: OptManifest[_] => A, s: => A): A = - taskTypeArg map {targ(_)} getOrElse {inputTaskTypeArg map {itarg(_)} getOrElse {s}} - private[this] def taskTypeArg = if (key.manifest.erasure == classOf[Task[_]]) Some(firstType) else None - private[this] def inputTaskTypeArg = if (key.manifest.erasure == classOf[InputTask[_]]) Some(firstType) else None - private[this] def firstType: OptManifest[_] = key.manifest.typeArguments.head + if (key.manifest.erasure == classOf[Task[_]]) targ(key.manifest.typeArguments.head) + else if (key.manifest.erasure == classOf[InputTask[_]]) itarg(key.manifest.typeArguments.head) + else s + def fmtMf(s: String): OptManifest[_] => String = s format _ } trait ProjectExtra