diff options
-rw-r--r-- | src/dotty/tools/dotc/printing/RefinedPrinter.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/printing/RefinedPrinter.scala b/src/dotty/tools/dotc/printing/RefinedPrinter.scala index 3a83aae63..5328c1d19 100644 --- a/src/dotty/tools/dotc/printing/RefinedPrinter.scala +++ b/src/dotty/tools/dotc/printing/RefinedPrinter.scala @@ -139,8 +139,13 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) { case expr => toText(expr) } + def enumText(tree: Tree[T]) = tree match { + case _: untpd.GenFrom | _: untpd.GenAlias => toText(tree) + case _ => "if " ~ toText(tree) + } + def forText(enums: List[Tree[T]], expr: Tree[T], sep: String): Text = - changePrec(GlobalPrec) { "for " ~ toText(enums, "; ") ~ sep ~ toText(expr) } + changePrec(GlobalPrec) { "for " ~ Text(enums map enumText, "; ") ~ sep ~ toText(expr) } def cxBoundToText(bound: Tree[T]): Text = bound match { case AppliedTypeTree(tpt, _) => " : " ~ toText(tpt) |