Thu, 03 Feb 2011 09:36:28 +0000
5017953: spurious cascaded diagnostics when name not found
Summary: when an operator is applied to one or more erroneous operands, spurious diagnostics are generated
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 }