From 6d70392b11a658bdcbc4a21898370ca58c707c44 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 23 Oct 2013 21:16:25 +0200 Subject: Making printing refined types more robust. Refined type printing gave {} if the refined name did not have a member in the parent. We now print the refined name instead. --- src/dotty/tools/dotc/printing/RefinedPrinter.scala | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/dotty/tools/dotc/printing') diff --git a/src/dotty/tools/dotc/printing/RefinedPrinter.scala b/src/dotty/tools/dotc/printing/RefinedPrinter.scala index 6d6442d2f..93e77ac2f 100644 --- a/src/dotty/tools/dotc/printing/RefinedPrinter.scala +++ b/src/dotty/tools/dotc/printing/RefinedPrinter.scala @@ -67,8 +67,11 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) { super.refinementNameString(tp) else { val tsym = tp.member(tp.refinedName).symbol - val name = tsym.originalName - nameString(if (tsym is ExpandedTypeParam) name.asTypeName.unexpandedName() else name) + if (!tsym.exists) super.refinementNameString(tp) + else { + val name = tsym.originalName + nameString(if (tsym is ExpandedTypeParam) name.asTypeName.unexpandedName() else name) + } } override def toText(tp: Type): Text = controlled { -- cgit v1.2.3