Thu, 09 Sep 2010 09:42:45 +0530
6900149: IllegalStateException when compiling same files and DiagnosticListener is set.
Reviewed-by: jjg
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 */
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 }
19 }
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 }
31 /**
32 * The AutoCloseable method of a resource.
33 */
34 @Override
35 public void close () {
36 return;
37 }
39 /**
40 * <em>Not</em> the AutoCloseable method of a resource.
41 */
42 public void close (int arg) {
43 return;
44 }
45 }
47 @Deprecated
48 class DeprecatedAutoCloseable implements AutoCloseable {
49 public DeprecatedAutoCloseable(){super();}
51 @Override
52 public void close () {
53 return;
54 }
55 }