AA FIR: use fully expanded type when computing optimal type mapping mode

^KT-61460 Fixed
This commit is contained in:
Jinseong Jeon
2023-08-25 11:47:04 -07:00
committed by teamcity
parent 1868b29cc9
commit 4cdc22c9cc
3 changed files with 24 additions and 4 deletions
@@ -82,10 +82,14 @@ internal class KtFirPsiTypeProvider(
KtTypeMappingMode.SUPER_TYPE -> TypeMappingMode.SUPER_TYPE
KtTypeMappingMode.SUPER_TYPE_KOTLIN_COLLECTIONS_AS_IS -> TypeMappingMode.SUPER_TYPE_KOTLIN_COLLECTIONS_AS_IS
KtTypeMappingMode.RETURN_TYPE_BOXED -> TypeMappingMode.RETURN_TYPE_BOXED
KtTypeMappingMode.RETURN_TYPE ->
rootModuleSession.jvmTypeMapper.typeContext.getOptimalModeForReturnType(type.coneType, isAnnotationMethod)
KtTypeMappingMode.VALUE_PARAMETER ->
rootModuleSession.jvmTypeMapper.typeContext.getOptimalModeForValueParameter(type.coneType)
KtTypeMappingMode.RETURN_TYPE -> {
val expandedType = type.coneType.fullyExpandedType(rootModuleSession)
rootModuleSession.jvmTypeMapper.typeContext.getOptimalModeForReturnType(expandedType, isAnnotationMethod)
}
KtTypeMappingMode.VALUE_PARAMETER -> {
val expandedType = type.coneType.fullyExpandedType(rootModuleSession)
rootModuleSession.jvmTypeMapper.typeContext.getOptimalModeForValueParameter(expandedType)
}
}
}
}