1 /* |
1 /* |
2 * @test /nodynamiccopyright/ |
2 * @test /nodynamiccopyright/ |
3 * @bug 6911256 6964740 |
3 * @bug 6911256 6964740 7013420 |
4 * @author Joseph D. Darcy |
4 * @author Joseph D. Darcy |
5 * @summary Test exception analysis of ARM blocks |
5 * @summary Test exception analysis of try-with-resources blocks |
6 * @compile/fail/ref=TwrFlow.out -XDrawDiagnostics TwrFlow.java |
6 * @compile/fail/ref=TwrFlow.out -XDrawDiagnostics TwrFlow.java |
7 */ |
7 */ |
8 |
8 |
9 import java.io.IOException; |
9 import java.io.IOException; |
10 public class TwrFlow implements AutoCloseable { |
10 public class TwrFlow implements AutoCloseable { |
11 public static void main(String... args) { |
11 public static void main(String... args) { |
12 try(TwrFlow armflow = new TwrFlow()) { |
12 try(TwrFlow twrFlow = new TwrFlow()) { |
13 System.out.println(armflow.toString()); |
13 System.out.println(twrFlow.toString()); |
14 } catch (IOException ioe) { // Not reachable |
|
15 throw new AssertionError("Shouldn't reach here", ioe); |
|
16 } |
|
17 // CustomCloseException should be caught or added to throws clause |
|
18 |
|
19 // Also check behavior on a resource expression rather than a |
|
20 // declaration. |
|
21 TwrFlow armflowexpr = new TwrFlow(); |
|
22 try(armflowexpr) { |
|
23 System.out.println(armflowexpr.toString()); |
|
24 } catch (IOException ioe) { // Not reachable |
14 } catch (IOException ioe) { // Not reachable |
25 throw new AssertionError("Shouldn't reach here", ioe); |
15 throw new AssertionError("Shouldn't reach here", ioe); |
26 } |
16 } |
27 // CustomCloseException should be caught or added to throws clause |
17 // CustomCloseException should be caught or added to throws clause |
28 } |
18 } |