Skip to content

Commit 9906636

Browse files
authored
Merge pull request #1406 from dotty-staging/fix-output-diff
Make -Xprint-diff an opt-in option.
2 parents 0536d1f + f32184a commit 9906636

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/dotty/tools/dotc/Run.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,10 @@ class Run(comp: Compiler)(implicit ctx: Context) {
9292

9393
last match {
9494
case SomePrintedTree(phase, lastTreeSting) if lastTreeSting != treeString =>
95-
val diff = DiffUtil.mkColoredCodeDiff(treeString, lastTreeSting, ctx.settings.XprintDiffDel.value)
96-
ctx.echo(diff)
95+
val msg =
96+
if (!ctx.settings.XprintDiff.value && !ctx.settings.XprintDiffDel.value) treeString
97+
else DiffUtil.mkColoredCodeDiff(treeString, lastTreeSting, ctx.settings.XprintDiffDel.value)
98+
ctx.echo(msg)
9799
SomePrintedTree(squashedPhase.toString, treeString)
98100

99101
case SomePrintedTree(phase, lastTreeSting) =>

src/dotty/tools/dotc/config/ScalaSettings.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ class ScalaSettings extends Settings.SettingGroup {
8585
val writeICode = PhasesSetting("-Xprint-icode", "Log internal icode to *.icode files after", "icode")
8686
val Xprintpos = BooleanSetting("-Xprint-pos", "Print tree positions, as offsets.")
8787
val printtypes = BooleanSetting("-Xprint-types", "Print tree types (debugging option).")
88-
val XprintDiffDel = BooleanSetting("-Xprint-diff-del", "Print deleted parts of the tree since last print.")
88+
val XprintDiff = BooleanSetting("-Xprint-diff", "Print changed parts of the tree since last print.")
89+
val XprintDiffDel = BooleanSetting("-Xprint-diff-del", "Print chaged parts of the tree since last print including deleted parts.")
8990
val prompt = BooleanSetting("-Xprompt", "Display a prompt after each error (debugging option).")
9091
val script = StringSetting("-Xscript", "object", "Treat the source file as a script and wrap it in a main method.", "")
9192
val mainClass = StringSetting("-Xmain-class", "path", "Class for manifest's Main-Class entry (only useful with -d <jar>)", "")

0 commit comments

Comments
 (0)