|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8003280 |
|
4 * @summary Add lambda tests |
|
5 * check that generic method reference is inferred when type parameters are omitted |
|
6 * @compile/fail/ref=MethodReference45.out -XDrawDiagnostics MethodReference45.java |
|
7 */ |
|
8 public class MethodReference45 { |
|
9 |
|
10 static int assertionCount = 0; |
|
11 |
|
12 static void assertTrue(boolean cond) { |
|
13 assertionCount++; |
|
14 if (!cond) |
|
15 throw new AssertionError(); |
|
16 } |
|
17 |
|
18 static class SuperFoo<X> { } |
|
19 |
|
20 static class Foo<X extends Number> extends SuperFoo<X> { } |
|
21 |
|
22 interface SAM1 { |
|
23 void m(); |
|
24 } |
|
25 |
|
26 interface SAM2 { |
|
27 void m(); |
|
28 } |
|
29 |
|
30 static <X extends Number> Foo<X> m() { return null; } |
|
31 |
|
32 static void g1(SAM1 s) { } |
|
33 static void g2(SAM1 s) { } |
|
34 static void g2(SAM2 s) { } |
|
35 |
|
36 void test() { |
|
37 g1(MethodReference45::m); |
|
38 g2(MethodReference45::m); |
|
39 } |
|
40 } |