@@ -0,0 +1,908 @@
+%0Apublic class Naming %7B%0A%09public static class NamingException %7B%0A%09%09// Should produce a warning%0A%09%7D%0A%09%0A%09public static class NamingBaseException extends Exception %7B%0A%09%09// Should not produce a warning%0A        private static final long serialVersionUID = 1L;%0A%09%7D%0A%09%0A%09public static class NamingBaseChildException extends NamingBaseException %7B%0A%09%09// Should not produce a warning%0A        private static final long serialVersionUID = 2L;%0A%09%7D%0A%09%0A%09public static class TrickyName extends NamingBaseChildException %7B%0A%09%09// Not a candidate - name doesn't imply it's an exception%0A        private static final long serialVersionUID = 3L;%0A%09%7D%0A%09%0A%09public static class FinalException extends TrickyName %7B%0A%09%09// Should not produce a warning%0A        private static final long serialVersionUID = 4L;%0A%09%7D%0A%09%0A%09public static void main(String args%5B%5D) throws FinalException %7B%0A%09%09boolean blah = true;%0A%09%09if(blah) %7B%0A%09%09%09throw new FinalException();%0A%09%09%7D%0A%09%7D%0A%7D%0A

Test case for solution to sourceforge bug 1840245: