diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-09-19 19:26:16 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-10-10 13:25:34 +0200 |
commit | e24289ac19a21c6b3794d02e8fe42766224f173c (patch) | |
tree | 94dae1ffb70995c2851550952f0f17a953936711 /src/dotty/tools/dotc/reporting/ConsoleReporter.scala | |
parent | 628b7f317756ce2c366359a7399b8dda9d0190b7 (diff) | |
download | dotty-e24289ac19a21c6b3794d02e8fe42766224f173c.tar.gz dotty-e24289ac19a21c6b3794d02e8fe42766224f173c.tar.bz2 dotty-e24289ac19a21c6b3794d02e8fe42766224f173c.zip |
Make relevant parts of compiler conform to new error handling
Diffstat (limited to 'src/dotty/tools/dotc/reporting/ConsoleReporter.scala')
-rw-r--r-- | src/dotty/tools/dotc/reporting/ConsoleReporter.scala | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/dotty/tools/dotc/reporting/ConsoleReporter.scala b/src/dotty/tools/dotc/reporting/ConsoleReporter.scala index 1ae6a1135..92eea9fa9 100644 --- a/src/dotty/tools/dotc/reporting/ConsoleReporter.scala +++ b/src/dotty/tools/dotc/reporting/ConsoleReporter.scala @@ -9,6 +9,7 @@ import Reporter._ import java.io.{ BufferedReader, IOException, PrintWriter } import scala.reflect.internal.util._ import diagnostic.Message +import diagnostic.MessageContainer import diagnostic.messages._ /** @@ -16,11 +17,11 @@ import diagnostic.messages._ * console. */ class ConsoleReporter( - reader: BufferedReader = Console.in, - writer: PrintWriter = new PrintWriter(Console.err, true)) - extends Reporter with UniqueMessagePositions with HideNonSensicalMessages { + reader: BufferedReader = Console.in, + writer: PrintWriter = new PrintWriter(Console.err, true) +) extends Reporter with UniqueMessagePositions with HideNonSensicalMessages { - import Message._ + import MessageContainer._ /** maximal number of error messages to be printed */ protected def ErrorLimit = 100 @@ -35,9 +36,9 @@ class ConsoleReporter( def printMessage(msg: String): Unit = { writer.print(msg + "\n"); writer.flush() } /** Prints the message with the given position indication. */ - def printMessageAndPos(msg: String, pos: SourcePosition, kind: String = "")(implicit ctx: Context): Unit = { + def printMessageAndPos(msg: Message, pos: SourcePosition, kind: String)(implicit ctx: Context): Unit = { val posStr = if (pos.exists) s"$pos: " else "" - printMessage(s"${posStr}$kind: $msg") + printMessage(s"${posStr}${kind}: ${msg.msg}") if (pos.exists) { printSourceLine(pos) printColumnMarker(pos) @@ -52,21 +53,21 @@ class ConsoleReporter( |${m.explanation}""".stripMargin ) - override def doReport(m: Message)(implicit ctx: Context): Unit = { + override def doReport(m: MessageContainer)(implicit ctx: Context): Unit = { m match { case m: Error => - printMessageAndPos(m.message, m.pos, m.kind) + printMessageAndPos(m.contained, m.pos, m.kind) if (ctx.settings.prompt.value) displayPrompt() case m: ConditionalWarning if !m.enablingOption.value => case m: MigrationWarning => - printMessageAndPos(m.message, m.pos, m.kind) + printMessageAndPos(m.contained, m.pos, m.kind) case m: Warning => - printMessageAndPos(m.message, m.pos, m.kind) + printMessageAndPos(m.contained, m.pos, m.kind) case _ => - printMessageAndPos(m.message, m.pos, m.kind) + printMessageAndPos(m.contained, m.pos, m.kind) } - if (ctx.shouldExplain(m)) printExplanation(m) + if (ctx.shouldExplain(m)) printExplanation(m.contained) } def displayPrompt(): Unit = { |