Fri, 28 Jan 2011 12:01:07 +0000
6910550: javac 1.5.0_17 fails with incorrect error message
Summary: multiple clashing members declared in same class should be added to the class' scope in order to avoid downstream spurious diagnostics
Reviewed-by: jjg
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 }