3789983e89
Reviewed-by: darcy, ihse
38 lines
1.3 KiB
Java
38 lines
1.3 KiB
Java
/*
|
|
* @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) {
|
|
}
|
|
}
|
|
}
|
|
|