Skip to content

Commit 160d4dd

Browse files
committed
Export more printing methods from Printer
The added methods are useful to have when using Printers.
1 parent 45a0a9b commit 160d4dd

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -76,24 +76,6 @@ class PlainPrinter(_ctx: Context) extends Printer {
7676

7777
private def selfRecName(n: Int) = s"z$n"
7878

79-
/** Render elements alternating with `sep` string */
80-
protected def toText(elems: Traversable[Showable], sep: String) =
81-
Text(elems map (_ toText this), sep)
82-
83-
/** Render element within highest precedence */
84-
protected def toTextLocal(elem: Showable): Text =
85-
atPrec(DotPrec) { elem.toText(this) }
86-
87-
/** Render element within lowest precedence */
88-
protected def toTextGlobal(elem: Showable): Text =
89-
atPrec(GlobalPrec) { elem.toText(this) }
90-
91-
protected def toTextLocal(elems: Traversable[Showable], sep: String) =
92-
atPrec(DotPrec) { toText(elems, sep) }
93-
94-
protected def toTextGlobal(elems: Traversable[Showable], sep: String) =
95-
atPrec(GlobalPrec) { toText(elems, sep) }
96-
9779
/** If the name of the symbol's owner should be used when you care about
9880
* seeing an interesting name: in such cases this symbol is e.g. a method
9981
* parameter with a synthetic name, a constructor named "this", an object

compiler/src/dotty/tools/dotc/printing/Printer.scala

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,27 @@ abstract class Printer {
103103
/** Textual representation of info relating to an import clause */
104104
def toText(result: ImportInfo): Text
105105

106-
/** Perform string or text-producing operation `op` so that only a
106+
/** Render element within highest precedence */
107+
def toTextLocal(elem: Showable): Text =
108+
atPrec(DotPrec) { elem.toText(this) }
109+
110+
/** Render element within lowest precedence */
111+
def toTextGlobal(elem: Showable): Text =
112+
atPrec(GlobalPrec) { elem.toText(this) }
113+
114+
/** Render elements alternating with `sep` string */
115+
def toText(elems: Traversable[Showable], sep: String) =
116+
Text(elems map (_ toText this), sep)
117+
118+
/** Render elements within highest precedence */
119+
def toTextLocal(elems: Traversable[Showable], sep: String) =
120+
atPrec(DotPrec) { toText(elems, sep) }
121+
122+
/** Render elements within lowest precedence */
123+
def toTextGlobal(elems: Traversable[Showable], sep: String) =
124+
atPrec(GlobalPrec) { toText(elems, sep) }
125+
126+
/** Perform string or text-producing operation `op` so that only a
107127
* summarized text with given recursion depth is shown
108128
*/
109129
def summarized[T](depth: Int)(op: => T): T

0 commit comments

Comments
 (0)