| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8003280 |
| * @summary Add lambda tests |
| * certain cases of erroneous member reference lookup are not handled by Attr.visitReference |
| * @compile/fail/ref=MethodReference51.out -XDrawDiagnostics MethodReference51.java |
| */ |
| class MethodReference51 { |
| |
| private static class Foo { |
| static int j(int i) { return i; } |
| } |
| |
| static Foo foo = new Foo(); |
| |
| static void m(String s) { } |
| static void m(Integer i) { } |
| |
| static int f(String s) { return 1; } |
| |
| static int g(Integer i, Number n) { return 1; } |
| static int g(Number n, Integer i) { return 1; } |
| |
| int h(int i) { return i; } |
| } |
| |
| class TestMethodReference51 { |
| |
| interface IntSam { |
| int m(int i); |
| } |
| |
| interface IntegerIntegerSam { |
| int m(Integer i1, Integer i2); |
| } |
| |
| |
| static void test() { |
| IntSam s1 = MethodReference51::unknown; //fail |
| IntSam s2 = MethodReference51::f; //fail |
| IntSam s3 = MethodReference51::g; //fail |
| IntegerIntegerSam s4 = MethodReference51::g; //fail |
| IntSam s5 = MethodReference51::h; //fail |
| IntSam s6 = MethodReference51.foo::j; //fail |
| } |
| } |