test/tools/javac/TryWithResources/ImplicitFinal.java

Tue, 25 Jan 2011 17:02:56 -0800

author
darcy
date
Tue, 25 Jan 2011 17:02:56 -0800
changeset 840
7f8794f9cc14
parent 609
13354e1abba7
child 2525
2eb010b6cb22
permissions
-rw-r--r--

7013420: Project Coin: remove general expression support from try-with-resources statement
Reviewed-by: mcimadamore, jjg

     1 /*
     2  * @test  /nodynamiccopyright/
     3  * @bug 6911256 6964740 6965277 7013420
     4  * @author Maurizio Cimadamore
     5  * @summary Test that resource variables are implicitly final
     6  * @compile/fail/ref=ImplicitFinal.out -XDrawDiagnostics ImplicitFinal.java
     7  */
     9 import java.io.IOException;
    11 class ImplicitFinal implements AutoCloseable {
    12     public static void main(String... args) {
    13         try(ImplicitFinal r = new ImplicitFinal()) {
    14             r = null; //disallowed
    15         } catch (IOException ioe) { // Not reachable
    16             throw new AssertionError("Shouldn't reach here", ioe);
    17         }
    19         try(@SuppressWarnings("unchecked") ImplicitFinal r1 = new ImplicitFinal()) {
    20             r1 = null; //disallowed
    21         } catch (IOException ioe) { // Not reachable
    22             throw new AssertionError("Shouldn't reach here", ioe);
    23         }
    25         try(final ImplicitFinal r2 = new ImplicitFinal()) {
    26             r2 = null; //disallowed
    27         } catch (IOException ioe) { // Not reachable
    28             throw new AssertionError("Shouldn't reach here", ioe);
    29         }
    31         try(final @SuppressWarnings("unchecked") ImplicitFinal r3 = new ImplicitFinal()) {
    32             r3 = null; //disallowed
    33         } catch (IOException ioe) { // Not reachable
    34             throw new AssertionError("Shouldn't reach here", ioe);
    35         }
    36     }
    37     public void close() throws IOException {
    38         throw new IOException();
    39     }
    40 }

mercurial