Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/Assignability.java
Anna Kozlova f47a4e818b [java] method references overload resolution (IDEA-276614; IDEA-276613)
check static conflicts between applicable methods vs most specific method of another search, as the spec says

GitOrigin-RevId: d11508968a88888c41f6d69e416ab8fa5e915e5d
2021-08-27 11:42:11 +00:00

42 lines
956 B
Java

class Test {
{
Runnable b = Test :: <error descr="Cannot resolve method 'length'">length</error>;
Comparable<String> c = Test :: length;
Comparable<Integer> c1 = Test :: <error descr="Incompatible types: Integer is not convertible to String">length</error>;
}
public static Integer length(String s) {
return s.length();
}
interface Bar {
Integer m(String s);
}
}
class Test1 {
{
Runnable b = Test1 :: <error descr="Cannot resolve method 'length'">length</error>;
Comparable<String> c = Test1 :: length;
Comparable<Integer> c1 = Test1 :: length;
}
public static Integer length(String s) {
return s.length();
}
public static Integer length(Integer s) {
return s;
}
interface Bar {
Integer m(String s);
}
}
class Test2 {
void foo(Integer i) {}
Object o = <error descr="Object is not a functional interface">Test2::foo</error>;
}