diff options
author | Martin Odersky <odersky@gmail.com> | 2014-05-07 18:26:37 +0200 |
---|---|---|
committer | Samuel Gruetter <samuel.gruetter@epfl.ch> | 2014-05-20 13:38:48 +0200 |
commit | f7910005038c188e573e8d1a42ff3e31c69c90c1 (patch) | |
tree | 936ade866ca937ae2fda21cbc6187f0dfc34dca9 /src/dotty/tools/dotc/printing/PlainPrinter.scala | |
parent | c2d5246bdb33d60d3eaff62a539d01368124d859 (diff) | |
download | dotty-f7910005038c188e573e8d1a42ff3e31c69c90c1.tar.gz dotty-f7910005038c188e573e8d1a42ff3e31c69c90c1.tar.bz2 dotty-f7910005038c188e573e8d1a42ff3e31c69c90c1.zip |
Better printing of anonymous classes.
Used to be just $anon, now is `Ps { ... }`, where `Ps` are
the instantiated parents of the anonymous class.
Diffstat (limited to 'src/dotty/tools/dotc/printing/PlainPrinter.scala')
-rw-r--r-- | src/dotty/tools/dotc/printing/PlainPrinter.scala | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/printing/PlainPrinter.scala b/src/dotty/tools/dotc/printing/PlainPrinter.scala index 308470885..3a322648a 100644 --- a/src/dotty/tools/dotc/printing/PlainPrinter.scala +++ b/src/dotty/tools/dotc/printing/PlainPrinter.scala @@ -251,22 +251,21 @@ class PlainPrinter(_ctx: Context) extends Printer { case sym: Symbol if !sym.isCompleted => "this: ? =>" case _ => "this: " ~ atPrec(InfixPrec) { toText(tp.selfType) } ~ " =>" } - val parentsText = Text(cparents.map(p => - toTextLocal(reconstituteParent(cls, p))), " with ") val trueDecls = otherDecls.filterNot(treatAsTypeArg) val declsText = if (trueDecls.isEmpty || !ctx.settings.debug.value) Text() else dclsText(trueDecls) - tparamsText ~ " extends " ~ parentsText ~ "{" ~ selfText ~ declsText ~ + tparamsText ~ " extends " ~ toTextParents(tp.parents) ~ "{" ~ selfText ~ declsText ~ "} at " ~ preText case _ => ": " ~ toTextGlobal(tp) } } + protected def toTextParents(parents: List[Type]): Text = Text(parents.map(toTextLocal), " with ") + protected def treatAsTypeParam(sym: Symbol): Boolean = false protected def treatAsTypeArg(sym: Symbol): Boolean = false - protected def reconstituteParent(cls: ClassSymbol, parent: Type): Type = parent /** String representation of symbol's kind. */ def kindString(sym: Symbol): String = { |