equal
deleted
inserted
replaced
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 } |
|