Wed, 26 Jan 2011 13:45:25 -0800
7013272: Automatically generate info about how compiler resource keys are used
Reviewed-by: mcimadamore
aoqi@0 | 1 | /* |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 6911256 6964740 6965277 |
aoqi@0 | 4 | * @author Maurizio Cimadamore |
aoqi@0 | 5 | * @summary Check that resource variable is not accessible from catch/finally clause |
aoqi@0 | 6 | * @compile/fail/ref=ResourceOutsideTry.out -XDrawDiagnostics ResourceOutsideTry.java |
aoqi@0 | 7 | */ |
aoqi@0 | 8 | |
aoqi@0 | 9 | class ResourceOutsideTry { |
aoqi@0 | 10 | void test() { |
aoqi@0 | 11 | try(MyResource c = new MyResource()) { |
aoqi@0 | 12 | //do something |
aoqi@0 | 13 | } catch (Exception e) { |
aoqi@0 | 14 | c.test(); |
aoqi@0 | 15 | } finally { |
aoqi@0 | 16 | c.test(); |
aoqi@0 | 17 | } |
aoqi@0 | 18 | } |
aoqi@0 | 19 | static class MyResource implements AutoCloseable { |
aoqi@0 | 20 | public void close() throws Exception {} |
aoqi@0 | 21 | void test() {} |
aoqi@0 | 22 | } |
aoqi@0 | 23 | } |