summaryrefslogtreecommitdiff
path: root/test/files/jvm/t2585
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-03-06 10:07:51 +0000
committerPaul Phillips <paulp@improving.org>2011-03-06 10:07:51 +0000
commitbc9a3475f308e78de193e4072f11e2edb7f7a72b (patch)
tree5c33f619851c97d015fb3d7daba21fc83483e9c2 /test/files/jvm/t2585
parenta3d2d3b1ceaa7090a993b4a4f0ea53f4fe343e08 (diff)
downloadscala-bc9a3475f308e78de193e4072f11e2edb7f7a72b.tar.gz
scala-bc9a3475f308e78de193e4072f11e2edb7f7a72b.tar.bz2
scala-bc9a3475f308e78de193e4072f11e2edb7f7a72b.zip
Re-enabling the disabled signature test along w...
Re-enabling the disabled signature test along with changes which allow it to pass. Closes #4238 again, no review. (But would anyone like to expand the signature tests? Great idea, extempore!)
Diffstat (limited to 'test/files/jvm/t2585')
-rw-r--r--test/files/jvm/t2585/Test.java16
-rw-r--r--test/files/jvm/t2585/genericouter.scala25
2 files changed, 41 insertions, 0 deletions
diff --git a/test/files/jvm/t2585/Test.java b/test/files/jvm/t2585/Test.java
new file mode 100644
index 0000000000..51fe20d81e
--- /dev/null
+++ b/test/files/jvm/t2585/Test.java
@@ -0,0 +1,16 @@
+class J { S s ; }
+
+public class Test {
+ public static void main(String[] args) {
+ final X x = new X();
+ final OuterImpl o = new OuterImpl(x);
+
+ final OuterImpl.Inner i1 = o.newInner();
+ i1.getT().getI().getT().getI(); // <--- Error: "The method getI() is undefined for the type Object"
+
+ final Outer<X>.Inner i2 = o.newInner();
+ i2.getT().getI().getT().getI(); // <--- Error: "The method getI() is undefined for the type Object"
+
+ HashMap<String, String> map = new HashMap<String, String>();
+ }
+} \ No newline at end of file
diff --git a/test/files/jvm/t2585/genericouter.scala b/test/files/jvm/t2585/genericouter.scala
new file mode 100644
index 0000000000..e06aa8101e
--- /dev/null
+++ b/test/files/jvm/t2585/genericouter.scala
@@ -0,0 +1,25 @@
+case class S(n:Int)
+
+trait TraversableLike[+A, +Repr] {
+ class WithFilter(p: A => Boolean)
+ def withFilter(p: A => Boolean): WithFilter = new WithFilter(p)
+}
+
+class HashMap[K, +V] extends TraversableLike[(K, V), HashMap[K, V]]
+
+class Outer[T](val t: T) {
+ class Inner {
+ def getT : T = t
+ }
+}
+
+class OuterImpl(x: X) extends Outer[X](x) {
+ def newInner = new Inner
+}
+
+class X {
+ def getI : Outer[X]#Inner = {
+ val oImpl = new OuterImpl(this)
+ new oImpl.Inner
+ }
+} \ No newline at end of file