summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-07-07 15:16:44 +0000
committerMartin Odersky <odersky@gmail.com>2011-07-07 15:16:44 +0000
commitce89d436b83011c1337b101755f63e1a67673a32 (patch)
treed55e872ba645c7ebcc4be6146536f65f1f1236ea /src
parent262114974bfab763b282bf0aa2ec5b902fdd69f5 (diff)
downloadscala-ce89d436b83011c1337b101755f63e1a67673a32.tar.gz
scala-ce89d436b83011c1337b101755f63e1a67673a32.tar.bz2
scala-ce89d436b83011c1337b101755f63e1a67673a32.zip
Made scratchpad use replToString.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/interactive/ScratchPadMaker.scala7
-rw-r--r--src/compiler/scala/tools/nsc/scratchpad/Executor.scala3
2 files changed, 8 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/ScratchPadMaker.scala b/src/compiler/scala/tools/nsc/interactive/ScratchPadMaker.scala
index 1c7a8523eb..34a0a4abb6 100644
--- a/src/compiler/scala/tools/nsc/interactive/ScratchPadMaker.scala
+++ b/src/compiler/scala/tools/nsc/interactive/ScratchPadMaker.scala
@@ -51,6 +51,9 @@ trait ScratchPadMaker { self: Global =>
private def addSandbox(expr: Tree) = {}
// patches += (Patch(expr.pos.start, "sandbox("), Patch(expr.pos.end, ")"))
+ private def resultString(prefix: String, expr: String) =
+ literal(prefix + " = ") + " + $show(" + expr + ")"
+
private def traverseStat(stat: Tree) =
if (stat.pos.isInstanceOf[RangePosition]) {
stat match {
@@ -60,7 +63,7 @@ trait ScratchPadMaker { self: Global =>
toPrint += literal(nameType(stat.symbol) + " = <lazy>")
else if (!stat.symbol.isSynthetic) {
addSandbox(rhs)
- toPrint += literal(nameType(stat.symbol) + " = ") + " + " + stat.symbol.name
+ toPrint += resultString(nameType(stat.symbol), stat.symbol.name.toString)
}
case DefDef(_, _, _, _, _, _) =>
addSkip(stat)
@@ -79,7 +82,7 @@ trait ScratchPadMaker { self: Global =>
val dispResName = resName filter ('$' !=)
patches += Patch(stat.pos.start, "val " + resName + " = ")
addSandbox(stat)
- toPrint += literal(nameType(dispResName, stat.tpe) + " = ") + " + " + resName
+ toPrint += resultString(nameType(dispResName, stat.tpe), resName)
}
}
}
diff --git a/src/compiler/scala/tools/nsc/scratchpad/Executor.scala b/src/compiler/scala/tools/nsc/scratchpad/Executor.scala
index 8eead4f296..d45e80ed1a 100644
--- a/src/compiler/scala/tools/nsc/scratchpad/Executor.scala
+++ b/src/compiler/scala/tools/nsc/scratchpad/Executor.scala
@@ -1,6 +1,7 @@
package scala.tools.nsc.scratchpad
import java.io.{PrintStream, OutputStreamWriter, Writer}
+import scala.runtime.ScalaRunTime.replStringOf
import java.lang.reflect.InvocationTargetException
object Executor {
@@ -55,6 +56,8 @@ object Executor {
def $skip(n: Int) = currentWriter.skip(n)
def $stop() = throw new StopException
+
+ def $show(x: Any): String = replStringOf(x, scala.Int.MaxValue)
}
class StopException extends Exception