test/tools/javac/lambda/MethodReference41.java

changeset 0
959103a6100f
child 2525
2eb010b6cb22
equal deleted inserted replaced
-1:000000000000 0:959103a6100f
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 8003280
4 * @summary Add lambda tests
5 * check that diamond inference is applied when using raw constructor reference qualifier
6 * @compile/fail/ref=MethodReference41.out -XDrawDiagnostics MethodReference41.java
7 */
8
9 public class MethodReference41 {
10
11 interface SAM1 {
12 void m(String s);
13 }
14
15 interface SAM2 {
16 void m(Integer s);
17 }
18
19 interface SAM3 {
20 void m(Object o);
21 }
22
23 static class Foo<X extends Number> {
24 Foo(X x) { }
25 }
26
27 static void m1(SAM1 s) { }
28
29 static void m2(SAM2 s) { }
30
31 static void m3(SAM3 s) { }
32
33 static void m4(SAM1 s) { }
34 static void m4(SAM2 s) { }
35 static void m4(SAM3 s) { }
36
37 public static void main(String[] args) {
38 m1(Foo::new);
39 m2(Foo::new);
40 m3(Foo::new);
41 m4(Foo::new);
42 }
43 }

mercurial