summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormihaylov <mihaylov@epfl.ch>2007-02-06 17:08:03 +0000
committermihaylov <mihaylov@epfl.ch>2007-02-06 17:08:03 +0000
commit658bc3c447a78dc1e156036710aa3b0f79ddef1b (patch)
tree2369ad7579c3e0af2fb7210e2d3ad58c6af7d974 /src
parentf1c170f25f647a790126d66cab576d349b16c9b9 (diff)
downloadscala-658bc3c447a78dc1e156036710aa3b0f79ddef1b.tar.gz
scala-658bc3c447a78dc1e156036710aa3b0f79ddef1b.tar.bz2
scala-658bc3c447a78dc1e156036710aa3b0f79ddef1b.zip
Added a reference to Settings in AbstractReporter
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/ant/Scalac.scala4
-rw-r--r--src/compiler/scala/tools/ant/Scaladoc.scala2
-rw-r--r--src/compiler/scala/tools/nsc/CompileServer.scala12
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala4
-rw-r--r--src/compiler/scala/tools/nsc/Interpreter.scala4
-rw-r--r--src/compiler/scala/tools/nsc/Main.scala6
-rw-r--r--src/compiler/scala/tools/nsc/MainTokenMetric.scala2
-rw-r--r--src/compiler/scala/tools/nsc/ScriptRunner.scala2
-rw-r--r--src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala56
-rw-r--r--src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala5
10 files changed, 50 insertions, 47 deletions
diff --git a/src/compiler/scala/tools/ant/Scalac.scala b/src/compiler/scala/tools/ant/Scalac.scala
index 61afdeb081..c7ebae6d26 100644
--- a/src/compiler/scala/tools/ant/Scalac.scala
+++ b/src/compiler/scala/tools/ant/Scalac.scala
@@ -605,8 +605,8 @@ class Scalac extends MatchingTask {
/** Performs the compilation. */
override def execute() = {
- val reporter = new ConsoleReporter()
- val Pair(settings, sourceFiles) = initialize
+ val {settings, sourceFiles} = initialize
+ val reporter = new ConsoleReporter(settings)
// Compiles the actual code
val compiler = new Global(settings, reporter)
diff --git a/src/compiler/scala/tools/ant/Scaladoc.scala b/src/compiler/scala/tools/ant/Scaladoc.scala
index caa46a6963..92d313839b 100644
--- a/src/compiler/scala/tools/ant/Scaladoc.scala
+++ b/src/compiler/scala/tools/ant/Scaladoc.scala
@@ -415,8 +415,8 @@ package scala.tools.ant {
// Builds-up the compilation settings for Scalac with the existing Ant
// parameters.
- val reporter = new ConsoleReporter()
val settings = new Settings(error)
+ val reporter = new ConsoleReporter(settings)
settings.doc.value = true
settings.outdir.value = asString(destination.get)
if (!classpath.isEmpty)
diff --git a/src/compiler/scala/tools/nsc/CompileServer.scala b/src/compiler/scala/tools/nsc/CompileServer.scala
index bc99bf321f..24d4b17bd9 100644
--- a/src/compiler/scala/tools/nsc/CompileServer.scala
+++ b/src/compiler/scala/tools/nsc/CompileServer.scala
@@ -65,6 +65,8 @@ object CompileServer extends SocketServer {
private val runtime = Runtime.getRuntime()
+ var reporter: ConsoleReporter = _
+
def session(): unit = {
System.out.println("New session" +
", total memory = "+ runtime.totalMemory() +
@@ -88,10 +90,6 @@ object CompileServer extends SocketServer {
compiler = null
return
}
- val reporter = new ConsoleReporter(in, out) {
- // disable prompts, so that compile server cannot block
- override def displayPrompt = {}
- }
def error(msg: String): unit =
reporter.error(/*new Position*/ FakePos("fsc"),
msg + "\n fsc -help gives more information")
@@ -106,7 +104,11 @@ object CompileServer extends SocketServer {
new settings.BooleanSetting("-J<flag>", "Pass <flag> directly to runtime system")
}
- reporter.prompt = command.settings.prompt.value
+ reporter = new ConsoleReporter(command.settings, in, out) {
+ // disable prompts, so that compile server cannot block
+ override def displayPrompt = {}
+ }
+
if (command.settings.version.value)
reporter.info(null, versionMsg, true)
else if (command.settings.help.value)
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index 29ab8b6183..ce01994aab 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -42,9 +42,9 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
reporter)
def this(settings: Settings) =
- this(settings, new ConsoleReporter)
+ this(settings, new ConsoleReporter(settings))
- def this() = this(new Settings, new ConsoleReporter)
+ //def this() = this(new Settings, new ConsoleReporter)
// sub-components --------------------------------------------------
object treePrinters extends TreePrinters {
diff --git a/src/compiler/scala/tools/nsc/Interpreter.scala b/src/compiler/scala/tools/nsc/Interpreter.scala
index d1615d2700..119b68e5d3 100644
--- a/src/compiler/scala/tools/nsc/Interpreter.scala
+++ b/src/compiler/scala/tools/nsc/Interpreter.scala
@@ -68,12 +68,12 @@ class Interpreter(val settings: Settings, reporter: Reporter, out: PrintWriter)
/** construct an interpreter that reports to Console */
def this(settings: Settings) =
this(settings,
- new ConsoleReporter,
+ new ConsoleReporter(settings),
new PrintWriter(new ConsoleWriter, true))
/** construct an interpreter that uses the specified in and out streams */
def this(settings: Settings, out: PrintWriter) =
- this(settings, new ConsoleReporter(null, out), out)
+ this(settings, new ConsoleReporter(settings, null, out), out)
/** whether to print out result lines */
private var printResults: Boolean = true
diff --git a/src/compiler/scala/tools/nsc/Main.scala b/src/compiler/scala/tools/nsc/Main.scala
index c5453fc167..5c4c52e2f3 100644
--- a/src/compiler/scala/tools/nsc/Main.scala
+++ b/src/compiler/scala/tools/nsc/Main.scala
@@ -38,10 +38,8 @@ object Main extends AnyRef with EvalLoop {
}
def process(args: Array[String]): unit = {
- reporter = new ConsoleReporter();
- val command = new CompilerCommand(List.fromArray(args), error, false);
- reporter.prompt = command.settings.prompt.value
- reporter.nowarn = command.settings.nowarnings.value
+ val command = new CompilerCommand(List.fromArray(args), error, false)
+ reporter = new ConsoleReporter(command.settings)
if (command.settings.version.value)
reporter.info(null, versionMsg, true)
else if (command.settings.help.value)
diff --git a/src/compiler/scala/tools/nsc/MainTokenMetric.scala b/src/compiler/scala/tools/nsc/MainTokenMetric.scala
index f0eb7ad71b..798f43140b 100644
--- a/src/compiler/scala/tools/nsc/MainTokenMetric.scala
+++ b/src/compiler/scala/tools/nsc/MainTokenMetric.scala
@@ -42,7 +42,7 @@ object MainTokenMetric {
def process(args: Array[String]): unit = {
val command = new CompilerCommand(List.fromArray(args), error, false)
- reporter = new ConsoleReporter()
+ reporter = new ConsoleReporter(command.settings)
try {
val compiler = new Global(command.settings, reporter)
tokenMetric(compiler, command.files)
diff --git a/src/compiler/scala/tools/nsc/ScriptRunner.scala b/src/compiler/scala/tools/nsc/ScriptRunner.scala
index 50203f4491..e541cfc906 100644
--- a/src/compiler/scala/tools/nsc/ScriptRunner.scala
+++ b/src/compiler/scala/tools/nsc/ScriptRunner.scala
@@ -235,7 +235,7 @@ object ScriptRunner {
settings.outdir.value = compiledPath.getPath
if (settings.nocompdaemon.value) {
- val reporter = new ConsoleReporter
+ val reporter = new ConsoleReporter(settings)
val compiler = new Global(settings, reporter)
val cr = new compiler.Run
cr.compileSources(List(wrappedScript(scriptFile, &compiler.getSourceFile)))
diff --git a/src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala b/src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala
index 3e3d07cb92..734b1527ed 100644
--- a/src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala
+++ b/src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala
@@ -6,9 +6,11 @@
// $Id$
-package scala.tools.nsc.reporters;
-import scala.collection.mutable.HashSet;
-import scala.tools.nsc.util.Position;
+package scala.tools.nsc.reporters
+
+import scala.collection.mutable.HashSet
+import nsc.util.Position
+import nsc.Settings
/**
* This reporter implements filtering.
@@ -16,38 +18,38 @@ import scala.tools.nsc.util.Position;
abstract class AbstractReporter extends Reporter {
private val positions = new HashSet[Position]();
- def display(pos : Position, msg : String, severity : Severity) : Unit;
- var prompt : Boolean = false;
- var verbose : Boolean = false;
- var nowarn : Boolean = false;
- def displayPrompt : Unit;
-
- protected def info0(pos : Position, msg : String, severity : Severity, force : Boolean) : Unit = severity match {
- case INFO => if (force || verbose) display(pos, msg, severity);
- case WARNING => {
- val hidden = testAndLog(pos);
- if (!nowarn) {
- if (!hidden || prompt) display(pos, msg, severity);
- if (prompt) displayPrompt;
+ val settings: Settings
+
+ def display(pos : Position, msg : String, severity : Severity) : Unit
+ def displayPrompt : Unit
+
+ protected def info0(pos : Position, msg : String, severity : Severity, force : Boolean) : Unit =
+ severity match {
+ case INFO => if (force || settings.verbose.value) display(pos, msg, severity)
+ case WARNING => {
+ val hidden = testAndLog(pos)
+ if (!settings.nowarnings.value) {
+ if (!hidden || settings.prompt.value) display(pos, msg, severity)
+ if (settings.prompt.value) displayPrompt
+ }
+ }
+ case ERROR => {
+ val hidden = testAndLog(pos);
+ if (!hidden || settings.prompt.value) display(pos, msg, severity)
+ if (settings.prompt.value) displayPrompt
}
}
- case ERROR => {
- val hidden = testAndLog(pos);
- if (!hidden || prompt) display(pos, msg, severity);
- if (prompt) displayPrompt;
- }
- }
//########################################################################
// Private Methods
/** Logs a position and returns true if it was already logged. */
private def testAndLog(pos : Position) : Boolean = {
- if (pos eq null) return false;
- if (pos.column == 0) return false;
- if (positions.contains(pos)) return true;
- positions += (pos);
- return false;
+ if (pos eq null) return false
+ if (pos.column == 0) return false
+ if (positions.contains(pos)) return true
+ positions += (pos)
+ return false
}
//########################################################################
diff --git a/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala b/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala
index fe8efc0977..547ec9e214 100644
--- a/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala
+++ b/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala
@@ -20,7 +20,7 @@ import java.io.PrintWriter
* This class implements a Reporter that displays messages on a text
* console.
*/
-class ConsoleReporter(reader : BufferedReader, writer : PrintWriter) extends AbstractReporter {
+class ConsoleReporter(val settings: Settings, reader : BufferedReader, writer : PrintWriter) extends AbstractReporter {
//########################################################################
// Public Fields
@@ -41,7 +41,8 @@ class ConsoleReporter(reader : BufferedReader, writer : PrintWriter) extends Abs
//########################################################################
// Public Constructors
- def this() = this(Console.in, new PrintWriter(Console.err, true))
+ def this(settings: Settings) =
+ this(settings, Console.in, new PrintWriter(Console.err, true))
//########################################################################
// Public Methods - Count