aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dotty/tools/dotc/printing/RefinedPrinter.scala7
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)