Skip to content

Commit ac2dcc0

Browse files
committed
Print full origin trail of derived capture sets under -Ycc-debug
1 parent caec7a5 commit ac2dcc0

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

compiler/src/dotty/tools/dotc/cc/CaptureSet.scala

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -314,12 +314,15 @@ object CaptureSet:
314314
isSolved = true
315315
deps.foreach(_.propagateSolved())
316316

317-
override def toText(printer: Printer): Text =
318-
def debug = inContext(printer.printerContext) {
319-
ctx.settings.YccDebug.value
320-
}
321-
super.toText(printer)
322-
~ (id.toString ~ getClass.getSimpleName.take(1) provided !isConst && debug)
317+
protected def ids(using Context): String =
318+
val trail = this.match
319+
case dv: DerivedVar => dv.source.ids
320+
case _ => ""
321+
s"$id${getClass.getSimpleName.take(1)}$trail"
322+
323+
override def toText(printer: Printer): Text = inContext(printer.printerContext) {
324+
super.toText(printer) ~ (Str(ids) provided !isConst && ctx.settings.YccDebug.value)
325+
}
323326

324327
override def toString = s"Var$id$elems"
325328
end Var

0 commit comments

Comments
 (0)