--- /dev/null 2009-07-06 20:02:10.000000000 -0700 +++ new/test/tools/javac/AutomaticResourceManagement/BadArm.java 2010-07-01 12:35:29.000000000 -0700 @@ -0,0 +1,36 @@ +/* + * @test /nodynamiccopyright/ + * @bug 6911256 6964740 + * @author Joseph D. Darcy + * @summary Verify bad ARMs don't compile + * @compile/fail -source 6 ArmFlow.java + * @compile/fail/ref=BadArm.out -XDrawDiagnostics BadArm.java + */ + +public class BadArm implements AutoCloseable { + public static void main(String... args) { + // illegal repeated name + try(BadArm r1 = new BadArm(); BadArm r1 = new BadArm()) { + System.out.println(r1.toString()); + } + + // illegal duplicate name of method argument + try(BadArm args = new BadArm()) { + System.out.println(args.toString()); + final BadArm thatsIt = new BadArm(); + thatsIt = null; + } + + try(BadArm name = new BadArm()) { + // illegal duplicate name of enclosing try + try(BadArm name = new BadArm()) { + System.out.println(name.toString()); + } + } + + } + + public void close() { + ; + } +}