diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/ScriptRunner.scala | 7 | ||||
-rwxr-xr-x | test/files/script/t1015.scala | 26 | ||||
-rwxr-xr-x | test/files/script/t1017.scala | 29 |
3 files changed, 59 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/ScriptRunner.scala b/src/compiler/scala/tools/nsc/ScriptRunner.scala index d8ea282122..36b8dde168 100644 --- a/src/compiler/scala/tools/nsc/ScriptRunner.scala +++ b/src/compiler/scala/tools/nsc/ScriptRunner.scala @@ -165,13 +165,14 @@ object ScriptRunner { (packageDecl + "object " + objName + " {\n" + " def main(argv: Array[String]): Unit = {\n" + - " val args = argv;\n") + " val args = argv;\n" + + " new AnyRef {\n") } /** Code that is added to the end of a script file to make * it a complete Scala compilation unit. */ - val endCode = "\n} }\n" + val endCode = "\n} \n} }\n" /** Wrap a script file into a runnable object named @@ -195,7 +196,7 @@ object ScriptRunner { bsf.length) // f.length.asInstanceOf[Int]) } - val end = new BatchSourceFile("<script trailer>", "\n} }\n".toCharArray) + val end = new BatchSourceFile("<script trailer>", endCode.toCharArray) new CompoundSourceFile(preamble, middle, end) } diff --git a/test/files/script/t1015.scala b/test/files/script/t1015.scala new file mode 100755 index 0000000000..52d67bd6cc --- /dev/null +++ b/test/files/script/t1015.scala @@ -0,0 +1,26 @@ +#!/bin/sh +# fact - A simple Scala script that prints out the factorial of +# the argument specified on the command line. + +cygwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; +esac + +SOURCE="$0"; +if $cygwin; then + if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then + format=mixed + else + format=windows + fi + SOURCE=`cygpath --$format "$SOURCE"`; +fi + +exec scala -nocompdaemon "$SOURCE" "$@" +!# + +case class Test(one : Int, two : Int) +object Test{ + def apply(one : Int): Test = Test(one, 2); +} diff --git a/test/files/script/t1017.scala b/test/files/script/t1017.scala new file mode 100755 index 0000000000..d1b43ea923 --- /dev/null +++ b/test/files/script/t1017.scala @@ -0,0 +1,29 @@ +#!/bin/sh +# fact - A simple Scala script that prints out the factorial of +# the argument specified on the command line. + +cygwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; +esac + +SOURCE="$0"; +if $cygwin; then + if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then + format=mixed + else + format=windows + fi + SOURCE=`cygpath --$format "$SOURCE"`; +fi + +exec scala -nocompdaemon "$SOURCE" "$@" +!# + +def foo = { + bar +} + +var x = 1 + +def bar = 1 |