Wed, 27 Apr 2016 01:34:52 +0800
Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/
changeset: 2573:53ca196be1ae
tag: jdk8u25-b17
aoqi@0 | 1 | /* |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 6939620 7020044 |
aoqi@0 | 4 | * |
aoqi@0 | 5 | * @summary Check that usage of rare types doesn't cause spurious diamond diagnostics |
aoqi@0 | 6 | * @author mcimadamore |
aoqi@0 | 7 | * @compile/fail/ref=Neg05.out Neg05.java -XDrawDiagnostics |
aoqi@0 | 8 | * |
aoqi@0 | 9 | */ |
aoqi@0 | 10 | |
aoqi@0 | 11 | class Neg05<U> { |
aoqi@0 | 12 | |
aoqi@0 | 13 | class Foo<V> { |
aoqi@0 | 14 | Foo(V x) {} |
aoqi@0 | 15 | <Z> Foo(V x, Z z) {} |
aoqi@0 | 16 | } |
aoqi@0 | 17 | |
aoqi@0 | 18 | void testRare_1() { |
aoqi@0 | 19 | Neg05<?>.Foo<String> f1 = new Neg05.Foo<>(""); |
aoqi@0 | 20 | Neg05<?>.Foo<? extends String> f2 = new Neg05.Foo<>(""); |
aoqi@0 | 21 | Neg05<?>.Foo<?> f3 = new Neg05.Foo<>(""); |
aoqi@0 | 22 | Neg05<?>.Foo<? super String> f4 = new Neg05.Foo<>(""); |
aoqi@0 | 23 | |
aoqi@0 | 24 | Neg05<?>.Foo<String> f5 = new Neg05.Foo<>("", ""); |
aoqi@0 | 25 | Neg05<?>.Foo<? extends String> f6 = new Neg05.Foo<>("", ""); |
aoqi@0 | 26 | Neg05<?>.Foo<?> f7 = new Neg05.Foo<>("", ""); |
aoqi@0 | 27 | Neg05<?>.Foo<? super String> f8 = new Neg05.Foo<>("", ""); |
aoqi@0 | 28 | } |
aoqi@0 | 29 | |
aoqi@0 | 30 | void testRare_2(Neg05 n) { |
aoqi@0 | 31 | Neg05<?>.Foo<String> f1 = n.new Foo<>(""); |
aoqi@0 | 32 | Neg05<?>.Foo<? extends String> f2 = n.new Foo<>(""); |
aoqi@0 | 33 | Neg05<?>.Foo<?> f3 = n.new Foo<>(""); |
aoqi@0 | 34 | Neg05<?>.Foo<? super String> f4 = n.new Foo<>(""); |
aoqi@0 | 35 | |
aoqi@0 | 36 | Neg05<?>.Foo<String> f5 = n.new Foo<>("", ""); |
aoqi@0 | 37 | Neg05<?>.Foo<? extends String> f6 = n.new Foo<>("", ""); |
aoqi@0 | 38 | Neg05<?>.Foo<?> f7 = n.new Foo<>("", ""); |
aoqi@0 | 39 | Neg05<?>.Foo<? super String> f8 = n.new Foo<>("", ""); |
aoqi@0 | 40 | } |
aoqi@0 | 41 | } |