@@ -268,28 +268,23 @@ class Run(comp: Compiler, ictx: Context) extends ImplicitRunInfo with Constraint
268
268
val unit = ctx.compilationUnit
269
269
val prevPhase = ctx.phase.prev // can be a mini-phase
270
270
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
274
273
val treeString = tree.show(using ctx.withProperty(XprintMode , Some (())))
275
274
276
- report.echo(s " result of $unit after $fusedPhase: " )
277
-
278
275
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" )
288
278
last
289
279
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)
293
288
}
294
289
}
295
290
0 commit comments