test/tools/javac/generics/diamond/neg/Neg03.java

changeset 914
ca32f2986301
parent 543
97b6fa97b8dd
child 2525
2eb010b6cb22
     1.1 --- a/test/tools/javac/generics/diamond/neg/Neg03.java	Mon Mar 07 14:11:48 2011 +0000
     1.2 +++ b/test/tools/javac/generics/diamond/neg/Neg03.java	Mon Mar 07 14:31:50 2011 +0000
     1.3 @@ -1,8 +1,9 @@
     1.4  /*
     1.5   * @test /nodynamiccopyright/
     1.6 - * @bug 6939620
     1.7 + * @bug 6939620 7020044
     1.8   *
     1.9 - * @summary  Switch to 'complex' diamond inference scheme
    1.10 + * @summary  Check that diamond fails when inference violates declared bounds
    1.11 + *           (test with inner class, qualified/simple type expressions)
    1.12   * @author mcimadamore
    1.13   * @compile/fail/ref=Neg03.out Neg03.java -XDrawDiagnostics
    1.14   *
    1.15 @@ -21,20 +22,10 @@
    1.16          Foo<?> f3 = new Foo<>("");
    1.17          Foo<? super String> f4 = new Foo<>("");
    1.18  
    1.19 -        Foo<String> f5 = new Foo<>(""){};
    1.20 -        Foo<? extends String> f6 = new Foo<>(""){};
    1.21 -        Foo<?> f7 = new Foo<>(""){};
    1.22 -        Foo<? super String> f8 = new Foo<>(""){};
    1.23 -
    1.24 -        Foo<String> f9 = new Foo<>("", "");
    1.25 -        Foo<? extends String> f10 = new Foo<>("", "");
    1.26 -        Foo<?> f11 = new Foo<>("", "");
    1.27 -        Foo<? super String> f12 = new Foo<>("", "");
    1.28 -
    1.29 -        Foo<String> f13 = new Foo<>("", ""){};
    1.30 -        Foo<? extends String> f14 = new Foo<>("", ""){};
    1.31 -        Foo<?> f15 = new Foo<>("", ""){};
    1.32 -        Foo<? super String> f16 = new Foo<>("", ""){};
    1.33 +        Foo<String> f5 = new Foo<>("", "");
    1.34 +        Foo<? extends String> f6 = new Foo<>("", "");
    1.35 +        Foo<?> f7 = new Foo<>("", "");
    1.36 +        Foo<? super String> f8 = new Foo<>("", "");
    1.37      }
    1.38  
    1.39      void testQualified_1() {
    1.40 @@ -43,20 +34,10 @@
    1.41          Foo<?> f3 = new Neg03<U>.Foo<>("");
    1.42          Foo<? super String> f4 = new Neg03<U>.Foo<>("");
    1.43  
    1.44 -        Foo<String> f5 = new Neg03<U>.Foo<>(""){};
    1.45 -        Foo<? extends String> f6 = new Neg03<U>.Foo<>(""){};
    1.46 -        Foo<?> f7 = new Neg03<U>.Foo<>(""){};
    1.47 -        Foo<? super String> f8 = new Neg03<U>.Foo<>(""){};
    1.48 -
    1.49 -        Foo<String> f9 = new Neg03<U>.Foo<>("", "");
    1.50 -        Foo<? extends String> f10 = new Neg03<U>.Foo<>("", "");
    1.51 -        Foo<?> f11 = new Neg03<U>.Foo<>("", "");
    1.52 -        Foo<? super String> f12 = new Neg03<U>.Foo<>("", "");
    1.53 -
    1.54 -        Foo<String> f13 = new Neg03<U>.Foo<>("", ""){};
    1.55 -        Foo<? extends String> f14 = new Neg03<U>.Foo<>("", ""){};
    1.56 -        Foo<?> f15 = new Neg03<U>.Foo<>("", ""){};
    1.57 -        Foo<? super String> f16 = new Neg03<U>.Foo<>("", ""){};
    1.58 +        Foo<String> f5 = new Neg03<U>.Foo<>("", "");
    1.59 +        Foo<? extends String> f6 = new Neg03<U>.Foo<>("", "");
    1.60 +        Foo<?> f7 = new Neg03<U>.Foo<>("", "");
    1.61 +        Foo<? super String> f8 = new Neg03<U>.Foo<>("", "");
    1.62      }
    1.63  
    1.64      void testQualified_2(Neg03<U> n) {
    1.65 @@ -65,19 +46,9 @@
    1.66          Foo<?> f3 = n.new Foo<>("");
    1.67          Foo<? super String> f4 = n.new Foo<>("");
    1.68  
    1.69 -        Foo<String> f5 = n.new Foo<>(""){};
    1.70 -        Foo<? extends String> f6 = n.new Foo<>(""){};
    1.71 -        Foo<?> f7 = n.new Foo<>(""){};
    1.72 -        Foo<? super String> f8 = n.new Foo<>(""){};
    1.73 -
    1.74 -        Foo<String> f9 = n.new Foo<>("", "");
    1.75 -        Foo<? extends String> f10 = n.new Foo<>("", "");
    1.76 -        Foo<?> f11 = n.new Foo<>("", "");
    1.77 -        Foo<? super String> f12 = n.new Foo<>("", "");
    1.78 -
    1.79 -        Foo<String> f13 = n.new Foo<>("", ""){};
    1.80 -        Foo<? extends String> f14 = n.new Foo<>("", ""){};
    1.81 -        Foo<?> f15 = n.new Foo<>("", ""){};
    1.82 -        Foo<? super String> f16 = n.new Foo<>("", ""){};
    1.83 +        Foo<String> f5 = n.new Foo<>("", "");
    1.84 +        Foo<? extends String> f6 = n.new Foo<>("", "");
    1.85 +        Foo<?> f7 = n.new Foo<>("", "");
    1.86 +        Foo<? super String> f8 = n.new Foo<>("", "");
    1.87      }
    1.88  }

mercurial