diff -r a8437c34fdc7 -r 7f8794f9cc14 test/tools/javac/TryWithResources/ImplicitFinal.java --- a/test/tools/javac/TryWithResources/ImplicitFinal.java Mon Jan 24 16:38:56 2011 -0800 +++ b/test/tools/javac/TryWithResources/ImplicitFinal.java Tue Jan 25 17:02:56 2011 -0800 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 6911256 6964740 6965277 + * @bug 6911256 6964740 6965277 7013420 * @author Maurizio Cimadamore * @summary Test that resource variables are implicitly final * @compile/fail/ref=ImplicitFinal.out -XDrawDiagnostics ImplicitFinal.java @@ -15,12 +15,25 @@ } catch (IOException ioe) { // Not reachable throw new AssertionError("Shouldn't reach here", ioe); } + + try(@SuppressWarnings("unchecked") ImplicitFinal r1 = new ImplicitFinal()) { + r1 = null; //disallowed + } catch (IOException ioe) { // Not reachable + throw new AssertionError("Shouldn't reach here", ioe); + } + + try(final ImplicitFinal r2 = new ImplicitFinal()) { + r2 = null; //disallowed + } catch (IOException ioe) { // Not reachable + throw new AssertionError("Shouldn't reach here", ioe); + } + + try(final @SuppressWarnings("unchecked") ImplicitFinal r3 = new ImplicitFinal()) { + r3 = null; //disallowed + } catch (IOException ioe) { // Not reachable + throw new AssertionError("Shouldn't reach here", ioe); + } } - - - // A close method, but the class is not Closeable or - // AutoCloseable. - public void close() throws IOException { throw new IOException(); }