method refs: fix getClass() return type in case of method references

This commit is contained in:
Anna Kozlova
2016-02-01 16:53:20 +03:00
parent b82907366b
commit e6357ca1dd
4 changed files with 19 additions and 1 deletions
@@ -10,6 +10,6 @@ class GetClassTest {
void test(int[] iarr, List<String> ls) {
GetCl c4 = ls::getClass;
GetClReturnTypeProblems c5 = <error descr="Bad return type in method reference: cannot convert java.lang.Class<? extends java.util.List> to java.lang.Class<java.util.List<java.lang.String>>">ls::getClass</error>;
GetClReturnTypeProblems c5 = <error descr="Bad return type in method reference: cannot convert java.lang.Class<? extends java.util.List<java.lang.String>> to java.lang.Class<java.util.List<java.lang.String>>">ls::getClass</error>;
}
}
@@ -0,0 +1,10 @@
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
class Test {
public <T> void some() {
Function<AtomicReference<T>, ? extends Class<? extends AtomicReference>> a = AtomicReference<T>::getClass;
Function<AtomicReference<T>, ? extends Class<? extends AtomicReference>> b = AtomicReference::getClass;
}
}