Mon, 02 Sep 2013 22:38:36 +0100
8016177: structural most specific and stuckness
Reviewed-by: jjg, vromero
Contributed-by: maurizio.cimadamore@oracle.com
aoqi@0 | 1 | /** |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 7094099 |
aoqi@0 | 4 | * @summary -Xlint:rawtypes |
aoqi@0 | 5 | * @compile/fail/ref=T7090499.out -XDrawDiagnostics -Xlint:rawtypes T7090499.java |
aoqi@0 | 6 | */ |
aoqi@0 | 7 | |
aoqi@0 | 8 | |
aoqi@0 | 9 | class T7090499<E> { |
aoqi@0 | 10 | |
aoqi@0 | 11 | static class B<X> {} |
aoqi@0 | 12 | |
aoqi@0 | 13 | class A<X> { |
aoqi@0 | 14 | class X {} |
aoqi@0 | 15 | class Z<Y> {} |
aoqi@0 | 16 | } |
aoqi@0 | 17 | |
aoqi@0 | 18 | T7090499 t = new T7090499() { //raw warning (2) |
aoqi@0 | 19 | |
aoqi@0 | 20 | A.X x1;//raw warning |
aoqi@0 | 21 | A.Z z1;//raw warning |
aoqi@0 | 22 | |
aoqi@0 | 23 | T7090499.B<Integer> b1;//ok |
aoqi@0 | 24 | T7090499.B b2;//raw warning |
aoqi@0 | 25 | |
aoqi@0 | 26 | A<String>.X x2;//ok |
aoqi@0 | 27 | A<String>.Z<Integer> z2;//ok |
aoqi@0 | 28 | A<B>.Z<A<B>> z3;//raw warning (2) |
aoqi@0 | 29 | |
aoqi@0 | 30 | void test(Object arg1, B arg2) {//raw warning |
aoqi@0 | 31 | boolean b = arg1 instanceof A;//ok |
aoqi@0 | 32 | Object a = (A)arg1;//ok |
aoqi@0 | 33 | A a2 = new A() {};//raw warning (2) |
aoqi@0 | 34 | a2.new Z() {};//raw warning |
aoqi@0 | 35 | } |
aoqi@0 | 36 | }; |
aoqi@0 | 37 | } |