diff options
author | Paul Phillips <paulp@improving.org> | 2010-08-30 03:14:18 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-08-30 03:14:18 +0000 |
commit | 501a7c1bb6955577ec90aac5daf87a03eb61a5f3 (patch) | |
tree | ebae934397f81a6038c790e7108d867c4f14e538 /src/library | |
parent | 799a2b0e28ba78f607fb729bb350f6e3733c4845 (diff) | |
download | scala-501a7c1bb6955577ec90aac5daf87a03eb61a5f3.tar.gz scala-501a7c1bb6955577ec90aac5daf87a03eb61a5f3.tar.bz2 scala-501a7c1bb6955577ec90aac5daf87a03eb61a5f3.zip |
Some more finnessing printing in the repl.
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/runtime/ScalaRunTime.scala | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/library/scala/runtime/ScalaRunTime.scala b/src/library/scala/runtime/ScalaRunTime.scala index d7ae2c5cf6..032603bb60 100644 --- a/src/library/scala/runtime/ScalaRunTime.scala +++ b/src/library/scala/runtime/ScalaRunTime.scala @@ -235,11 +235,8 @@ object ScalaRunTime { * @return a string representation of <code>arg</code> * */ - def stringOf(arg: Any): String = { - // Purely a sanity check to prevent accidental infinity: the (default) repl - // maxPrintString limit will kick in way before this - val maxElements = 10000 - + def stringOf(arg: Any): String = stringOf(arg, scala.Int.MaxValue) + def stringOf(arg: Any, maxElements: Int): String = { def isScalaClass(x: AnyRef) = Option(x.getClass.getPackage) exists (_.getName startsWith "scala.") @@ -267,7 +264,7 @@ object ScalaRunTime { def inner(arg: Any): String = arg match { case null => "null" case x if useOwnToString(x) => x.toString - case x: AnyRef if isArray(x) => WrappedArray make x map inner mkString ("Array(", ", ", ")") + case x: AnyRef if isArray(x) => WrappedArray make x take maxElements map inner mkString ("Array(", ", ", ")") case x: Traversable[_] => x take maxElements map inner mkString (x.stringPrefix + "(", ", ", ")") case x: Product1[_] if isTuple(x) => "(" + inner(x._1) + ",)" // that special trailing comma case x: Product if isTuple(x) => x.productIterator map inner mkString ("(", ",", ")") |