diff options
author | Martin Odersky <odersky@gmail.com> | 2016-11-14 11:58:59 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-11-16 14:25:40 +0100 |
commit | fe20b9064fca765a38345a09aa484bfb537aa3c0 (patch) | |
tree | 99cce659b7c2fe7d79fd5c9c87ba51bcb96a7545 /src/dotty/tools/dotc/printing/PlainPrinter.scala | |
parent | 97b6985c34915b58e0c81fbab464f4bd532c27d0 (diff) | |
download | dotty-fe20b9064fca765a38345a09aa484bfb537aa3c0.tar.gz dotty-fe20b9064fca765a38345a09aa484bfb537aa3c0.tar.bz2 dotty-fe20b9064fca765a38345a09aa484bfb537aa3c0.zip |
Pickle and unpickle type trees
Lots of other changes to make positions work out everywhere.
One important change is that now trees can be shared, just
as types can. This change improves memory requirements (a bit)
and also makes positions in shared trees more robust.
Diffstat (limited to 'src/dotty/tools/dotc/printing/PlainPrinter.scala')
-rw-r--r-- | src/dotty/tools/dotc/printing/PlainPrinter.scala | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/printing/PlainPrinter.scala b/src/dotty/tools/dotc/printing/PlainPrinter.scala index 785f57897..06d44e301 100644 --- a/src/dotty/tools/dotc/printing/PlainPrinter.scala +++ b/src/dotty/tools/dotc/printing/PlainPrinter.scala @@ -231,9 +231,10 @@ class PlainPrinter(_ctx: Context) extends Printer { protected def trimPrefix(text: Text) = text.stripPrefix(objectPrefix).stripPrefix(packagePrefix) - protected def selectionString(tp: NamedType) = - if (tp.currentSymbol.exists) nameString(tp.symbol) - else nameString(tp.name) + protected def selectionString(tp: NamedType) = { + val sym = if (homogenizedView) tp.symbol else tp.currentSymbol + if (sym.exists) nameString(sym) else nameString(tp.name) + } /** The string representation of this type used as a prefix */ protected def toTextRef(tp: SingletonType): Text = controlled { |