From bc9a3475f308e78de193e4072f11e2edb7f7a72b Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Sun, 6 Mar 2011 10:07:51 +0000 Subject: 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!) --- test/files/jvm/t2585/Test.java | 16 ++++++++++++++++ test/files/jvm/t2585/genericouter.scala | 25 +++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 test/files/jvm/t2585/Test.java create mode 100644 test/files/jvm/t2585/genericouter.scala (limited to 'test/files/jvm/t2585') 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.Inner i2 = o.newInner(); + i2.getT().getI().getT().getI(); // <--- Error: "The method getI() is undefined for the type Object" + + HashMap map = new HashMap(); + } +} \ 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 -- cgit v1.2.3