KT-46049 Java-Kotlin sealed inheritors inspection: refactoring

This commit is contained in:
Andrei Klunnyi
2021-04-13 12:32:10 +02:00
parent 2fce968de0
commit 73d2e1a42d
@@ -27,17 +27,14 @@ class KotlinSealedInheritorsInJavaInspection : LocalInspectionTool() {
return sealedBaseClasses.orEmpty() + sealedBaseInterfaces.orEmpty() return sealedBaseClasses.orEmpty() + sealedBaseInterfaces.orEmpty()
} }
private fun PsiReferenceList.listSealedMembers(): List<PsiReference>? = referencedTypes private fun PsiReferenceList.listSealedMembers(): List<PsiReference> = referencedTypes
?.filter { it.isKotlinSealed() } .filter { it.isKotlinSealed() }
?.mapNotNull { it as? PsiClassReferenceType } .mapNotNull { it as? PsiClassReferenceType }
?.map { it.reference } .map { it.reference }
private fun PsiClassType.isKotlinSealed(): Boolean = resolve()?.isKotlinSealed() == true private fun PsiClassType.isKotlinSealed(): Boolean = resolve()?.isKotlinSealed() == true
private fun PsiClass.isKotlinSealed(): Boolean = this is KtUltraLightClass && getDescriptor()?.isSealed() == true private fun PsiClass.isKotlinSealed(): Boolean = this is KtUltraLightClass && getDescriptor()?.isSealed() == true
private val PsiClass.abstractionTypeName: String
get() = if (isInterface) "interface" else "class"
} }
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {