FIR: don't get class symbol if it's unnecessary (Java type conversion)

This commit is contained in:
Mikhail Glukhikh
2021-06-02 17:07:14 +03:00
parent 3c7b07b90f
commit 1294c8de53
2 changed files with 5 additions and 4 deletions
@@ -420,8 +420,6 @@ private fun JavaClassifierType.toConeKotlinTypeForFlexibleBound(
)
}
val classSymbol = session.symbolProvider.getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol
val mappedTypeArguments = if (isRaw) {
val defaultArgs = (1..classifier.typeParameters.size).map { ConeStarProjection }
@@ -432,10 +430,14 @@ private fun JavaClassifierType.toConeKotlinTypeForFlexibleBound(
} else {
val position = if (isLowerBound) TypeComponentPosition.FLEXIBLE_LOWER else TypeComponentPosition.FLEXIBLE_UPPER
val classSymbol = session.symbolProvider.getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol
classSymbol?.fir?.createRawArguments(session, defaultArgs, position) ?: defaultArgs
}
} else {
val typeParameters = runIf(!forTypeParameterBounds && !isForSupertypes) { classSymbol?.fir?.typeParameters } ?: emptyList()
val typeParameters = runIf(!forTypeParameterBounds && !isForSupertypes) {
val classSymbol = session.symbolProvider.getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol
classSymbol?.fir?.typeParameters
} ?: emptyList()
typeArguments.indices.map { index ->
val argument = typeArguments[index]