Fix list/array out of bounds for CommentDefaultAccessModifierRule and Enums

This commit is contained in:
Andreas Dangel
2015-08-31 20:00:47 +02:00
parent a9a1a37dbf
commit d117c9987b
2 changed files with 15 additions and 1 deletions

View File

@@ -82,8 +82,10 @@ public class CommentDefaultAccessModifierRule extends AbstractCommentRule {
}
private boolean shouldReport(final AbstractJavaAccessNode decl) {
List<ASTClassOrInterfaceDeclaration> parentClassOrInterface =
decl.getParentsOfType(ASTClassOrInterfaceDeclaration.class);
// ignore if is a Interface
return !decl.getParentsOfType(ASTClassOrInterfaceDeclaration.class).get(0).isInterface()
return (!parentClassOrInterface.isEmpty() && !parentClassOrInterface.get(0).isInterface())
// check if the field/method/nested class has a default access modifier
&& decl.isPackagePrivate()
// if is a default access modifier check if there is a comment in this line

View File

@@ -136,4 +136,16 @@ public class Foo {
<expected-linenumbers>2,4,13</expected-linenumbers>
<code-ref id="own-regex-to-default-access-modifier-rule"/>
</test-code>
<test-code>
<description>Declarations inside an enum</description>
<expected-problems>0</expected-problems>
<code><![CDATA[
public enum TestEnum {
FOO;
public String getName() { return "foo"; }
}
]]></code>
</test-code>
</test-data>