diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctions.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctions.kt index dbddc9f1da7..81a0dc39d7f 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctions.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctions.kt @@ -121,17 +121,15 @@ class NestedScopeFunctions(config: Config = Config.empty) : Rule(config) { private fun KtCallExpression.isScopeFunction(): Boolean { val descriptors = resolveDescriptors() - val descriptor = descriptors.find { it.matchesScopeFunction() } - return descriptor != null + return !descriptors.any { it.matchesScopeFunction() } } private fun KtCallExpression.resolveDescriptors(): List = getResolvedCall(bindingContext)?.resultingDescriptor ?.let { listOf(it) + it.overriddenDescriptors } - ?: emptyList() + .orEmpty() - private fun CallableDescriptor.matchesScopeFunction(): Boolean { - return functions.find { it.match(this) } != null - } + private fun CallableDescriptor.matchesScopeFunction(): Boolean = + !functions.any { it.match(this) } } } diff --git a/detekt-rules-complexity/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctionsSpec.kt b/detekt-rules-complexity/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctionsSpec.kt index b3f4be087ba..df1817d52b5 100644 --- a/detekt-rules-complexity/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctionsSpec.kt +++ b/detekt-rules-complexity/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctionsSpec.kt @@ -12,7 +12,7 @@ import org.junit.jupiter.api.Test @KotlinCoreEnvironmentTest class NestedScopeFunctionsSpec(private val env: KotlinCoreEnvironment) { - private var defaultConfig = TestConfig( + private val defaultConfig = TestConfig( mapOf( "threshold" to 1, "functions" to listOf("kotlin.run", "kotlin.with")