1 /*
   2  * @test  /nodynamiccopyright/
   3  * @bug 6911256 6964740
   4  * @author Joseph D. Darcy
   5  * @summary Verify bad ARMs don't compile
   6  * @compile/fail -source 6 ArmFlow.java
   7  * @compile/fail/ref=BadArm.out -XDrawDiagnostics BadArm.java
   8  */
   9   
  10 public class BadArm implements AutoCloseable {
  11     public static void main(String... args) {
  12         // illegal repeated name
  13         try(BadArm r1 = new BadArm(); BadArm r1 = new BadArm()) {
  14             System.out.println(r1.toString());
  15         }
  16 
  17         // illegal duplicate name of method argument
  18         try(BadArm args = new BadArm()) {
  19             System.out.println(args.toString());
  20             final BadArm thatsIt = new BadArm();
  21             thatsIt = null;
  22         }
  23 
  24         try(BadArm name = new BadArm()) {
  25             // illegal duplicate name of enclosing try
  26             try(BadArm name = new BadArm()) {
  27                 System.out.println(name.toString());
  28             }
  29         }
  30 
  31     }
  32 
  33     public void close() {
  34         ;
  35     }
  36 }