diff options
author | Lex Spoon <lex@lexspoon.org> | 2006-06-15 15:15:12 +0000 |
---|---|---|
committer | Lex Spoon <lex@lexspoon.org> | 2006-06-15 15:15:12 +0000 |
commit | e8f45e929693736278ac7deed2a909d3fe2d0d5b (patch) | |
tree | 28da06e8f08407953c0b0fd37e56bf4918435c78 | |
parent | 1b68ef970c8728a871e8f0ee586a0200602146e1 (diff) | |
download | scala-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
-rw-r--r-- | src/compiler/scala/tools/nsc/MainScript.scala | 36 |
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) } } |