test/tools/javac/TryWithResources/TwrOnNonResource.java

Fri, 16 Jul 2010 19:35:24 -0700

author
darcy
date
Fri, 16 Jul 2010 19:35:24 -0700
changeset 609
13354e1abba7
child 840
7f8794f9cc14
permissions
-rw-r--r--

6911256: Project Coin: Support Automatic Resource Management (ARM) blocks in the compiler
6964740: Project Coin: More tests for ARM compiler changes
6965277: Project Coin: Correctness issues in ARM implementation
6967065: add -Xlint warning category for Automatic Resource Management (ARM)
Reviewed-by: jjb, darcy, mcimadamore, jjg, briangoetz
Contributed-by: tball@google.com

darcy@609 1 /*
darcy@609 2 * @test /nodynamiccopyright/
darcy@609 3 * @bug 6911256 6964740
darcy@609 4 * @author Joseph D. Darcy
darcy@609 5 * @summary Verify invalid TWR block is not accepted.
darcy@609 6 * @compile/fail -source 6 TwrOnNonResource.java
darcy@609 7 * @compile/fail/ref=TwrOnNonResource.out -XDrawDiagnostics TwrOnNonResource.java
darcy@609 8 */
darcy@609 9
darcy@609 10 class TwrOnNonResource {
darcy@609 11 public static void main(String... args) {
darcy@609 12 try(TwrOnNonResource aonr = new TwrOnNonResource()) {
darcy@609 13 System.out.println(aonr.toString());
darcy@609 14 }
darcy@609 15 try(TwrOnNonResource aonr = new TwrOnNonResource()) {
darcy@609 16 System.out.println(aonr.toString());
darcy@609 17 } finally {;}
darcy@609 18 try(TwrOnNonResource aonr = new TwrOnNonResource()) {
darcy@609 19 System.out.println(aonr.toString());
darcy@609 20 } catch (Exception e) {;}
darcy@609 21
darcy@609 22 // Also check expression form
darcy@609 23 TwrOnNonResource aonr = new TwrOnNonResource();
darcy@609 24 try(aonr) {
darcy@609 25 System.out.println(aonr.toString());
darcy@609 26 }
darcy@609 27 try(aonr) {
darcy@609 28 System.out.println(aonr.toString());
darcy@609 29 } finally {;}
darcy@609 30 try(aonr) {
darcy@609 31 System.out.println(aonr.toString());
darcy@609 32 } catch (Exception e) {;}
darcy@609 33 }
darcy@609 34
darcy@609 35 /*
darcy@609 36 * A close method, but the class is <em>not</em> Closeable or
darcy@609 37 * AutoCloseable.
darcy@609 38 */
darcy@609 39 public void close() {
darcy@609 40 throw new AssertionError("I'm not Closable!");
darcy@609 41 }
darcy@609 42 }

mercurial