method ref: isAssignable check; resolve (initial)

This commit is contained in:
anna
2012-09-25 19:44:27 +02:00
parent 71eb8ec93e
commit d1fbf297bc
7 changed files with 158 additions and 7 deletions

View File

@@ -0,0 +1,35 @@
class Test {
{
<error descr="Incompatible types. Found: '<method reference>', required: 'java.lang.Runnable'">Runnable b = Test :: length;</error>
Comparable<String> c = Test :: length;
<error descr="Incompatible types. Found: '<method reference>', required: 'java.lang.Comparable<java.lang.Integer>'">Comparable<Integer> c1 = Test :: length;</error>
}
public static Integer length(String s) {
return s.length();
}
interface Bar {
Integer _(String s);
}
}
class Test1 {
{
<error descr="Incompatible types. Found: '<method reference>', required: 'java.lang.Runnable'">Runnable b = Test1 :: 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 _(String s);
}
}