T6939780.java revision 1617:8a78243291ef
1238384Sjkim/* 2238384Sjkim * @test /nodynamiccopyright/ 3238384Sjkim * @bug 6939780 7020044 8009459 4238384Sjkim * 5238384Sjkim * @summary add a warning to detect diamond sites 6238384Sjkim * @author mcimadamore 7238384Sjkim * @compile/ref=T6939780_7.out -Xlint:-options -source 7 T6939780.java -XDrawDiagnostics -XDfindDiamond 8238384Sjkim * @compile/ref=T6939780_8.out T6939780.java -XDrawDiagnostics -XDfindDiamond 9238384Sjkim * 10273399Sdelphij */ 11273399Sdelphij 12273399Sdelphijclass T6939780 { 13296341Sdelphij 14296341Sdelphij static class Foo<X extends Number> { 15238384Sjkim Foo() {} 16296341Sdelphij Foo(X x) {} 17296341Sdelphij } 18296341Sdelphij 19238384Sjkim void testAssign() { 20296341Sdelphij Foo<Number> f1 = new Foo<Number>(1); 21296341Sdelphij Foo<?> f2 = new Foo<Number>(); 22296341Sdelphij Foo<?> f3 = new Foo<Integer>(); 23238384Sjkim Foo<Number> f4 = new Foo<Number>(1) {}; 24296341Sdelphij Foo<?> f5 = new Foo<Number>() {}; 25296341Sdelphij Foo<?> f6 = new Foo<Integer>() {}; 26296341Sdelphij } 27296341Sdelphij 28238384Sjkim void testMethod() { 29238384Sjkim gn(new Foo<Number>(1)); 30296341Sdelphij gw(new Foo<Number>()); 31296341Sdelphij gw(new Foo<Integer>()); 32238384Sjkim gn(new Foo<Number>(1) {}); 33296341Sdelphij gw(new Foo<Number>() {}); 34296341Sdelphij gw(new Foo<Integer>() {}); 35238384Sjkim } 36238384Sjkim 37296341Sdelphij void gw(Foo<?> fw) { } 38296341Sdelphij void gn(Foo<Number> fn) { } 39296341Sdelphij} 40296341Sdelphij