diff options
author | Martin Odersky <odersky@gmail.com> | 2013-09-23 12:29:53 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-09-23 12:29:53 +0200 |
commit | 918c190c91a27212caf2152f9a65533f9dff395d (patch) | |
tree | b49833bd9a8c2d584be9c9d3e52c666d096c4ec8 /src/dotty/tools/dotc/printing | |
parent | 2a8abfa8da9742e0a8b5460c6032d7ef610e44ab (diff) | |
download | dotty-918c190c91a27212caf2152f9a65533f9dff395d.tar.gz dotty-918c190c91a27212caf2152f9a65533f9dff395d.tar.bz2 dotty-918c190c91a27212caf2152f9a65533f9dff395d.zip |
Fixed a bug related to classfile parsing
Parsing inner classes of generic outer classes requires a name-unexpansion.
Diffstat (limited to 'src/dotty/tools/dotc/printing')
-rw-r--r-- | src/dotty/tools/dotc/printing/PlainPrinter.scala | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/printing/PlainPrinter.scala b/src/dotty/tools/dotc/printing/PlainPrinter.scala index 6e81d5558..8780f60e6 100644 --- a/src/dotty/tools/dotc/printing/PlainPrinter.scala +++ b/src/dotty/tools/dotc/printing/PlainPrinter.scala @@ -161,7 +161,8 @@ class PlainPrinter(_ctx: Context) extends Printer { protected def idString(sym: Symbol): String = if (ctx.settings.uniqid.value) "#" + sym.id else "" - def nameString(sym: Symbol): String = simpleNameString(sym) + idString(sym) + def nameString(sym: Symbol): String = + simpleNameString(sym) + idString(sym) // + "<" + (if (sym.exists) sym.owner else "") + ">" def fullNameString(sym: Symbol): String = if (sym.isRoot || sym == NoSymbol || sym.owner.isEffectiveRoot) @@ -312,7 +313,9 @@ class PlainPrinter(_ctx: Context) extends Printer { else nameString(sym) }).close - def locationText(sym: Symbol): Text = { + def locationText(sym: Symbol): Text = + if (!sym.exists) "" + else { val owns = sym.effectiveOwner if (owns.isClass && !isEmptyPrefix(owns)) " in " ~ toText(owns) else Text() } |