aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/reporting/ConsoleReporter.scala
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-09-19 19:26:16 +0200
committerFelix Mulder <felix.mulder@gmail.com>2016-10-10 13:25:34 +0200
commite24289ac19a21c6b3794d02e8fe42766224f173c (patch)
tree94dae1ffb70995c2851550952f0f17a953936711 /src/dotty/tools/dotc/reporting/ConsoleReporter.scala
parent628b7f317756ce2c366359a7399b8dda9d0190b7 (diff)
downloaddotty-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.scala25
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 = {