K2: fix CCE during bound conversion for Java raw Kotlin-based type

#KT-56630 Fixed
This commit is contained in:
Mikhail Glukhikh
2023-02-14 15:21:17 +01:00
committed by Space Team
parent d1e0a432a5
commit 58959951d3
8 changed files with 93 additions and 17 deletions
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic
import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind
import org.jetbrains.kotlin.fir.java.enhancement.readOnlyToMutable
import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
@@ -194,7 +193,7 @@ private fun JavaClassifierType.toConeKotlinTypeForFlexibleBound(
// Given `C<T : X>`, `C` -> `C<X>..C<*>?`.
when (mode) {
FirJavaTypeConversionMode.ANNOTATION_MEMBER -> Array(classifier.typeParameters.size) { ConeStarProjection }
else -> typeParameterSymbols?.eraseToUpperBounds(session)
else -> typeParameterSymbols?.getProjectionsForRawType(session)
?: Array(classifier.typeParameters.size) { ConeStarProjection }
}
}