summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-01-31 16:59:19 +0000
committerPaul Phillips <paulp@improving.org>2010-01-31 16:59:19 +0000
commite73348dc9d891efc7c9bccf08d1d1648fb05d941 (patch)
tree21ec0216f68318cfdd1c146add71ae7e97bc5244
parent1c8ab3a6ed943410314029387ce71541e1b96b58 (diff)
downloadscala-e73348dc9d891efc7c9bccf08d1d1648fb05d941.tar.gz
scala-e73348dc9d891efc7c9bccf08d1d1648fb05d941.tar.bz2
scala-e73348dc9d891efc7c9bccf08d1d1648fb05d941.zip
Solidified the logic of stringOf for repl resul...
Solidified the logic of stringOf for repl results printing. Closes #726. Review by community.
-rw-r--r--src/library/scala/runtime/ScalaRunTime.scala14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/library/scala/runtime/ScalaRunTime.scala b/src/library/scala/runtime/ScalaRunTime.scala
index 2f6ffb5535..fa471fe3c2 100644
--- a/src/library/scala/runtime/ScalaRunTime.scala
+++ b/src/library/scala/runtime/ScalaRunTime.scala
@@ -13,7 +13,7 @@ package scala.runtime
import scala.reflect.ClassManifest
import scala.collection.Seq
-import scala.collection.mutable._
+import scala.collection.mutable.WrappedArray
import scala.collection.immutable.{ List, Stream, Nil, :: }
import scala.util.control.ControlException
@@ -186,12 +186,10 @@ object ScalaRunTime {
* @return a string representation of <code>arg</code>
*
*/
- def stringOf(arg : Any): String = arg match {
- case null => "null"
- case arg: AnyRef if isArray(arg) =>
- val d: collection.IndexedSeq[Any] = WrappedArray.make(arg).deep
- d.toString
- case arg: WrappedArray[_] => arg.deep.toString
- case arg => arg.toString
+ def stringOf(arg: Any): String = arg match {
+ case null => "null"
+ case x: AnyRef if isArray(x) => WrappedArray make x map stringOf mkString ("Array(", ", ", ")")
+ case x: Traversable[_] => x map stringOf mkString (x.stringPrefix + "(", ", ", ")")
+ case x => x toString
}
}