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

changeset 543
97b6fa97b8dd
parent 383
8109aa93b212
parent 537
9d9d08922405
child 914
ca32f2986301
     1.1 --- a/test/tools/javac/generics/diamond/neg/Neg03.java	Thu Apr 22 16:54:44 2010 -0700
     1.2 +++ b/test/tools/javac/generics/diamond/neg/Neg03.java	Thu Apr 29 14:10:24 2010 -0700
     1.3 @@ -1,10 +1,10 @@
     1.4  /*
     1.5   * @test /nodynamiccopyright/
     1.6 - * @bug 6840638
     1.7 + * @bug 6939620
     1.8   *
     1.9 - * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
    1.10 + * @summary  Switch to 'complex' diamond inference scheme
    1.11   * @author mcimadamore
    1.12 - * @compile/fail/ref=Neg03.out Neg03.java -source 1.7 -XDrawDiagnostics
    1.13 + * @compile/fail/ref=Neg03.out Neg03.java -XDrawDiagnostics
    1.14   *
    1.15   */
    1.16  
    1.17 @@ -16,68 +16,68 @@
    1.18      }
    1.19  
    1.20      void testSimple() {
    1.21 -        Foo<String> f1 = new Foo<>(""); //new Foo<Integer> created
    1.22 -        Foo<? extends String> f2 = new Foo<>(""); //new Foo<Integer> created
    1.23 -        Foo<?> f3 = new Foo<>(""); //new Foo<Object> created
    1.24 -        Foo<? super String> f4 = new Foo<>(""); //new Foo<Object> created
    1.25 +        Foo<String> f1 = new Foo<>("");
    1.26 +        Foo<? extends String> f2 = new Foo<>("");
    1.27 +        Foo<?> f3 = new Foo<>("");
    1.28 +        Foo<? super String> f4 = new Foo<>("");
    1.29  
    1.30 -        Foo<String> f5 = new Foo<>(""){}; //new Foo<Integer> created
    1.31 -        Foo<? extends String> f6 = new Foo<>(""){}; //new Foo<Integer> created
    1.32 -        Foo<?> f7 = new Foo<>(""){}; //new Foo<Object> created
    1.33 -        Foo<? super String> f8 = new Foo<>(""){}; //new Foo<Object> created
    1.34 +        Foo<String> f5 = new Foo<>(""){};
    1.35 +        Foo<? extends String> f6 = new Foo<>(""){};
    1.36 +        Foo<?> f7 = new Foo<>(""){};
    1.37 +        Foo<? super String> f8 = new Foo<>(""){};
    1.38  
    1.39 -        Foo<String> f9 = new Foo<>("", ""); //new Foo<Integer> created
    1.40 -        Foo<? extends String> f10 = new Foo<>("", ""); //new Foo<Integer> created
    1.41 -        Foo<?> f11 = new Foo<>("", ""); //new Foo<Object> created
    1.42 -        Foo<? super String> f12 = new Foo<>("", ""); //new Foo<Object> created
    1.43 +        Foo<String> f9 = new Foo<>("", "");
    1.44 +        Foo<? extends String> f10 = new Foo<>("", "");
    1.45 +        Foo<?> f11 = new Foo<>("", "");
    1.46 +        Foo<? super String> f12 = new Foo<>("", "");
    1.47  
    1.48 -        Foo<String> f13 = new Foo<>("", ""){}; //new Foo<Integer> created
    1.49 -        Foo<? extends String> f14 = new Foo<>("", ""){}; //new Foo<Integer> created
    1.50 -        Foo<?> f15 = new Foo<>("", ""){}; //new Foo<Object> created
    1.51 -        Foo<? super String> f16 = new Foo<>("", ""){}; //new Foo<Object> created
    1.52 +        Foo<String> f13 = new Foo<>("", ""){};
    1.53 +        Foo<? extends String> f14 = new Foo<>("", ""){};
    1.54 +        Foo<?> f15 = new Foo<>("", ""){};
    1.55 +        Foo<? super String> f16 = new Foo<>("", ""){};
    1.56      }
    1.57  
    1.58      void testQualified_1() {
    1.59 -        Foo<String> f1 = new Neg03<U>.Foo<>(""); //new Foo<Integer> created
    1.60 -        Foo<? extends String> f2 = new Neg03<U>.Foo<>(""); //new Foo<Integer> created
    1.61 -        Foo<?> f3 = new Neg03<U>.Foo<>(""); //new Foo<Object> created
    1.62 -        Foo<? super String> f4 = new Neg03<U>.Foo<>(""); //new Foo<Object> created
    1.63 +        Foo<String> f1 = new Neg03<U>.Foo<>("");
    1.64 +        Foo<? extends String> f2 = new Neg03<U>.Foo<>("");
    1.65 +        Foo<?> f3 = new Neg03<U>.Foo<>("");
    1.66 +        Foo<? super String> f4 = new Neg03<U>.Foo<>("");
    1.67  
    1.68 -        Foo<String> f5 = new Neg03<U>.Foo<>(""){}; //new Foo<Integer> created
    1.69 -        Foo<? extends String> f6 = new Neg03<U>.Foo<>(""){}; //new Foo<Integer> created
    1.70 -        Foo<?> f7 = new Neg03<U>.Foo<>(""){}; //new Foo<Object> created
    1.71 -        Foo<? super String> f8 = new Neg03<U>.Foo<>(""){}; //new Foo<Object> created
    1.72 +        Foo<String> f5 = new Neg03<U>.Foo<>(""){};
    1.73 +        Foo<? extends String> f6 = new Neg03<U>.Foo<>(""){};
    1.74 +        Foo<?> f7 = new Neg03<U>.Foo<>(""){};
    1.75 +        Foo<? super String> f8 = new Neg03<U>.Foo<>(""){};
    1.76  
    1.77 -        Foo<String> f9 = new Neg03<U>.Foo<>("", ""); //new Foo<Integer> created
    1.78 -        Foo<? extends String> f10 = new Neg03<U>.Foo<>("", ""); //new Foo<Integer> created
    1.79 -        Foo<?> f11 = new Neg03<U>.Foo<>("", ""); //new Foo<Object> created
    1.80 -        Foo<? super String> f12 = new Neg03<U>.Foo<>("", ""); //new Foo<Object> created
    1.81 +        Foo<String> f9 = new Neg03<U>.Foo<>("", "");
    1.82 +        Foo<? extends String> f10 = new Neg03<U>.Foo<>("", "");
    1.83 +        Foo<?> f11 = new Neg03<U>.Foo<>("", "");
    1.84 +        Foo<? super String> f12 = new Neg03<U>.Foo<>("", "");
    1.85  
    1.86 -        Foo<String> f13 = new Neg03<U>.Foo<>("", ""){}; //new Foo<Integer> created
    1.87 -        Foo<? extends String> f14 = new Neg03<U>.Foo<>("", ""){}; //new Foo<Integer> created
    1.88 -        Foo<?> f15 = new Neg03<U>.Foo<>("", ""){}; //new Foo<Object> created
    1.89 -        Foo<? super String> f16 = new Neg03<U>.Foo<>("", ""){}; //new Foo<Object> created
    1.90 +        Foo<String> f13 = new Neg03<U>.Foo<>("", ""){};
    1.91 +        Foo<? extends String> f14 = new Neg03<U>.Foo<>("", ""){};
    1.92 +        Foo<?> f15 = new Neg03<U>.Foo<>("", ""){};
    1.93 +        Foo<? super String> f16 = new Neg03<U>.Foo<>("", ""){};
    1.94      }
    1.95  
    1.96      void testQualified_2(Neg03<U> n) {
    1.97 -        Foo<String> f1 = n.new Foo<>(""); //new Foo<Integer> created
    1.98 -        Foo<? extends String> f2 = n.new Foo<>(""); //new Foo<Integer> created
    1.99 -        Foo<?> f3 = n.new Foo<>(""); //new Foo<Integer> created
   1.100 -        Foo<? super String> f4 = n.new Foo<>(""); //new Foo<Integer> created
   1.101 +        Foo<String> f1 = n.new Foo<>("");
   1.102 +        Foo<? extends String> f2 = n.new Foo<>("");
   1.103 +        Foo<?> f3 = n.new Foo<>("");
   1.104 +        Foo<? super String> f4 = n.new Foo<>("");
   1.105  
   1.106 -        Foo<String> f5 = n.new Foo<>(""){}; //new Foo<Integer> created
   1.107 -        Foo<? extends String> f6 = n.new Foo<>(""){}; //new Foo<Integer> created
   1.108 -        Foo<?> f7 = n.new Foo<>(""){}; //new Foo<Integer> created
   1.109 -        Foo<? super String> f8 = n.new Foo<>(""){}; //new Foo<Integer> created
   1.110 +        Foo<String> f5 = n.new Foo<>(""){};
   1.111 +        Foo<? extends String> f6 = n.new Foo<>(""){};
   1.112 +        Foo<?> f7 = n.new Foo<>(""){};
   1.113 +        Foo<? super String> f8 = n.new Foo<>(""){};
   1.114  
   1.115 -        Foo<String> f9 = n.new Foo<>("", ""); //new Foo<Integer> created
   1.116 -        Foo<? extends String> f10 = n.new Foo<>("", ""); //new Foo<Integer> created
   1.117 -        Foo<?> f11 = n.new Foo<>("", ""); //new Foo<Integer> created
   1.118 -        Foo<? super String> f12 = n.new Foo<>("", ""); //new Foo<Integer> created
   1.119 +        Foo<String> f9 = n.new Foo<>("", "");
   1.120 +        Foo<? extends String> f10 = n.new Foo<>("", "");
   1.121 +        Foo<?> f11 = n.new Foo<>("", "");
   1.122 +        Foo<? super String> f12 = n.new Foo<>("", "");
   1.123  
   1.124 -        Foo<String> f13 = n.new Foo<>("", ""){}; //new Foo<Integer> created
   1.125 -        Foo<? extends String> f14 = n.new Foo<>("", ""){}; //new Foo<Integer> created
   1.126 -        Foo<?> f15 = n.new Foo<>("", ""){}; //new Foo<Integer> created
   1.127 -        Foo<? super String> f16 = n.new Foo<>("", ""){}; //new Foo<Integer> created
   1.128 +        Foo<String> f13 = n.new Foo<>("", ""){};
   1.129 +        Foo<? extends String> f14 = n.new Foo<>("", ""){};
   1.130 +        Foo<?> f15 = n.new Foo<>("", ""){};
   1.131 +        Foo<? super String> f16 = n.new Foo<>("", ""){};
   1.132      }
   1.133  }

mercurial