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