[kotlin] Remove unneeded extension and use existing KtTypeElement.unwrapNullability()

KTIJ-33942

GitOrigin-RevId: 0d62349aa47a0b0224d813428485e837a7eaca7d
This commit is contained in:
Victoria.Petrakovich
2025-07-16 12:45:41 +00:00
committed by intellij-monorepo-bot
parent 46c7f52a15
commit c2b72108a3
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.FqNameUnsafe
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.unwrapNullability
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
import org.jetbrains.kotlin.utils.exceptions.withPsiEntry
@@ -195,10 +196,9 @@ internal class JavaCollectionWithNullableTypeArgumentInspection :
}
private fun KtTypeProjection.removeQuestionMark() {
val initialNullableType = this.typeReference?.typeElement as? KtNullableType ?: return
val deepestNullableType = getDeepestNullableType(initialNullableType)
val innerType = deepestNullableType.innerType ?: return
innerType.let { initialNullableType.replace(innerType) }
val typeElement = this.typeReference?.typeElement
val unwrappedTypeElement = typeElement?.unwrapNullability() ?: return
typeElement.replace(unwrappedTypeElement)
}
private fun KtTypeProjection.makeDefinitelyNonNullable() {
@@ -300,11 +300,7 @@ private fun KtElement.getTypeArguments(): List<KtTypeProjection>? {
return when (this) {
is KtTypeReference -> {
val typeElement = this.typeElement
val userType = if (typeElement is KtNullableType) {
getDeepestNullableType(typeElement).innerType
} else {
typeElement
} as? KtUserType
val userType = typeElement?.unwrapNullability() as? KtUserType
userType?.typeArguments.orEmpty()
}
@@ -315,7 +311,3 @@ private fun KtElement.getTypeArguments(): List<KtTypeProjection>? {
else -> null
}
}
private fun getDeepestNullableType(initialNullableType: KtNullableType): KtNullableType {
return generateSequence(initialNullableType) { it.innerType as? KtNullableType }.last()
}