diff --git a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheck.java b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheck.java index 63163660a..e73eaaf09 100644 --- a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheck.java +++ b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheck.java @@ -51,6 +51,7 @@ public class CyclomaticComplexityCheck return new int[] { TokenTypes.CTOR_DEF, TokenTypes.METHOD_DEF, + TokenTypes.INSTANCE_INIT, TokenTypes.STATIC_INIT, TokenTypes.LITERAL_WHILE, TokenTypes.LITERAL_DO, diff --git a/src/testinputs/com/puppycrawl/tools/checkstyle/ComplexityCheckTestInput.java b/src/testinputs/com/puppycrawl/tools/checkstyle/ComplexityCheckTestInput.java index 685d0053c..70f8fe97f 100644 --- a/src/testinputs/com/puppycrawl/tools/checkstyle/ComplexityCheckTestInput.java +++ b/src/testinputs/com/puppycrawl/tools/checkstyle/ComplexityCheckTestInput.java @@ -1,4 +1,4 @@ -package au.com.redhillconsulting.jamaica.tools.checkstyle; +package com.puppycrawl.tools.checkstyle; public class ComplexityCheckTestInput { public void foo() { @@ -44,4 +44,31 @@ public class ComplexityCheckTestInput { } } } + + public ComplexityCheckTestInput() + { + int i = 1; + if (System.currentTimeMillis() == 0) { + } else if (System.currentTimeMillis() == 0) { + } else { + } + } + + // STATIC_INIT + static { + int i = 1; + if (System.currentTimeMillis() == 0) { + } else if (System.currentTimeMillis() == 0) { + } else { + } + } + + // INSTANCE_INIT + { + int i = 1; + if (System.currentTimeMillis() == 0) { + } else if (System.currentTimeMillis() == 0) { + } else { + } + } } diff --git a/src/tests/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheckTest.java b/src/tests/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheckTest.java index 2461c0259..6ab6d1565 100644 --- a/src/tests/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheckTest.java +++ b/src/tests/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheckTest.java @@ -19,7 +19,10 @@ public class CyclomaticComplexityCheckTest "17:5: Cyclomatic Complexity is 6 (max allowed is 0).", "27:5: Cyclomatic Complexity is 4 (max allowed is 0).", "34:5: Cyclomatic Complexity is 6 (max allowed is 0).", - }; + "48:5: Cyclomatic Complexity is 4 (max allowed is 0).", + "58:5: Cyclomatic Complexity is 4 (max allowed is 0).", + "67:5: Cyclomatic Complexity is 4 (max allowed is 0).", + }; verify(checkConfig, getPath("ComplexityCheckTestInput.java"), expected); }