ensure assignability for standalone expressions during applicability check (IDEA-159086)

This commit is contained in:
Anna.Kozlova
2017-02-13 18:30:53 +01:00
parent d720d1fd0d
commit 770bd344ea
4 changed files with 41 additions and 5 deletions
@@ -0,0 +1,18 @@
import java.util.*;
class Test {
interface Q<K> {
}
void f(List list, Set<List<Object>> q) {
assertThat1(list, <error descr="'assertThat1(java.util.List, java.util.Set<? super java.util.List>)' in 'Test' cannot be applied to '(java.util.List, java.util.Set<java.util.List<java.lang.Object>>)'">q</error>);
assertThat2(list, q);
assertThat<error descr="Cannot resolve method 'assertThat(java.util.List, java.util.Set<java.util.List<java.lang.Object>>)'">(list, q)</error>;
}
private static <T> void assertThat1(T actual, Set<? super T> matcher) {}
private static <T> void assertThat2(T actual, Set<? extends T> matcher) {}
private static <T> void assertThat(T actual, Set<? super T> matcher) {}
private static <T> void assertThat(T actual, List<? super T> matcher) {}
}