/* * @test /nodynamiccopyright/ * @bug 7196163 * @summary Twr with different kinds of variables: local, instance, class, parameter * @compile/fail/ref=TwrVarKinds.out -XDrawDiagnostics TwrVarKinds.java */ public class TwrVarKinds implements AutoCloseable { final static TwrVarKinds r1 = new TwrVarKinds(); final TwrVarKinds r2 = new TwrVarKinds(); static TwrVarKinds r3 = new TwrVarKinds(); TwrVarKinds r4 = new TwrVarKinds(); public static void main(String... args) { TwrVarKinds r5 = new TwrVarKinds(); /* static final field - ok */ try (r1) { } /* non-static final field - ok */ try (r1.r2) { } /* static non-final field - wrong */ try (r3) { } /* non-static non-final field -wrong */ try (r1.r4) { } /* local variable - ok */ try (r5) { } /* parameter - ok */ method(r5); } static void method(TwrVarKinds r) { /* parameter */ try (r) { } } public void close() {} }