summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/util
diff options
context:
space:
mode:
authorChristoffer Sawicki <christoffer.sawicki@gmail.com>2013-08-11 21:04:29 +0200
committerChristoffer Sawicki <christoffer.sawicki@gmail.com>2013-08-19 23:51:18 +0200
commit470c69928fe2bbf41c3142ac066c49fb7a0ee7c9 (patch)
tree918a7b7176bbe0429c8abf8c98dbd3fd84748de2 /src/compiler/scala/tools/nsc/util
parenta124ab7f48dfc1e49b203af7a14904eaa5029577 (diff)
downloadscala-470c69928fe2bbf41c3142ac066c49fb7a0ee7c9.tar.gz
scala-470c69928fe2bbf41c3142ac066c49fb7a0ee7c9.tar.bz2
scala-470c69928fe2bbf41c3142ac066c49fb7a0ee7c9.zip
SI-7740 Trim stack trace before printing in REPL
Diffstat (limited to 'src/compiler/scala/tools/nsc/util')
-rw-r--r--src/compiler/scala/tools/nsc/util/package.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/util/package.scala b/src/compiler/scala/tools/nsc/util/package.scala
index 752aac5c8c..ea3c9d8dde 100644
--- a/src/compiler/scala/tools/nsc/util/package.scala
+++ b/src/compiler/scala/tools/nsc/util/package.scala
@@ -8,6 +8,7 @@ package tools
package nsc
import java.io.{ OutputStream, PrintStream, ByteArrayOutputStream, PrintWriter, StringWriter }
+import scala.compat.Platform.EOL
package object util {
@@ -78,6 +79,14 @@ package object util {
s"$clazz$msg @ $frame"
}
+ def stackTracePrefixString(ex: Throwable)(p: StackTraceElement => Boolean): String = {
+ val frames = ex.getStackTrace takeWhile p map (" at " + _)
+ val msg = ex.getMessage match { case null => "" ; case s => s": $s" }
+ val clazz = ex.getClass.getName
+
+ s"$clazz$msg" +: frames mkString EOL
+ }
+
lazy val trace = new SimpleTracer(System.out)
@deprecated("Moved to scala.reflect.internal.util.StringOps", "2.10.0")