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 6911256 6964740 6965277
4 * @author Maurizio Cimadamore
5 * @summary Check that resource variable is not accessible from catch/finally clause
6 * @compile/fail/ref=ResourceOutsideTry.out -XDrawDiagnostics ResourceOutsideTry.java
7 */
9 class ResourceOutsideTry {
10 void test() {
11 try(MyResource c = new MyResource()) {
12 //do something
13 } catch (Exception e) {
14 c.test();
15 } finally {
16 c.test();
17 }
18 }
19 static class MyResource implements AutoCloseable {
20 public void close() throws Exception {}
21 void test() {}
22 }
23 }