19933
|
1 |
/*
|
|
2 |
* @test /nodynamiccopyright/
|
|
3 |
* @bug 8019521
|
|
4 |
* @summary Check that enhanced rethrow/effectivelly final works correctly inside lambdas
|
|
5 |
* @compile EffectivelyFinalThrows.java
|
|
6 |
*/
|
|
7 |
|
|
8 |
class EffectivelyFinalThrows {
|
|
9 |
interface SAM<E extends Throwable> {
|
|
10 |
public void t() throws E;
|
|
11 |
}
|
|
12 |
<E extends Throwable> void test(SAM<E> s) throws E {
|
|
13 |
s.t();
|
|
14 |
}
|
|
15 |
void test2(SAM<Checked> s) throws Checked {
|
|
16 |
test(() -> {
|
|
17 |
try {
|
|
18 |
s.t();
|
|
19 |
} catch (Throwable t) {
|
|
20 |
throw t;
|
|
21 |
}
|
|
22 |
});
|
|
23 |
}
|
|
24 |
static class Checked extends Exception {}
|
|
25 |
}
|