|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8003280 |
|
4 * @summary Add lambda tests |
|
5 * check that that void compatibility affects overloading as expected |
|
6 * @compile VoidCompatibility.java |
|
7 */ |
|
8 class VoidCompatibility { |
|
9 |
|
10 interface Runnable { void run(); } //1 |
|
11 interface Thunk<T> { T get(); } //2 |
|
12 |
|
13 void schedule(Runnable r) { } |
|
14 void schedule(Thunk<?> t) { } |
|
15 |
|
16 void test() { |
|
17 schedule(() -> System.setProperty("done", "true")); //non-void most specific |
|
18 schedule(() -> { System.setProperty("done", "true"); }); //1 |
|
19 schedule(() -> { return System.setProperty("done", "true"); }); //2 |
|
20 schedule(() -> System.out.println("done")); //1 |
|
21 schedule(() -> { System.out.println("done"); }); //1 |
|
22 schedule(Thread::yield); //1 |
|
23 schedule(Thread::getAllStackTraces); //non-void most specific |
|
24 schedule(Thread::interrupted); //1 (most specific) |
|
25 } |
|
26 } |