summaryrefslogtreecommitdiff
path: root/test/files/run/t2946
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-03-08 13:34:57 +0000
committerMartin Odersky <odersky@gmail.com>2010-03-08 13:34:57 +0000
commitaff35a066a44b32ec343efe46c013424468cc6b4 (patch)
treec5e2196a731616878258ee9cd24127a9ea86a699 /test/files/run/t2946
parentb6c6e8f35342409ace8cb33d4b0ff6c9f8862850 (diff)
downloadscala-aff35a066a44b32ec343efe46c013424468cc6b4.tar.gz
scala-aff35a066a44b32ec343efe46c013424468cc6b4.tar.bz2
scala-aff35a066a44b32ec343efe46c013424468cc6b4.zip
Closes #3026. Review by extempore.
Diffstat (limited to 'test/files/run/t2946')
-rwxr-xr-xtest/files/run/t2946/Parsers.scala4
-rwxr-xr-xtest/files/run/t2946/ResponseCommon.scala14
-rwxr-xr-xtest/files/run/t2946/Test.scala7
3 files changed, 25 insertions, 0 deletions
diff --git a/test/files/run/t2946/Parsers.scala b/test/files/run/t2946/Parsers.scala
new file mode 100755
index 0000000000..c0961034c4
--- /dev/null
+++ b/test/files/run/t2946/Parsers.scala
@@ -0,0 +1,4 @@
+class Parser {
+ def parse(t: Any): Unit = {
+ }
+}
diff --git a/test/files/run/t2946/ResponseCommon.scala b/test/files/run/t2946/ResponseCommon.scala
new file mode 100755
index 0000000000..fa9d8acccb
--- /dev/null
+++ b/test/files/run/t2946/ResponseCommon.scala
@@ -0,0 +1,14 @@
+trait ResponseCommon extends Parser {
+ private[this] var paramsParser: Parser = null
+ def withParamsParser(parser: Parser) = {paramsParser = parser; this}
+
+ class Foo {
+ println(paramsParser)
+ }
+
+ override abstract def parse(t: Any): Unit = t match {
+ case ("params", value: List[_]) => value.foreach {paramsParser.parse(_)}
+ case _ => super.parse(t)
+ }
+}
+
diff --git a/test/files/run/t2946/Test.scala b/test/files/run/t2946/Test.scala
new file mode 100755
index 0000000000..e9d9896a0e
--- /dev/null
+++ b/test/files/run/t2946/Test.scala
@@ -0,0 +1,7 @@
+class Test extends Parser with ResponseCommon
+
+object Test {
+ def main(args: Array[String]) {
+ new Test
+ }
+}