aoqi@0: /* aoqi@0: * @test /nodynamiccopyright/ aoqi@0: * @bug 8003280 aoqi@0: * @summary Add lambda tests aoqi@0: * check that raw qualifier in unbound method reference is inferred from descriptor aoqi@0: * @compile/fail/ref=MethodReference48.out -XDrawDiagnostics MethodReference48.java aoqi@0: */ aoqi@0: aoqi@0: public class MethodReference48 { aoqi@0: aoqi@0: static class Foo { aoqi@0: X m() { return null; }; aoqi@0: } aoqi@0: aoqi@0: interface SAM1 { aoqi@0: Foo m(Foo fs); aoqi@0: } aoqi@0: aoqi@0: interface SAM2 { aoqi@0: Integer m(Foo fi); aoqi@0: } aoqi@0: aoqi@0: interface SAM3 { aoqi@0: Object m(Foo fi); aoqi@0: } aoqi@0: aoqi@0: static void g1(SAM1 s) { } //return type not compatible aoqi@0: aoqi@0: static void g2(SAM2 s) { } //ok aoqi@0: aoqi@0: static void g3(SAM3 s) { } //ok aoqi@0: aoqi@0: static void g4(SAM1 s) { } //return type not compatible aoqi@0: static void g4(SAM2 s) { } //ok aoqi@0: static void g4(SAM3 s) { } //ok aoqi@0: aoqi@0: public static void main(String[] args) { aoqi@0: g1(Foo::m); aoqi@0: g2(Foo::m); aoqi@0: g3(Foo::m); aoqi@0: g4(Foo::m); aoqi@0: } aoqi@0: }