langtools/test/tools/javac/TryWithResources/ImplicitFinal.java
changeset 8224 8f18e1622660
parent 6148 3a8158299c51
--- a/langtools/test/tools/javac/TryWithResources/ImplicitFinal.java	Mon Jan 24 16:38:56 2011 -0800
+++ b/langtools/test/tools/javac/TryWithResources/ImplicitFinal.java	Tue Jan 25 17:02:56 2011 -0800
@@ -1,6 +1,6 @@
 /*
  * @test  /nodynamiccopyright/
- * @bug 6911256 6964740 6965277
+ * @bug 6911256 6964740 6965277 7013420
  * @author Maurizio Cimadamore
  * @summary Test that resource variables are implicitly final
  * @compile/fail/ref=ImplicitFinal.out -XDrawDiagnostics ImplicitFinal.java
@@ -15,12 +15,25 @@
         } catch (IOException ioe) { // Not reachable
             throw new AssertionError("Shouldn't reach here", ioe);
         }
-    }
 
+        try(@SuppressWarnings("unchecked") ImplicitFinal r1 = new ImplicitFinal()) {
+            r1 = null; //disallowed
+        } catch (IOException ioe) { // Not reachable
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
 
-     // A close method, but the class is <em>not</em> Closeable or
-     // AutoCloseable.
+        try(final ImplicitFinal r2 = new ImplicitFinal()) {
+            r2 = null; //disallowed
+        } catch (IOException ioe) { // Not reachable
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
 
+        try(final @SuppressWarnings("unchecked") ImplicitFinal r3 = new ImplicitFinal()) {
+            r3 = null; //disallowed
+        } catch (IOException ioe) { // Not reachable
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
+    }
     public void close() throws IOException {
         throw new IOException();
     }