Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

48 lines (40 sloc) 1.321 kb
/* NSC -- new Scala compiler
* Copyright 2009-2013 Typesafe/Scala Solutions and LAMP/EPFL
* @author Martin Odersky
*/
package scala.tools.nsc
package interactive
import scala.collection.mutable.ArrayBuffer
import scala.reflect.internal.util.Position
import reporters.Reporter
case class Problem(pos: Position, msg: String, severityLevel: Int)
abstract class InteractiveReporter extends Reporter {
def compiler: Global
val otherProblems = new ArrayBuffer[Problem]
override def info0(pos: Position, msg: String, severity: Severity, force: Boolean): Unit = try {
severity.count += 1
val problems =
if (compiler eq null) {
otherProblems
} else if (pos.isDefined) {
compiler.getUnit(pos.source) match {
case Some(unit) =>
compiler.debugLog(pos.source.file.name + ":" + pos.line + ": " + msg)
unit.problems
case None =>
compiler.debugLog(pos.source.file.name + "[not loaded] :" + pos.line + ": " + msg)
otherProblems
}
} else {
compiler.debugLog("[no position] :" + msg)
otherProblems
}
problems += Problem(pos, msg, severity.id)
} catch {
case ex: UnsupportedOperationException =>
}
override def reset() {
super.reset()
otherProblems.clear()
}
}
Jump to Line
Something went wrong with that request. Please try again.