do not open capture when method call type is calculated

This commit is contained in:
Anna Kozlova
2015-12-03 12:18:25 +01:00
parent 47efd29972
commit c16a53a9fb
15 changed files with 55 additions and 38 deletions
@@ -45,7 +45,7 @@ class VarianceTesting {
VarianceTesting t = l1.get(0);
l.add(new VarianceTesting());
l.add(null);
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'VarianceTesting'">VarianceTesting t1 = l.get(0);</error>
<error descr="Incompatible types. Found: 'capture<? super VarianceTesting>', required: 'VarianceTesting'">VarianceTesting t1 = l.get(0);</error>
X<? extends VarianceTesting> x1 = null;
x1.putAll(new ArrayList<VarianceTesting>());
List<?> unknownlist = l;
@@ -142,7 +142,7 @@ class S1 {
}
void bar(List<? extends S1> k) {
f<error descr="'f(java.util.List<T>, T)' in 'S1' cannot be applied to '(java.util.List<capture<? extends S1>>, S1)'">(k, k.get(0))</error>;
f<error descr="'f(java.util.List<T>, T)' in 'S1' cannot be applied to '(java.util.List<capture<? extends S1>>, capture<? extends S1>)'">(k, k.get(0))</error>;
}
}