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