/* * @test /nodynamiccopyright/ * @bug 8003280 * @summary Add lambda tests * check that generic method reference is inferred when type parameters are omitted * @compile/fail/ref=MethodReference45.out -XDrawDiagnostics MethodReference45.java */ public class MethodReference45 { static int assertionCount = 0; static void assertTrue(boolean cond) { assertionCount++; if (!cond) throw new AssertionError(); } static class SuperFoo<X> { } static class Foo<X extends Number> extends SuperFoo<X> { } interface SAM1 { void m(); } interface SAM2 { void m(); } static <X extends Number> Foo<X> m() { return null; } static void g1(SAM1 s) { } static void g2(SAM1 s) { } static void g2(SAM2 s) { } void test() { g1(MethodReference45::m); g2(MethodReference45::m); } }