summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/runtime/ToolBoxes.scala
diff options
context:
space:
mode:
authorEugene Burmako <burmako@epfl.ch>2011-11-28 13:37:52 +0000
committerEugene Burmako <burmako@epfl.ch>2011-11-28 13:37:52 +0000
commit4e987a3cf032eb176c20bf3fd5ac847a73b19c00 (patch)
tree41b2cc06372010f9d30a671d46bf504aa3f9bc05 /src/compiler/scala/reflect/runtime/ToolBoxes.scala
parent66bf8db3f115675377d82869fddcab6006adf04d (diff)
downloadscala-4e987a3cf032eb176c20bf3fd5ac847a73b19c00.tar.gz
scala-4e987a3cf032eb176c20bf3fd5ac847a73b19c00.tar.bz2
scala-4e987a3cf032eb176c20bf3fd5ac847a73b19c00.zip
Reflection toolboxes now respect settings that ...
Reflection toolboxes now respect settings that are provided to them. Before the fix CompilerCommand lacked the (args, settings, errorFn) ctor. I added it and provided means to augment passed settings with custom errorFn. Closes SI-5239. Review by odersky.
Diffstat (limited to 'src/compiler/scala/reflect/runtime/ToolBoxes.scala')
-rw-r--r--src/compiler/scala/reflect/runtime/ToolBoxes.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler/scala/reflect/runtime/ToolBoxes.scala b/src/compiler/scala/reflect/runtime/ToolBoxes.scala
index 7ec7d15fb7..e617239398 100644
--- a/src/compiler/scala/reflect/runtime/ToolBoxes.scala
+++ b/src/compiler/scala/reflect/runtime/ToolBoxes.scala
@@ -3,6 +3,7 @@ package runtime
import scala.tools.nsc.reporters.Reporter
import scala.tools.nsc.reporters.StoreReporter
+import scala.tools.nsc.reporters.AbstractReporter
import scala.tools.nsc.ReflectGlobal
import scala.tools.nsc.CompilerCommand
import scala.tools.nsc.Global
@@ -109,7 +110,12 @@ trait ToolBoxes extends { self: Universe =>
}
lazy val compiler: ToolBoxGlobal = {
- val command = new CompilerCommand(arguments.toList, reporter.error(scala.tools.nsc.util.NoPosition, _))
+ val errorFn: String => Unit = reporter.error(scala.tools.nsc.util.NoPosition, _)
+ val command = reporter match {
+ case reporter: AbstractReporter => new CompilerCommand(arguments.toList, reporter.settings, errorFn)
+ case _ => new CompilerCommand(arguments.toList, errorFn)
+ }
+
command.settings.outputDirs setSingleOutput virtualDirectory
new ToolBoxGlobal(command.settings, reporter)
}