aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/printing
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-08-17 10:19:43 +0200
committerMartin Odersky <odersky@gmail.com>2013-08-17 10:19:43 +0200
commitfd6a6774be4be37f707f509aef997e456a6b64ac (patch)
tree50eea18194ce6a7b588b200a34150b8d75e64f0f /src/dotty/tools/dotc/printing
parent0575d51b898d14f818e35a19a5f9f67f280a0b04 (diff)
downloaddotty-fd6a6774be4be37f707f509aef997e456a6b64ac.tar.gz
dotty-fd6a6774be4be37f707f509aef997e456a6b64ac.tar.bz2
dotty-fd6a6774be4be37f707f509aef997e456a6b64ac.zip
Defined root context with imports
… and cleaned up and simplified other context-reated features.
Diffstat (limited to 'src/dotty/tools/dotc/printing')
-rw-r--r--src/dotty/tools/dotc/printing/PlainPrinter.scala2
-rw-r--r--src/dotty/tools/dotc/printing/Printer.scala3
-rw-r--r--src/dotty/tools/dotc/printing/Printers.scala11
-rw-r--r--src/dotty/tools/dotc/printing/RefinedPrinter.scala2
4 files changed, 12 insertions, 6 deletions
diff --git a/src/dotty/tools/dotc/printing/PlainPrinter.scala b/src/dotty/tools/dotc/printing/PlainPrinter.scala
index ee3526d1b..fe67f5b89 100644
--- a/src/dotty/tools/dotc/printing/PlainPrinter.scala
+++ b/src/dotty/tools/dotc/printing/PlainPrinter.scala
@@ -354,5 +354,7 @@ class PlainPrinter(_ctx: Context) extends Printer {
tree.fallbackToText(this)
}
}.close // todo: override in refined printer
+
+ def plain = this
}
diff --git a/src/dotty/tools/dotc/printing/Printer.scala b/src/dotty/tools/dotc/printing/Printer.scala
index 6944c4ae2..af87302e4 100644
--- a/src/dotty/tools/dotc/printing/Printer.scala
+++ b/src/dotty/tools/dotc/printing/Printer.scala
@@ -87,5 +87,8 @@ abstract class Printer {
/** Textual representation of tree */
def toText[T >: Untyped](tree: Tree[T]): Text
+
+ /** A plain printer without any embellishments */
+ def plain: Printer
}
diff --git a/src/dotty/tools/dotc/printing/Printers.scala b/src/dotty/tools/dotc/printing/Printers.scala
index ba1cf83bb..7107ccb78 100644
--- a/src/dotty/tools/dotc/printing/Printers.scala
+++ b/src/dotty/tools/dotc/printing/Printers.scala
@@ -5,11 +5,10 @@ import core.Contexts.Context
trait Printers { this: Context =>
- /** A creation method for printers, depending on debug option */
- def printerFn = if (this.debug) plainPrinter else refinedPrinter
-
- /** A function creatung a printer */
- def printer = printerFn(this)
-
+ /** A function creating a printer */
+ def printer = {
+ val pr = printerFn(this)
+ if (this.debug) pr.plain else pr
+ }
}
diff --git a/src/dotty/tools/dotc/printing/RefinedPrinter.scala b/src/dotty/tools/dotc/printing/RefinedPrinter.scala
index 87441f7b7..fe6711e7f 100644
--- a/src/dotty/tools/dotc/printing/RefinedPrinter.scala
+++ b/src/dotty/tools/dotc/printing/RefinedPrinter.scala
@@ -394,4 +394,6 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
}
override def toText(denot: Denotation): Text = toText(denot.symbol)
+
+ override def plain = new PlainPrinter(_ctx)
}