test/tools/javac/TryWithResources/ImplicitFinal.java

Mon, 26 Oct 2015 13:23:30 -0700

author
asaha
date
Mon, 26 Oct 2015 13:23:30 -0700
changeset 2999
683b3e7e05a7
parent 840
7f8794f9cc14
child 2525
2eb010b6cb22
permissions
-rw-r--r--

Added tag jdk8u76-b00 for changeset 10ffafaf5340

     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