diff options
Diffstat (limited to 'test/files/run/interpreter.scala')
-rw-r--r-- | test/files/run/interpreter.scala | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/test/files/run/interpreter.scala b/test/files/run/interpreter.scala deleted file mode 100644 index f5ce68a1b9..0000000000 --- a/test/files/run/interpreter.scala +++ /dev/null @@ -1,172 +0,0 @@ -import scala.tools.nsc._ -import java.io.{BufferedReader, StringReader, PrintWriter, - Writer, OutputStreamWriter} - -object Test { - val testCodeString = <code> -// basics -3+4 -def gcd(x: Int, y: Int): Int = {{ - if (x == 0) y - else if (y == 0) x - else gcd(y%x, x) -}} -val five = gcd(15,35) -var x = 1 -x = 2 -val three = x+1 -type anotherint = Int -val four: anotherint = 4 -val bogus: anotherint = "hello" -trait PointlessTrait -val (x,y) = (2,3) -println("hello") - -// ticket #1513 -val t1513 = Array(null) -// ambiguous toString problem from #547 -val atom = new scala.xml.Atom() -// overriding toString problem from #1404 -class S(override val toString : String) -val fish = new S("fish") -// Test that arrays pretty print nicely. -val arr = Array("What's", "up", "doc?") -// Test that arrays pretty print nicely, even when we give them type Any -val arrInt : Any = Array(1,2,3) -// Test that nested arrays are pretty-printed correctly -val arrArrInt : Any = Array(Array(1, 2), Array(3, 4)) - -// implicit conversions -case class Foo(n: Int) -case class Bar(n: Int) -implicit def foo2bar(foo: Foo) = Bar(foo.n) -val bar: Bar = Foo(3) - -// importing from a previous result -import bar._ -val m = n - -// stressing the imports mechanism -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 -val one = 1 - - -val x1 = 1 -val x2 = 1 -val x3 = 1 -val x4 = 1 -val x5 = 1 -val x6 = 1 -val x7 = 1 -val x8 = 1 -val x9 = 1 -val x10 = 1 -val x11 = 1 -val x12 = 1 -val x13 = 1 -val x14 = 1 -val x15 = 1 -val x16 = 1 -val x17 = 1 -val x18 = 1 -val x19 = 1 -val x20 = 1 - -val two = one + x5 - - -// interior syntax errors should *not* go into multi-line input mode. -// both of the following should abort immediately: -def x => y => z -[1,2,3] - - -// multi-line XML -<a> -<b - c="c" - d="dd" -/></a> - - -/* - /* - multi-line comment - */ -*/ - - -// multi-line string -""" -hello -there -""" - -(1 + // give up early by typing two blank lines - - -// defining and using quoted names should work (ticket #323) -def `match` = 1 -val x = `match` - -// multiple classes defined on one line -sealed class Exp; class Fact extends Exp; class Term extends Exp -def f(e: Exp) = e match {{ // non-exhaustive warning here - case _:Fact => 3 -}} - -</code>.text - - /** A writer that skips the first line of text. The first - * line of interpreter output is skipped because it includes - * a version number. */ - class Skip1Writer(writer: Writer) extends Writer { - var seenNL = false - - def write(cbuf: Array[Char], off: Int, len: Int) { - if (seenNL) - writer.write(cbuf, off, len) - else { - val slice : Array[Char] = cbuf.slice(off, off+len) - val i = slice.indexOf('\n') - if (i >= 0) { - seenNL = true - writer.write(slice, i+1, slice.length-(i+1)) - } else { - // skip it - } - } - } - - def close() { writer.close() } - def flush() { writer.flush() } - } - - - def main(args: Array[String]) { - val input = new BufferedReader(new StringReader(testCodeString)) - val output = new PrintWriter( - new Skip1Writer(new OutputStreamWriter(Console.out))) - val repl = new InterpreterLoop(input, output) - repl.main(new Settings) - println() - } -} |