test/tools/javac/TryWithResources/ArmLint.java

Thu, 09 Sep 2010 09:42:45 +0530

author
sundar
date
Thu, 09 Sep 2010 09:42:45 +0530
changeset 678
014cf6234586
parent 609
13354e1abba7
permissions
-rw-r--r--

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 }

mercurial