diff options
-rw-r--r-- | src/compiler/scala/tools/ant/Scalac.scala | 4 | ||||
-rw-r--r-- | src/compiler/scala/tools/ant/Scaladoc.scala | 4 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/CompileServer.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/Global.scala | 16 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/Interpreter.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/Main.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/MainTokenMetric.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/PositionConfiguration.scala | 11 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/ScriptRunner.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/StdGlobal.scala | 11 |
10 files changed, 35 insertions, 21 deletions
diff --git a/src/compiler/scala/tools/ant/Scalac.scala b/src/compiler/scala/tools/ant/Scalac.scala index 435937d0e2..7a3d233aba 100644 --- a/src/compiler/scala/tools/ant/Scalac.scala +++ b/src/compiler/scala/tools/ant/Scalac.scala @@ -22,7 +22,7 @@ package scala.tools.ant { import org.apache.tools.ant.types.{EnumeratedAttribute, Reference} import scala.tools.nsc.reporters.{Reporter, ConsoleReporter} - import scala.tools.nsc.{Global, StdGlobal, FatalError, Settings} + import scala.tools.nsc.{Global, FatalError, Settings} /** An Ant task to compile with the new Scala compiler (NSC). * This task can take the following parameters as attributes:<ul> @@ -477,7 +477,7 @@ package scala.tools.ant { } // Compiles the actual code - val compiler = new StdGlobal(settings, reporter) + val compiler = new Global(settings, reporter) try { (new compiler.Run).compile(sourceFiles.map { f:File=>f.toString() }) } catch { diff --git a/src/compiler/scala/tools/ant/Scaladoc.scala b/src/compiler/scala/tools/ant/Scaladoc.scala index 8e3e407e2f..5940b900d0 100644 --- a/src/compiler/scala/tools/ant/Scaladoc.scala +++ b/src/compiler/scala/tools/ant/Scaladoc.scala @@ -23,7 +23,7 @@ package scala.tools.ant { import org.apache.tools.ant.types.{EnumeratedAttribute, Reference} import scala.tools.nsc.reporters.{Reporter, ConsoleReporter} - import scala.tools.nsc.{Global, StdGlobal, FatalError, Settings} + import scala.tools.nsc.{Global, FatalError, Settings} import scala.tools.nsc.doc.DocGenerator /** An Ant task to document Scala code. @@ -394,7 +394,7 @@ package scala.tools.ant { .replaceAll("&", "&").replaceAll(""", "\"") // Compiles the actual code - object compiler extends StdGlobal(settings, reporter) + object compiler extends Global(settings, reporter) try { val run = new compiler.Run run.compile(sourceFiles.map { f: File => f.toString() }) diff --git a/src/compiler/scala/tools/nsc/CompileServer.scala b/src/compiler/scala/tools/nsc/CompileServer.scala index 9136216426..c88f412948 100644 --- a/src/compiler/scala/tools/nsc/CompileServer.scala +++ b/src/compiler/scala/tools/nsc/CompileServer.scala @@ -123,7 +123,7 @@ object CompileServer extends SocketServer { } else { if (args contains "-verbose") out.println("[Starting new Scala compile server instance]") - compiler = new StdGlobal(command.settings, reporter) { + compiler = new Global(command.settings, reporter) { override def inform(msg: String) = out.println(msg) } } diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala index 891e35d98a..91fd77ab22 100644 --- a/src/compiler/scala/tools/nsc/Global.scala +++ b/src/compiler/scala/tools/nsc/Global.scala @@ -29,7 +29,7 @@ import backend.jvm.GenJVM import backend.opt.{Inliners, ClosureElimination, DeadCodeElimination} import backend.icode.analysis._ -abstract class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable +class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable with Trees with CompilationUnits { @@ -612,4 +612,18 @@ abstract class Global(var settings: Settings, var reporter: Reporter) extends Sy def forCLDC: Boolean = settings.target.value == "cldc" def onlyPresentation = settings.doc.value + // position stuff + val positionConfiguration : PositionConfiguration = new PositionConfiguration { + type PositionType = Int; + def coercePosToInt(pos : PositionType) : Int = pos; + def coerceIntToPos(pos : Int) : PositionType = pos; + val NoPos : PositionType = Position.NOPOS; + val FirstPos : PositionType = Position.FIRSTPOS; + } + final type PositionType = positionConfiguration.PositionType; + final val FirstPos = positionConfiguration.FirstPos; + final val NoPos = positionConfiguration.NoPos; + final def coerceIntToPos(pos : Int) : PositionType = positionConfiguration.coerceIntToPos(pos); + implicit final def coercePosToInt(pos : PositionType) : Int = positionConfiguration.coercePosToInt(pos); + } diff --git a/src/compiler/scala/tools/nsc/Interpreter.scala b/src/compiler/scala/tools/nsc/Interpreter.scala index 1288da2ba5..30d71d438f 100644 --- a/src/compiler/scala/tools/nsc/Interpreter.scala +++ b/src/compiler/scala/tools/nsc/Interpreter.scala @@ -81,7 +81,7 @@ class Interpreter(val settings: Settings, reporter: Reporter, out: PrintWriter) settings.outdir.value = classfilePath.getPath /** the compiler to compile expressions with */ - val compiler = new StdGlobal(settings, reporter) + val compiler = new Global(settings, reporter) /** class loader used to load compiled code */ /* A single class loader is used for all commands interpreted by this Interpreter. diff --git a/src/compiler/scala/tools/nsc/Main.scala b/src/compiler/scala/tools/nsc/Main.scala index 560ade7ff6..169c90e306 100644 --- a/src/compiler/scala/tools/nsc/Main.scala +++ b/src/compiler/scala/tools/nsc/Main.scala @@ -62,7 +62,7 @@ object Main extends Object with EvalLoop { reporter.info(null, command.usageMsg, true) else { try { - object compiler extends StdGlobal(command.settings, reporter); + object compiler extends Global(command.settings, reporter); /* if (command.settings.Xgenerics.value) forever(compiler) diff --git a/src/compiler/scala/tools/nsc/MainTokenMetric.scala b/src/compiler/scala/tools/nsc/MainTokenMetric.scala index cfe1b9a7ec..0fe6e0a2cc 100644 --- a/src/compiler/scala/tools/nsc/MainTokenMetric.scala +++ b/src/compiler/scala/tools/nsc/MainTokenMetric.scala @@ -44,7 +44,7 @@ object MainTokenMetric { val command = new CompilerCommand(List.fromArray(args), error, false) reporter = new ConsoleReporter() try { - val compiler = new StdGlobal(command.settings, reporter) + val compiler = new Global(command.settings, reporter) tokenMetric(compiler, command.files) } catch { case ex @ FatalError(msg) => diff --git a/src/compiler/scala/tools/nsc/PositionConfiguration.scala b/src/compiler/scala/tools/nsc/PositionConfiguration.scala new file mode 100644 index 0000000000..66acca5a00 --- /dev/null +++ b/src/compiler/scala/tools/nsc/PositionConfiguration.scala @@ -0,0 +1,11 @@ +package scala.tools.nsc; +import scala.tools.nsc.reporters._ +import scala.tools.nsc.util.Position; + +trait PositionConfiguration { + type PositionType; + def coercePosToInt(pos : PositionType) : Int; + def coerceIntToPos(pos : Int) : PositionType; + val NoPos : PositionType; + val FirstPos : PositionType; +} diff --git a/src/compiler/scala/tools/nsc/ScriptRunner.scala b/src/compiler/scala/tools/nsc/ScriptRunner.scala index e73dc8a308..8b65a0e0a3 100644 --- a/src/compiler/scala/tools/nsc/ScriptRunner.scala +++ b/src/compiler/scala/tools/nsc/ScriptRunner.scala @@ -220,7 +220,7 @@ object ScriptRunner { if (settings.nocompdaemon.value) { val reporter = new ConsoleReporter - val compiler = new StdGlobal(settings, reporter) + val compiler = new Global(settings, reporter) val cr = new compiler.Run cr.compileSources(List(wrappedScript(scriptFile))) Pair(compiledPath, reporter.errors == 0) diff --git a/src/compiler/scala/tools/nsc/StdGlobal.scala b/src/compiler/scala/tools/nsc/StdGlobal.scala deleted file mode 100644 index d755d2d167..0000000000 --- a/src/compiler/scala/tools/nsc/StdGlobal.scala +++ /dev/null @@ -1,11 +0,0 @@ -package scala.tools.nsc; -import scala.tools.nsc.reporters._ -import scala.tools.nsc.util.Position; - -class StdGlobal(settings: Settings, reporter: Reporter) extends Global(settings, reporter) { - type PositionType = Int; - implicit def coercePosToInt(pos : PositionType) : Int = pos; - def coerceIntToPos(pos : Int) : PositionType = pos; - val NoPos = Position.NOPOS; - val FirstPos = Position.FIRSTPOS; -} |