aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2017-03-16 19:34:39 +0100
committerGuillaume Martres <smarter@ubuntu.com>2017-03-16 19:34:39 +0100
commit96c6d38649d0f1605a31f542a53509d57af79709 (patch)
treea6c2e14e0418fc64f31fe79ed47ef5c28693433f
parent2325863c216e2bf4f7ad0f366bb80ef866ff6b79 (diff)
downloaddotty-96c6d38649d0f1605a31f542a53509d57af79709.tar.gz
dotty-96c6d38649d0f1605a31f542a53509d57af79709.tar.bz2
dotty-96c6d38649d0f1605a31f542a53509d57af79709.zip
New flag -Ydebug-alias to never follow aliases when printing types
-rw-r--r--compiler/src/dotty/tools/dotc/config/ScalaSettings.scala1
-rw-r--r--compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala2
2 files changed, 2 insertions, 1 deletions
diff --git a/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala b/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala
index 40e2b083b..318295751 100644
--- a/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala
+++ b/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala
@@ -64,6 +64,7 @@ class ScalaSettings extends Settings.SettingGroup {
val Ycheck = PhasesSetting("-Ycheck", "Check the tree at the end of")
val YcheckMods = BooleanSetting("-Ycheck-mods", "Check that symbols and their defining trees have modifiers in sync")
val debug = BooleanSetting("-Ydebug", "Increase the quantity of debugging output.")
+ val debugAlias = BooleanSetting("-Ydebug-alias", "Never follow alias when printing types")
val debugNames = BooleanSetting("-YdebugNames", "Show name-space indicators when printing names")
val debugTrace = BooleanSetting("-Ydebug-trace", "Trace core operations")
val debugFlags = BooleanSetting("-Ydebug-flags", "Print all flags of definitions")
diff --git a/compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala b/compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala
index 3d952f425..8a33472b8 100644
--- a/compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala
+++ b/compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala
@@ -130,7 +130,7 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
if (defn.isTupleClass(cls)) return toTextTuple(args)
return (toTextLocal(tycon) ~ "[" ~ Text(args map argText, ", ") ~ "]").close
case tp: TypeRef =>
- val hideType = tp.symbol is AliasPreferred
+ val hideType = !ctx.settings.debugAlias.value && (tp.symbol is AliasPreferred)
if (hideType && !ctx.phase.erasedTypes && !tp.symbol.isCompleting) {
tp.info match {
case TypeAlias(alias) => return toText(alias)