langtools/test/tools/javac/TryWithResources/TwrIntersection02.java
changeset 8244 684e207416ad
parent 8220 6df04150b36f
parent 8243 33095f58932b
child 8248 09e47b898040
equal deleted inserted replaced
8220:6df04150b36f 8244:684e207416ad
     1 /*
       
     2  * @test  /nodynamiccopyright/
       
     3  * @bug 6911256 6964740 6965277
       
     4  * @author Maurizio Cimadamore
       
     5  * @summary Check that resources of an intersection type forces union of exception types
       
     6  *          to be caught outside twr block
       
     7  * @compile/fail/ref=TwrIntersection02.out -XDrawDiagnostics TwrIntersection02.java
       
     8  */
       
     9 
       
    10 class TwrIntersection02 {
       
    11 
       
    12     static class Exception1 extends Exception {}
       
    13     static class Exception2 extends Exception {}
       
    14 
       
    15 
       
    16     interface MyResource1 extends AutoCloseable {
       
    17        void close() throws Exception1;
       
    18     }
       
    19 
       
    20     interface MyResource2 extends AutoCloseable {
       
    21        void close() throws Exception2;
       
    22     }
       
    23 
       
    24     public void test1() throws Exception1 {
       
    25         try(getX()) {
       
    26             //do something
       
    27         }
       
    28     }
       
    29 
       
    30     public void test2() throws Exception2 {
       
    31         try(getX()) {
       
    32             //do something
       
    33         }
       
    34     }
       
    35 
       
    36     <X extends MyResource1 & MyResource2> X getX() { return null; }
       
    37 }