From ac85f9d983a5700f431852cd8b87aeef62ce36d3 Mon Sep 17 00:00:00 2001 From: Andrei Klunnyi Date: Wed, 14 Apr 2021 15:53:25 +0200 Subject: [PATCH] KT-45348 Sealed Inheritors Inspection: binary Kotlin parent is ignored ^KT-45348 Fixed --- .../inspections/KotlinSealedInheritorsInJavaInspection.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinSealedInheritorsInJavaInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinSealedInheritorsInJavaInspection.kt index 6ac9f608757..d8d4416d6d5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinSealedInheritorsInJavaInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/KotlinSealedInheritorsInJavaInspection.kt @@ -10,9 +10,10 @@ import com.intellij.codeInspection.ProblemHighlightType import com.intellij.codeInspection.ProblemsHolder import com.intellij.psi.* import com.intellij.psi.impl.source.PsiClassReferenceType -import org.jetbrains.kotlin.asJava.classes.KtUltraLightClass +import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.descriptors.isSealed import org.jetbrains.kotlin.idea.KotlinBundle +import org.jetbrains.kotlin.idea.refactoring.memberInfo.getClassDescriptorIfAny class KotlinSealedInheritorsInJavaInspection : LocalInspectionTool() { @@ -34,7 +35,9 @@ class KotlinSealedInheritorsInJavaInspection : LocalInspectionTool() { private fun PsiClassType.isKotlinSealed(): Boolean = resolve()?.isKotlinSealed() == true - private fun PsiClass.isKotlinSealed(): Boolean = this is KtUltraLightClass && getDescriptor()?.isSealed() == true + private fun PsiClass.isKotlinSealed(): Boolean { + return this is KtLightClass && (getClassDescriptorIfAny()?.isSealed() ?: false) + } } override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {