Extend CanBeNonNullable rule to check function params (#4431)

This commit is contained in:
severn-everett
2022-01-12 10:54:37 +01:00
committed by GitHub
parent 56e7fa94a4
commit 27205a13f8
6 changed files with 741 additions and 26 deletions

View File

@@ -65,15 +65,14 @@ class ArrayPrimitive(config: Config = Config.empty) : Rule(config) {
override fun visitNamedDeclaration(declaration: KtNamedDeclaration) {
super.visitNamedDeclaration(declaration)
if (declaration is KtCallableDeclaration) {
reportArrayPrimitives(declaration.typeReference)
reportArrayPrimitives(declaration.receiverTypeReference)
declaration.typeReference?.let(this::reportArrayPrimitives)
declaration.receiverTypeReference?.let(this::reportArrayPrimitives)
}
}
private fun reportArrayPrimitives(typeReference: KtTypeReference?) {
typeReference
?.collectDescendantsOfType<KtTypeReference> { isArrayPrimitive(it) }
?.forEach { report(CodeSmell(issue, Entity.from(it), issue.description)) }
private fun reportArrayPrimitives(typeReference: KtTypeReference) {
typeReference.collectDescendantsOfType<KtTypeReference> { isArrayPrimitive(it) }
.forEach { report(CodeSmell(issue, Entity.from(it), issue.description)) }
}
private fun isArrayPrimitive(descriptor: CallableDescriptor): Boolean {