diff --git a/pom.xml b/pom.xml
index 47114dcc6..c5bc6f00a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1120,9 +1120,6 @@
.*.checks.header.AbstractHeaderCheck9087
- .*.checks.metrics.AbstractClassCouplingCheck8797
- .*.checks.metrics.AbstractClassCouplingCheck\$.*78100
-
.*.checks.regexp.CommentSuppressor75100
.*.checks.regexp.DetectorOptions10096
.*.checks.regexp.MultilineDetector5887
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java
index b1237e6b7..8ba5207b4 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java
@@ -137,7 +137,7 @@ public abstract class AbstractClassCouplingCheck extends Check {
context.visitLiteralThrows(ast);
break;
default:
- throw new IllegalStateException(ast.toString());
+ throw new IllegalArgumentException("Unknown type: " + ast);
}
}
@@ -284,8 +284,7 @@ public abstract class AbstractClassCouplingCheck extends Check {
* @return true if we should count this class.
*/
private boolean isSignificant(String className) {
- return className.length() > 0
- && !excludedClasses.contains(className)
+ return !excludedClasses.contains(className)
&& !className.startsWith("java.lang.");
}
}
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassDataAbstractionCouplingCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassDataAbstractionCouplingCheckTest.java
index 603e7a7c3..38505c738 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassDataAbstractionCouplingCheckTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassDataAbstractionCouplingCheckTest.java
@@ -26,8 +26,12 @@ import java.io.File;
import org.junit.Test;
+import antlr.CommonHiddenStreamToken;
+
import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport;
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
+import com.puppycrawl.tools.checkstyle.api.DetailAST;
+import com.puppycrawl.tools.checkstyle.api.TokenTypes;
public class ClassDataAbstractionCouplingCheckTest extends BaseCheckTestSupport {
@Test
@@ -67,4 +71,12 @@ public class ClassDataAbstractionCouplingCheckTest extends BaseCheckTestSupport
fail();
}
}
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testWrongToken() {
+ ClassDataAbstractionCouplingCheck classDataAbstractionCouplingCheckObj = new ClassDataAbstractionCouplingCheck();
+ DetailAST ast = new DetailAST();
+ ast.initialize(new CommonHiddenStreamToken(TokenTypes.CTOR_DEF, "ctor"));
+ classDataAbstractionCouplingCheckObj.visitToken(ast);
+ }
}
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassFanOutComplexityCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassFanOutComplexityCheckTest.java
index 452e81f9e..fd5ead5f6 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassFanOutComplexityCheckTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassFanOutComplexityCheckTest.java
@@ -40,6 +40,7 @@ public class ClassFanOutComplexityCheckTest extends BaseCheckTestSupport {
String[] expected = {
"6:1: " + getCheckMessage(MSG_KEY, 3, 0),
+ "38:1: " + getCheckMessage(MSG_KEY, 1, 0),
};
verify(checkConfig,
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/metrics/ClassCouplingCheckTestInput.java b/src/test/resources/com/puppycrawl/tools/checkstyle/metrics/ClassCouplingCheckTestInput.java
index b9e9c5db4..27bd97c7a 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/metrics/ClassCouplingCheckTestInput.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/metrics/ClassCouplingCheckTestInput.java
@@ -34,3 +34,10 @@ enum InnerEnum {
private Set map1 = new HashSet();
private Map map2;
}
+
+class InputThrows {
+
+ public void get() throws NamingException, IllegalArgumentException {
+ new java.lang.ref.ReferenceQueue();
+ }
+}