diff --git a/diktat-rules/src/main/kotlin/com/saveourtool/diktat/ruleset/rules/chapter2/kdoc/KdocMethods.kt b/diktat-rules/src/main/kotlin/com/saveourtool/diktat/ruleset/rules/chapter2/kdoc/KdocMethods.kt index ef29164f76..3e8d96494e 100644 --- a/diktat-rules/src/main/kotlin/com/saveourtool/diktat/ruleset/rules/chapter2/kdoc/KdocMethods.kt +++ b/diktat-rules/src/main/kotlin/com/saveourtool/diktat/ruleset/rules/chapter2/kdoc/KdocMethods.kt @@ -109,7 +109,11 @@ class KdocMethods(configRules: List) : DiktatRule( return false } - @Suppress("UnsafeCallOnNullableType", "AVOID_NULL_CHECKS") + @Suppress( + "UnsafeCallOnNullableType", + "AVOID_NULL_CHECKS", + "CyclomaticComplexMethod" + ) private fun checkSignatureDescription(node: ASTNode) { val kdoc = node.getFirstChildWithType(KDOC) val kdocTags = kdoc?.kDocTags() @@ -130,12 +134,12 @@ class KdocMethods(configRules: List) : DiktatRule( val anyTagFailed = paramCheckFailed || returnCheckFailed || throwsCheckFailed // if no tag failed, we have too little information to suggest KDoc - it would just be empty - if (kdoc == null && anyTagFailed) { + if (kdoc == null && hasFunParent(node)) { + return + } else if (kdoc == null && anyTagFailed) { addKdocTemplate(node, name, missingParameters, explicitlyThrownExceptions, returnCheckFailed) } else if (kdoc == null && !isReferenceExpressionWithSameName(node)) { MISSING_KDOC_ON_FUNCTION.warn(configRules, emitWarn, name, node.startOffset, node) - } else if (kdoc != null && hasFunParent(kdoc)) { - return } else { if (paramCheckFailed) { handleParamCheck(node, kdoc, missingParameters, kDocMissingParameters, kdocTags) diff --git a/diktat-rules/src/test/kotlin/com/saveourtool/diktat/ruleset/chapter2/KdocMethodsTest.kt b/diktat-rules/src/test/kotlin/com/saveourtool/diktat/ruleset/chapter2/KdocMethodsTest.kt index 9824c6bd86..53d9c0b5cd 100644 --- a/diktat-rules/src/test/kotlin/com/saveourtool/diktat/ruleset/chapter2/KdocMethodsTest.kt +++ b/diktat-rules/src/test/kotlin/com/saveourtool/diktat/ruleset/chapter2/KdocMethodsTest.kt @@ -445,6 +445,8 @@ class KdocMethodsTest : LintTestBase(::KdocMethods) { | } |} """.trimMargin(), + DiktatError(1, 1, ruleId, "${MISSING_KDOC_ON_FUNCTION.warnText()} printHelloAndBye", false), ) } + }