| /* @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(); |
| Object v3 = new Object() { |
| public void close() { |
| } |
| }; |
| |
| try (v2) { |
| fail("not an AutoCloseable"); |
| } |
| try (v3) { |
| fail("not an AutoCloseable although has close() method"); |
| } |
| 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() { |
| } |
| |
| } |