summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/ScriptRunner.scala7
-rwxr-xr-xtest/files/script/t1015.scala26
-rwxr-xr-xtest/files/script/t1017.scala29
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