From 919310a29daebabe3335d428f5f5e52ed6295cbd Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 19 Jul 2013 19:08:42 +0200 Subject: Made reporting framework more lightweight and uniform in preparation of future integration of reporters in typerstate. --- .../tools/dotc/reporting/ConsoleReporter.scala | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'src/dotty/tools/dotc/reporting/ConsoleReporter.scala') diff --git a/src/dotty/tools/dotc/reporting/ConsoleReporter.scala b/src/dotty/tools/dotc/reporting/ConsoleReporter.scala index 9b72c4f5c..461697bfc 100644 --- a/src/dotty/tools/dotc/reporting/ConsoleReporter.scala +++ b/src/dotty/tools/dotc/reporting/ConsoleReporter.scala @@ -5,7 +5,7 @@ package reporting import scala.collection.mutable import util.SourcePosition import core.Contexts._ -import Reporter.Severity.{Value => Severity, _} +import Reporter._ import java.io.{ BufferedReader, IOException, PrintWriter } import scala.reflect.internal.util._ @@ -18,9 +18,6 @@ class ConsoleReporter( writer: PrintWriter = new PrintWriter(Console.err, true))(ctx: Context) extends Reporter(ctx) with UniqueMessagePositions { - /** Whether a short file name should be displayed before errors */ - protected def shortName: Boolean = false - /** maximal number of error messages to be printed */ protected def ErrorLimit = 100 @@ -34,22 +31,19 @@ class ConsoleReporter( def printMessage(msg: String) { writer.print(msg + "\n"); writer.flush() } /** Prints the message with the given position indication. */ - def printMessage(msg: String, pos: SourcePosition)(implicit ctx: Context) { - printMessage(s"${if (pos.exists) s"$pos: " else ""}$msg") + def printMessageAndPos(msg: String, pos: SourcePosition)(implicit ctx: Context) { + val posStr = if (pos.exists) s"$pos: " else "" + printMessage(posStr + msg) if (pos.exists) { printSourceLine(pos) printColumnMarker(pos) } } - def printMessage(msg: String, severity: Severity, pos: SourcePosition)(implicit ctx: Context) { - printMessage(label(severity) + msg, pos) - } - - override def report(msg: String, severity: Severity, pos: SourcePosition)(implicit ctx: Context) { - if (severity != ERROR || count(severity) <= ErrorLimit) - printMessage(msg, severity, pos) - if (severity != INFO && ctx.settings.prompt.value) displayPrompt() + override def doReport(d: Diagnostic)(implicit ctx: Context) { + if (d.severity != ERROR || count(d.severity.level) <= ErrorLimit) + printMessageAndPos(label(d.severity) + d.msg, d.pos) + if (d.severity.level > INFO.level && ctx.settings.prompt.value) displayPrompt() } def displayPrompt(): Unit = { -- cgit v1.2.3