test/langtools/tools/javac/LocalClasses_2.java
changeset 47216 71c04702a3d5
parent 6150 d055fa8ced62
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/LocalClasses_2.java	Tue Sep 12 19:03:39 2017 +0200
@@ -0,0 +1,39 @@
+/*
+ * @test  /nodynamiccopyright/
+ * @bug 4074421 4277278 4785453
+ * @summary Verify that a local class cannot be redefined within its scope.
+ * @author William Maddox (maddox)
+ *
+ * @compile/fail/ref=LocalClasses_2.out -XDrawDiagnostics LocalClasses_2.java
+ */
+
+class LocalClasses_2 {
+
+    void foo() {
+        class Local { }
+        {
+            class Local { }                     // ERROR
+        }
+    }
+
+    void bar() {
+
+        class Local { }
+
+        class Baz {
+            void quux() {
+                class Local { }                 // OK
+            }
+        }
+
+        class Quux {
+            void baz() {
+                class Random {
+                    void quem() {
+                        class Local { }         // OK
+                    }
+                }
+            }
+        }
+    }
+}