[Nice-commit] Nice/testsuite/compiler/classes specialization.testsuite,1.10,1.11
Brought to you by:
bonniot
|
From: Daniel B. <bo...@us...> - 2005-02-16 22:35:29
|
Update of /cvsroot/nice/Nice/testsuite/compiler/classes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5448/testsuite/compiler/classes Modified Files: specialization.testsuite Log Message: Fix classes whose parent has less type parameters that the grand-parent, by creating a new TypeConstructor when this is discovered (fixes #1097571). Index: specialization.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/classes/specialization.testsuite,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** specialization.testsuite 16 Feb 2005 12:13:17 -0000 1.10 --- specialization.testsuite 16 Feb 2005 22:34:49 -0000 1.11 *************** *** 82,87 **** } ! /// PASS bug ! // bug #1097571 /// Toplevel class A<T> {} --- 82,87 ---- } ! /// PASS ! // bug #1097571 /// Toplevel class A<T> {} *************** *** 89,94 **** class C extends B {} ! /// PASS bug ! // bug #1097571 /// Toplevel interface A<T> {} --- 89,94 ---- class C extends B {} ! /// PASS ! // bug #1097571 /// Toplevel interface A<T> {} *************** *** 97,100 **** --- 97,158 ---- /// PASS + // bug #1097571 + /// Toplevel + interface Term<T> { + T value(); + } + interface Bool implements Term<boolean> {} + class BoolImpl implements Bool { + value() = true; + } + + /// PASS + // bug #1097571 + /// Toplevel + interface Term<T> { + T value(); + } + interface Bool implements Term<boolean> {} + class BoolImpl implements Bool { + } + value(BoolImpl this) = true; + + /// PASS + /// Toplevel + class A<T,U> {} + class B<T> extends A<T,String> {} + class C extends B<boolean> {} + + /// PASS + /// Toplevel + class A<T> {} + class B extends A<String> {} + class C extends B { + void foo() {} + } + + /// PASS + /// Toplevel + class A<T> {} + class B extends A<String> {} + class C extends B {} + void foo(C this) {} + + /// PASS + C c = new C(); + /// Toplevel + class A<T> {} + class B extends A<String> {} + class C extends B {} + + /// PASS bug + C c = new C(0); + /// Toplevel + class A<T> {} + class B extends A<String> {} + class C extends B {} + new C(int x) = this(); + + /// PASS /// package a /// Toplevel *************** *** 113,114 **** --- 171,193 ---- /// package b import a B<int> b = new B(x: 0); + + /// PASS + /// package a + /// Toplevel + class A<T> {} + class B extends A<String> {} + class C extends B {} + + /// package b import a + C c = new C(); + + /// PASS + /// package a + /// Toplevel + class A<T> {} + class B extends A<String> {} + class C extends B {} + new C(int x) = this(); + + /// package b import a + C c = new C(0); |