Fix exception when reporting WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE

^KT-51979 Fixed
This commit is contained in:
Denis.Zharkov
2022-04-15 12:23:05 +03:00
committed by teamcity
parent c599a620eb
commit 9c7fea24d1
7 changed files with 57 additions and 0 deletions
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.load.java.descriptors.JavaMethodDescriptor
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.resolve.OverridingUtil
@@ -30,6 +31,10 @@ object JavaOverrideWithWrongNullabilityOverrideChecker : DeclarationChecker {
if (descriptor !is CallableMemberDescriptor) return
if (descriptor.overriddenDescriptors.isEmpty()) return
val modifierList = declaration.modifierList
val hasOverrideNode = modifierList != null && modifierList.hasModifier(KtTokens.OVERRIDE_KEYWORD)
if (!hasOverrideNode) return
val containingClass = descriptor.containingDeclaration as? ClassDescriptor ?: return
for (overriddenDescriptor in descriptor.overriddenDescriptors) {