test/tools/javac/TryWithResources/ResourceOutsideTry.java

Thu, 21 Feb 2013 15:26:46 +0000

author
mcimadamore
date
Thu, 21 Feb 2013 15:26:46 +0000
changeset 1599
9f0ec00514b6
parent 0
959103a6100f
permissions
-rw-r--r--

8007461: Regression: bad overload resolution when inner class and outer class have method with same name
Summary: Fix regression in varargs method resolution introduced by bad refactoring
Reviewed-by: jjg

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 }

mercurial