summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-05-29 21:30:29 +0000
committerPaul Phillips <paulp@improving.org>2011-05-29 21:30:29 +0000
commita8926ae0b28d606e240f409adca69f1d91f45990 (patch)
treed33af8c263ca170a4440d3f4005f69f0916b5b14 /src/compiler/scala/tools/nsc/interpreter/ILoop.scala
parent4c7d23b470b71e730024d1f7797f742dc97207fa (diff)
downloadscala-a8926ae0b28d606e240f409adca69f1d91f45990.tar.gz
scala-a8926ae0b28d606e240f409adca69f1d91f45990.tar.bz2
scala-a8926ae0b28d606e240f409adca69f1d91f45990.zip
Now :t types declarations as well as expression...
Now :t types declarations as well as expressions, and cleans up the output the same way the repl does so stray unsolved type constraints don't befuddle anyone. Closes #4391, no review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/interpreter/ILoop.scala')
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/ILoop.scala10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/interpreter/ILoop.scala b/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
index d83076f0be..dc2a653c83 100644
--- a/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
@@ -419,13 +419,11 @@ class ILoop(in0: Option[BufferedReader], protected val out: PrintWriter)
try newJavap()
catch { case _: Exception => null }
- // TODO: unsolved types shouldn't make it out of this alive.
- //
- // scala> :t Some(Set(1)) getOrElse Set("abc")
- // scala.collection.immutable.Set[_ >: ? <: ?]
+ // Still todo: modules.
private def typeCommand(line: String): Result = {
- intp.typeOfExpression(line, false) match {
- case Some(tp) => tp.toString
+ if (line.trim == "") ":type <expression>"
+ else intp.typeOfExpression(line, false) match {
+ case Some(tp) => intp.afterTyper(tp.toString)
case _ => "" // the error message was already printed
}
}