| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8025113 |
| * @author sogoel |
| * @summary Redeclaration of resource variables |
| * @compile/fail/ref=ResourceRedecl.out -XDrawDiagnostics ResourceRedecl.java |
| */ |
| |
| import java.io.*; |
| |
| public class ResourceRedecl { |
| |
| public void test() { |
| // compiler error if name of an exception param is redeclared within the Block of the catch clause as a local var; |
| // or as an exception param of a catch clause in a try statement; |
| // or as a resource in a try-with-resources statement |
| try { |
| } catch (Exception exParam1) { |
| Object exParam1 = new Object(); |
| try (java.io.FileInputStream exParam1 = new java.io.FileInputStream("foo.txt")) { |
| Object exParam1 = new Object(); |
| } catch (IOException exParam1) { |
| } |
| } |
| |
| // compiler error if resource is redeclared within the try Block as a local var |
| // or as an exception param of a catch clause in a try statement |
| try (java.io.FileInputStream exParam2 = new java.io.FileInputStream("bar.txt")) { |
| Object exParam2 = new Object(); |
| try (BufferedReader br = new BufferedReader(new FileReader("zee.txt"))) { |
| } catch (IOException exParam2) { |
| } |
| } catch (Exception ex) { |
| } |
| } |
| } |
| |