summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-08-30 03:14:18 +0000
committerPaul Phillips <paulp@improving.org>2010-08-30 03:14:18 +0000
commit501a7c1bb6955577ec90aac5daf87a03eb61a5f3 (patch)
treeebae934397f81a6038c790e7108d867c4f14e538 /src/library
parent799a2b0e28ba78f607fb729bb350f6e3733c4845 (diff)
downloadscala-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.scala9
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 ("(", ",", ")")