aoqi@0: /* aoqi@0: * @test /nodynamiccopyright/ aoqi@0: * @bug 8003280 aoqi@0: * @summary Add lambda tests aoqi@0: * check that diamond inference is applied when using raw constructor reference qualifier aoqi@0: * @compile/fail/ref=MethodReference43.out -XDrawDiagnostics MethodReference43.java aoqi@0: */ aoqi@0: aoqi@0: public class MethodReference43 { aoqi@0: aoqi@0: interface SAM1 { aoqi@0: Foo m(String s); aoqi@0: } aoqi@0: aoqi@0: interface SAM2 { aoqi@0: Foo m(Integer s); aoqi@0: } aoqi@0: aoqi@0: interface SAM3 { aoqi@0: Foo m(Object o); aoqi@0: } aoqi@0: aoqi@0: interface SAM4 { aoqi@0: Foo m(Integer o); aoqi@0: } aoqi@0: aoqi@0: static class Foo { aoqi@0: Foo(X x) { } aoqi@0: } aoqi@0: aoqi@0: static void m1(SAM1 s) { } aoqi@0: aoqi@0: static void m2(SAM2 s) { } aoqi@0: aoqi@0: static void m3(SAM3 s) { } aoqi@0: aoqi@0: static void m4(SAM4 s) { } aoqi@0: aoqi@0: static void m5(SAM1 s) { } aoqi@0: static void m5(SAM2 s) { } aoqi@0: static void m5(SAM3 s) { } aoqi@0: static void m5(SAM4 s) { } aoqi@0: aoqi@0: public static void main(String[] args) { aoqi@0: m1(Foo::new); aoqi@0: m2(Foo::new); aoqi@0: m3(Foo::new); aoqi@0: m4(Foo::new); aoqi@0: m5(Foo::new); aoqi@0: } aoqi@0: }