test/tools/javac/TryWithResources/ArmLint.java

Mon, 02 Aug 2010 13:35:39 -0700

author
darcy
date
Mon, 02 Aug 2010 13:35:39 -0700
changeset 622
38e2c23309f1
parent 609
13354e1abba7
permissions
-rw-r--r--

6971877: Project Coin: improve semantics of suppressed exceptions in try-with-resources
Reviewed-by: jjb

darcy@609 1 /*
darcy@609 2 * @test /nodynamiccopyright/
darcy@609 3 * @bug 6911256 6964740 6965277 6967065
darcy@609 4 * @author Joseph D. Darcy
darcy@609 5 * @summary Check that -Xlint:arm warnings are generated as expected
darcy@609 6 * @compile/ref=ArmLint.out -Xlint:arm,deprecation -XDrawDiagnostics ArmLint.java
darcy@609 7 */
darcy@609 8
darcy@609 9 class ArmLint implements AutoCloseable {
darcy@609 10 private static void test1() {
darcy@609 11 try(ArmLint r1 = new ArmLint();
darcy@609 12 ArmLint r2 = new ArmLint();
darcy@609 13 ArmLint r3 = new ArmLint()) {
darcy@609 14 r1.close(); // The resource's close
darcy@609 15 r2.close(42); // *Not* the resource's close
darcy@609 16 // r3 not referenced
darcy@609 17 }
darcy@609 18
darcy@609 19 }
darcy@609 20
darcy@609 21 @SuppressWarnings("arm")
darcy@609 22 private static void test2() {
darcy@609 23 try(@SuppressWarnings("deprecation") AutoCloseable r4 =
darcy@609 24 new DeprecatedAutoCloseable()) {
darcy@609 25 // r4 not referenced
darcy@609 26 } catch(Exception e) {
darcy@609 27 ;
darcy@609 28 }
darcy@609 29 }
darcy@609 30
darcy@609 31 /**
darcy@609 32 * The AutoCloseable method of a resource.
darcy@609 33 */
darcy@609 34 @Override
darcy@609 35 public void close () {
darcy@609 36 return;
darcy@609 37 }
darcy@609 38
darcy@609 39 /**
darcy@609 40 * <em>Not</em> the AutoCloseable method of a resource.
darcy@609 41 */
darcy@609 42 public void close (int arg) {
darcy@609 43 return;
darcy@609 44 }
darcy@609 45 }
darcy@609 46
darcy@609 47 @Deprecated
darcy@609 48 class DeprecatedAutoCloseable implements AutoCloseable {
darcy@609 49 public DeprecatedAutoCloseable(){super();}
darcy@609 50
darcy@609 51 @Override
darcy@609 52 public void close () {
darcy@609 53 return;
darcy@609 54 }
darcy@609 55 }

mercurial