langtools/test/tools/javac/TryWithResources/TwrForVariable3.java
author jlahoda
Wed, 19 Nov 2014 13:46:04 +0100
changeset 27844 8b5d79870a2f
child 34565 627464b87753
permissions -rw-r--r--
7196163: Project Coin: Allow effectively final variables to be used as resources in try-with-resources Summary: Allowing final variables as operands to try-with-resources; also reviewed by Sergei Pikalev. Reviewed-by: darcy, mcimadamore, vromero

/* @test /nodynamiccopyright/
 * @bug 7196163
 * @summary Verify that improper expressions used as an operand to try-with-resources are rejected.
 * @compile/fail/ref=TwrForVariable3.out -XDrawDiagnostics -Xlint:-options TwrForVariable3.java
 */
public class TwrForVariable3 implements AutoCloseable {
    public static void main(String... args) {
        TwrForVariable3 v1 = new TwrForVariable3();
        Object v2 = new Object();

        try (v2) {
            fail("no an AutoCloseable");
        }
        try (java.lang.Object) {
            fail("not a variable access");
        }
        try (java.lang) {
            fail("not a variable access");
        }
    }

    static void fail(String reason) {
        throw new RuntimeException(reason);
    }

    public void close() {
    }

}