Thu, 04 Nov 2010 12:57:48 +0000
6993963: Project Coin: Use precise exception analysis for effectively final catch parameters
Summary: More precise rethrow analysis should be extended to effectively-final exception parameters. Multicatch parameters should be made implicitly final.
Reviewed-by: jjg, darcy
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 6943289
4 *
5 * @summary Project Coin: Improved Exception Handling for Java (aka 'multicatch')
6 * @author mcimadamore
7 * @compile/fail/ref=Neg05.out -XDrawDiagnostics Neg05.java
8 *
9 */
11 class Neg02 {
13 static class Foo<X> {
14 Foo(X x) {}
15 }
17 static interface Base<X> {}
18 static class A extends Exception implements Base<String> {}
19 static class B extends Exception implements Base<Integer> {}
21 void m() {
22 try {
23 if (true) {
24 throw new A();
25 }
26 else {
27 throw new B();
28 }
29 } catch (A | B ex) {
30 Foo<?> f = new Foo<>(ex);
31 }
32 }
33 }