summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/ScriptRunner.scala6
-rw-r--r--src/compiler/scala/tools/nsc/util/SourceFile.scala6
2 files changed, 9 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/ScriptRunner.scala b/src/compiler/scala/tools/nsc/ScriptRunner.scala
index 78a63b2b23..d8ea282122 100644
--- a/src/compiler/scala/tools/nsc/ScriptRunner.scala
+++ b/src/compiler/scala/tools/nsc/ScriptRunner.scala
@@ -188,10 +188,12 @@ object ScriptRunner {
val middle = {
val f = new File(filename)
+ val bsf = getSourceFile(new PlainFile(f)).asInstanceOf[BatchSourceFile]
new SourceFileFragment(
- getSourceFile(new PlainFile(f)).asInstanceOf[BatchSourceFile],
+ bsf,
headerLength(filename),
- f.length.asInstanceOf[Int])
+ bsf.length)
+// f.length.asInstanceOf[Int])
}
val end = new BatchSourceFile("<script trailer>", "\n} }\n".toCharArray)
diff --git a/src/compiler/scala/tools/nsc/util/SourceFile.scala b/src/compiler/scala/tools/nsc/util/SourceFile.scala
index e32cde800e..b4cf891a44 100644
--- a/src/compiler/scala/tools/nsc/util/SourceFile.scala
+++ b/src/compiler/scala/tools/nsc/util/SourceFile.scala
@@ -214,7 +214,11 @@ extends BatchSourceFile(name, contents) {
underlyingFile,
start,
stop,
- underlyingFile.content.slice(start, stop).toArray)
+ { assert(start >= 0)
+ assert(start <= stop)
+ assert(start <= underlyingFile.length)
+ assert(stop <= underlyingFile.length)
+ underlyingFile.content.slice(start, stop).toArray })
def this(underlyingFile: BatchSourceFile, start: Int, stop: Int) =
this(