|
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=MethodReference47.out -XDrawDiagnostics MethodReference47.java |
|
7 */ |
|
8 public class MethodReference47 { |
|
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 interface SAM1 { |
|
19 void m(Integer s); |
|
20 } |
|
21 |
|
22 interface SAM2 { |
|
23 void m(Integer s); |
|
24 } |
|
25 |
|
26 static class Foo<X extends Number> { |
|
27 Foo(X x) { } |
|
28 } |
|
29 |
|
30 static <X extends Number> void m(X fx) { } |
|
31 |
|
32 static void g1(SAM1 s) { } |
|
33 static void g2(SAM1 s) { } |
|
34 static void g2(SAM2 s) { } |
|
35 |
|
36 public static void main(String[] args) { |
|
37 g1(MethodReference46::m); |
|
38 g2(MethodReference46::m); |
|
39 } |
|
40 } |