Skip to content

Commit b182b3d

Browse files
committed
.
1 parent 3a910e5 commit b182b3d

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

compiler/src/dotty/tools/dotc/util/StackTraceOps.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ object StackTraceOps:
3737
val Self = ""
3838
val CausedBy = "Caused by: "
3939
val Suppressed = "Suppressed: "
40+
def renderDotDelimited(s: String ) = {
41+
fansi.Str.join(s.split('.').map(fansi.Color.LightRed(_)), ".")
42+
}
4043

4144
def header(e: Throwable): fansi.Str =
4245
def because = e.getCause match { case null => null ; case c => header(c) }
@@ -45,13 +48,12 @@ object StackTraceOps:
4548
case null => ""
4649
case s => s": $s"
4750
}
48-
fansi.Color.LightRed(e.getClass.getName) ++ txt
51+
renderDotDelimited(e.getClass.getName) ++ txt
4952

5053
val seen = mutable.Set.empty[Throwable]
5154
def unseen(e: Throwable): Boolean = (e != null && !seen(e)).tap(if _ then seen += e)
5255

5356
val lines = ListBuffer.empty[fansi.Str]
54-
5557
// format the stack trace, skipping the shared trace
5658
def print(e: Throwable, r: TraceRelation, share: Array[StackTraceElement], indents: Int): Unit = if unseen(e) then
5759
val trace = e.getStackTrace
@@ -65,7 +67,7 @@ object StackTraceOps:
6567
prefix.foreach(frame =>
6668
lines +=
6769
fansi.Str(s"$margin ") ++ fansi.Color.Red("at") ++ " " ++
68-
fansi.Str.join(frame.getClassName.split('.').map(fansi.Color.LightRed(_)), ".") ++ "." ++
70+
renderDotDelimited(frame.getClassName) ++ "." ++
6971
fansi.Color.LightRed(frame.getMethodName) ++ "(" ++
7072
fansi.Color.LightRed(frame.getFileName) ++ ":" ++
7173
fansi.Color.LightRed(frame.getLineNumber.toString) ++ ")"

0 commit comments

Comments
 (0)