From 7dc94ba7ab9a4e330c088e0fbbd441f78628edb0 Mon Sep 17 00:00:00 2001 From: Tobias Baum Date: Sun, 6 Jul 2014 14:50:08 +0200 Subject: [PATCH] Fixed AbstractTypeAwareCheck for generics in interfaces (issue #473) --- .../checkstyle/checks/AbstractTypeAwareCheck.java | 2 ++ .../checks/coding/RedundantThrowsCheck.java | 1 + .../checks/javadoc/JavadocMethodCheck.java | 1 + .../tools/checkstyle/javadoc/TestGenerics.java | 15 +++++++++++++++ 4 files changed, 19 insertions(+) diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/AbstractTypeAwareCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/AbstractTypeAwareCheck.java index 757eb6c5b..321041042 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/AbstractTypeAwareCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/AbstractTypeAwareCheck.java @@ -110,6 +110,7 @@ public abstract class AbstractTypeAwareCheck extends Check TokenTypes.PACKAGE_DEF, TokenTypes.IMPORT, TokenTypes.CLASS_DEF, + TokenTypes.INTERFACE_DEF, TokenTypes.ENUM_DEF, }; } @@ -136,6 +137,7 @@ public abstract class AbstractTypeAwareCheck extends Check processImport(aAST); } else if ((aAST.getType() == TokenTypes.CLASS_DEF) + || (aAST.getType() == TokenTypes.INTERFACE_DEF) || (aAST.getType() == TokenTypes.ENUM_DEF)) { processClass(aAST); diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RedundantThrowsCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RedundantThrowsCheck.java index c3a1a5867..119f72cfe 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RedundantThrowsCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RedundantThrowsCheck.java @@ -83,6 +83,7 @@ public class RedundantThrowsCheck extends AbstractTypeAwareCheck TokenTypes.PACKAGE_DEF, TokenTypes.IMPORT, TokenTypes.CLASS_DEF, + TokenTypes.INTERFACE_DEF, TokenTypes.ENUM_DEF, TokenTypes.METHOD_DEF, TokenTypes.CTOR_DEF, diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java index 1c2693e48..1191359bb 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java @@ -233,6 +233,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck { return new int[] {TokenTypes.PACKAGE_DEF, TokenTypes.IMPORT, TokenTypes.CLASS_DEF, TokenTypes.ENUM_DEF, + TokenTypes.INTERFACE_DEF, TokenTypes.METHOD_DEF, TokenTypes.CTOR_DEF, TokenTypes.ANNOTATION_FIELD_DEF, }; diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/javadoc/TestGenerics.java b/src/test/resources/com/puppycrawl/tools/checkstyle/javadoc/TestGenerics.java index 79ed647aa..28ae00ff1 100644 --- a/src/test/resources/com/puppycrawl/tools/checkstyle/javadoc/TestGenerics.java +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/javadoc/TestGenerics.java @@ -45,4 +45,19 @@ public class TestGenerics some parameter + * @param some exception parameter + */ + public interface InnerInterface { + /** + * Some javadoc. + * @param t a parameter + * @throws E2 in some case. + * @return some string + */ + public abstract String doStuff(T t) throws E2; + } } +