summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorLex Spoon <lex@lexspoon.org>2008-02-18 21:22:08 +0000
committerLex Spoon <lex@lexspoon.org>2008-02-18 21:22:08 +0000
commit41dc7225084c735f0306e0ebb1a9da0fbd9886ff (patch)
tree071a5737f9f871bc8b5769584cdf5327ada971bc /test/files/run
parent1769b68a6d41010aebcd76d240c1a74166a99419 (diff)
downloadscala-41dc7225084c735f0306e0ebb1a9da0fbd9886ff.tar.gz
scala-41dc7225084c735f0306e0ebb1a9da0fbd9886ff.tar.bz2
scala-41dc7225084c735f0306e0ebb1a9da0fbd9886ff.zip
Generalizes the allowed inputs to the interpret...
Generalizes the allowed inputs to the interpreter to be any combination of phrases that can be placed inside a template. Instead of having one "request" object try to understand the entire combination of phrases, the code now uses multiple "member handlers" for each request, one member handler for each phrase.
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/interpreter.check22
-rw-r--r--test/files/run/interpreter.scala8
2 files changed, 28 insertions, 2 deletions
diff --git a/test/files/run/interpreter.check b/test/files/run/interpreter.check
index 7623eb2fbc..1bb6c28486 100644
--- a/test/files/run/interpreter.check
+++ b/test/files/run/interpreter.check
@@ -27,6 +27,11 @@ scala> <console>:5: error: type mismatch;
scala> defined trait PointlessTrait
+scala> x: Int = 2
+y: Int = 3
+
+scala> hello
+
scala>
scala>
scala> defined class Foo
@@ -151,7 +156,7 @@ scala> <console>:1: error: identifier expected but integer literal found.
scala>
scala>
scala>
-scala> | | | | res2: scala.xml.Elem =
+scala> | | | | res3: scala.xml.Elem =
<a>
<b d="dd" c="c"></b></a>
@@ -161,7 +166,7 @@ scala> | | | |
scala>
scala>
scala>
-scala> | | | res3: java.lang.String =
+scala> | | | res4: java.lang.String =
hello
there
@@ -177,3 +182,16 @@ scala> x: Int = 1
scala>
scala>
+scala> defined class Exp
+defined class Fact
+defined class Term
+
+scala> | | <console>:15: warning: match is not exhaustive!
+missing combination Term
+
+ def f(e: Exp) = e match { // non-exhaustive warning here
+ ^
+f: (Exp)Int
+
+scala>
+scala>
diff --git a/test/files/run/interpreter.scala b/test/files/run/interpreter.scala
index 5ad9953857..b239b253cf 100644
--- a/test/files/run/interpreter.scala
+++ b/test/files/run/interpreter.scala
@@ -19,6 +19,8 @@ type anotherint = Int
val four: anotherint = 4
val bogus: anotherint = "hello"
trait PointlessTrait
+val (x,y) = (2,3)
+println("hello")
// implicit conversions
case class Foo(n: int)
@@ -111,6 +113,12 @@ there
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