summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/MainScript.scala
diff options
context:
space:
mode:
authorLex Spoon <lex@lexspoon.org>2006-06-15 15:15:12 +0000
committerLex Spoon <lex@lexspoon.org>2006-06-15 15:15:12 +0000
commite8f45e929693736278ac7deed2a909d3fe2d0d5b (patch)
tree28da06e8f08407953c0b0fd37e56bf4918435c78 /src/compiler/scala/tools/nsc/MainScript.scala
parent1b68ef970c8728a871e8f0ee586a0200602146e1 (diff)
downloadscala-e8f45e929693736278ac7deed2a909d3fe2d0d5b.tar.gz
scala-e8f45e929693736278ac7deed2a909d3fe2d0d5b.tar.bz2
scala-e8f45e929693736278ac7deed2a909d3fe2d0d5b.zip
- added args as an alias for argv
- factored main into two halves, so that the second half can be called by MainGenericRunner
Diffstat (limited to 'src/compiler/scala/tools/nsc/MainScript.scala')
-rw-r--r--src/compiler/scala/tools/nsc/MainScript.scala36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/compiler/scala/tools/nsc/MainScript.scala b/src/compiler/scala/tools/nsc/MainScript.scala
index aeec798d61..308fa8509b 100644
--- a/src/compiler/scala/tools/nsc/MainScript.scala
+++ b/src/compiler/scala/tools/nsc/MainScript.scala
@@ -119,7 +119,8 @@ object MainScript {
new SourceFile("<script preamble>",
("package scala.scripting\n" +
"object Main {\n" +
- " def main(argv: Array[String]): Unit = {\n").toCharArray)
+ " def main(argv: Array[String]): Unit = {\n" +
+ " val args = argv;\n").toCharArray)
val middle =
new SourceFileFragment(
@@ -133,11 +134,30 @@ object MainScript {
}
+ def runScript(
+ settings: Settings,
+ scriptFile: String,
+ scriptArgs: List[String]): Unit =
+ {
+ val interpreter = new Interpreter(settings)
+ try {
+ interpreter.beQuiet
+
+ if(!interpreter.compileSources(List(wrappedScript(scriptFile))))
+ return () // compilation error
+
+ interpreter.bind("argv", "Array[String]", scriptArgs.toArray)
+ interpreter.interpret("scala.scripting.Main.main(argv)")
+ } finally {
+ interpreter.close
+ }
+ }
+
def main(args: Array[String]): Unit = {
val parsedArgs = parseArgs(args.toList)
val compilerArgs = parsedArgs._1
val scriptFile = parsedArgs._2
- val scriptArgs = parsedArgs._3.toArray
+ val scriptArgs = parsedArgs._3
val command =
new CompilerCommand(
@@ -154,17 +174,7 @@ object MainScript {
}
- val interpreter = new Interpreter(command.settings)
- try {
- interpreter.beQuiet
-
- if(!interpreter.compileSources(List(wrappedScript(scriptFile))))
- return () // compilation error
- interpreter.bind("argv", "Array[String]", scriptArgs)
- interpreter.interpret("scala.scripting.Main.main(argv)")
- } finally {
- interpreter.close
- }
+ runScript(command.settings, scriptFile, scriptArgs)
}
}