@@ -318,7 +318,8 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
318318 if (name.isTypeName) typeText(txt)
319319 else txt
320320 case tree @ Select (qual, name) =>
321- if (qual.isType) toTextLocal(qual) ~ " #" ~ typeText(toText(name))
321+ if (tree.hasType && tree.symbol == defn.QuotedExpr_~ || tree.symbol == defn.QuotedType_~ ) keywordStr(" ~(" ) ~ toTextLocal(qual) ~ keywordStr(" )" )
322+ else if (qual.isType) toTextLocal(qual) ~ " #" ~ typeText(toText(name))
322323 else toTextLocal(qual) ~ (" ." ~ nameIdText(tree) provided name != nme.CONSTRUCTOR )
323324 case tree : This =>
324325 optDotPrefix(tree) ~ keywordStr(" this" ) ~ idText(tree)
@@ -329,6 +330,10 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
329330 changePrec (GlobalPrec ) {
330331 keywordStr(" throw " ) ~ toText(args.head)
331332 }
333+ else if (fun.hasType && fun.symbol == defn.QuotedExpr_apply )
334+ keywordStr(" '{" ) ~ toTextGlobal(args, " , " ) ~ keywordStr(" }" )
335+ else if (fun.hasType && fun.symbol == defn.QuotedType_apply )
336+ keywordStr(" '[" ) ~ toTextGlobal(args, " , " ) ~ keywordStr(" ]" )
332337 else
333338 toTextLocal(fun) ~ " (" ~ toTextGlobal(args, " , " ) ~ " )"
334339 case tree : TypeApply =>
@@ -558,7 +563,7 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
558563 keywordStr(" try " ) ~ toText(expr) ~ " " ~ keywordStr(" catch" ) ~ " {" ~ toText(handler) ~ " }" ~ optText(finalizer)(keywordStr(" finally " ) ~ _)
559564 }
560565 case Quote (tree) =>
561- if (tree.isType) " '[" ~ toTextGlobal(tree) ~ " ]" else " '( " ~ toTextGlobal(tree) ~ " ) "
566+ if (tree.isType) keywordStr( " '[" ) ~ toTextGlobal(tree) ~ keywordStr( " ]" ) else keywordStr( " '{ " ) ~ toTextGlobal(tree) ~ keywordStr( " } " )
562567 case Thicket (trees) =>
563568 " Thicket {" ~~ toTextGlobal(trees, " \n " ) ~~ " }"
564569 case _ =>
0 commit comments