| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8003280 8078024 |
| * @summary Add lambda tests |
| * check that generic method reference is inferred when type parameters are omitted |
| * @compile/fail/ref=MethodReference46.out -XDrawDiagnostics MethodReference46.java |
| */ |
| |
| public class MethodReference46 { |
| |
| interface SAM1 { |
| void m(String s); |
| } |
| |
| interface SAM2 { |
| void m(Integer s); |
| } |
| |
| interface SAM3 { |
| void m(Object o); |
| } |
| |
| static class Foo<X extends Number> { |
| Foo(X x) { } |
| } |
| |
| static <X extends Number> void m(X fx) { } |
| |
| static void g1(SAM1 s) { } |
| |
| static void g2(SAM2 s) { } |
| |
| static void g3(SAM3 s) { } |
| |
| static void g4(SAM1 s) { } |
| static void g4(SAM2 s) { } |
| static void g4(SAM3 s) { } |
| |
| public static void main(String[] args) { |
| g1(MethodReference46::m); |
| g2(MethodReference46::m); |
| g3(MethodReference46::m); |
| g4(MethodReference46::m); |
| } |
| } |