@@ -268,28 +268,23 @@ class Run(comp: Compiler, ictx: Context) extends ImplicitRunInfo with Constraint
268268 val unit = ctx.compilationUnit
269269 val prevPhase = ctx.phase.prev // can be a mini-phase
270270 val fusedPhase = ctx.base.fusedContaining(prevPhase)
271- val tree =
272- if (ctx.isAfterTyper) unit.tpdTree
273- else unit.untpdTree
271+ val echoHeader = f " [[syntax trees at end of $fusedPhase%25s]] // ${unit.source}"
272+ val tree = if ctx.isAfterTyper then unit.tpdTree else unit.untpdTree
274273 val treeString = tree.show(using ctx.withProperty(XprintMode , Some (())))
275274
276- report.echo(s " result of $unit after $fusedPhase: " )
277-
278275 last match {
279- case SomePrintedTree (phase, lastTreeSting) if lastTreeSting != treeString =>
280- val msg =
281- if (! ctx.settings.XprintDiff .value && ! ctx.settings.XprintDiffDel .value) treeString
282- else DiffUtil .mkColoredCodeDiff(treeString, lastTreeSting, ctx.settings.XprintDiffDel .value)
283- report.echo(msg)
284- SomePrintedTree (fusedPhase.toString, treeString)
285-
286- case SomePrintedTree (phase, lastTreeSting) =>
287- report.echo(" Unchanged since " + phase)
276+ case SomePrintedTree (phase, lastTreeString) if lastTreeString == treeString =>
277+ report.echo(s " $echoHeader: unchanged since $phase" )
288278 last
289279
290- case NoPrintedTree =>
291- report.echo(treeString)
292- SomePrintedTree (fusedPhase.toString, treeString)
280+ case SomePrintedTree (phase, lastTreeString) if ctx.settings.XprintDiff .value || ctx.settings.XprintDiffDel .value =>
281+ val diff = DiffUtil .mkColoredCodeDiff(treeString, lastTreeString, ctx.settings.XprintDiffDel .value)
282+ report.echo(s " $echoHeader\n $diff\n " )
283+ SomePrintedTree (fusedPhase.phaseName, treeString)
284+
285+ case _ =>
286+ report.echo(s " $echoHeader\n $treeString\n " )
287+ SomePrintedTree (fusedPhase.phaseName, treeString)
293288 }
294289 }
295290
0 commit comments