FIR LC: use optimal type mapping mode for return type

This commit is contained in:
Jinseong Jeon
2021-11-04 00:17:01 -07:00
committed by Ilya Kirillov
parent d3c34fa200
commit 0da9ef873a
8 changed files with 43 additions and 8 deletions
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.codegen.signature.BothSignatureWriter
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
import org.jetbrains.kotlin.load.kotlin.getOptimalModeForReturnType
import org.jetbrains.kotlin.load.kotlin.getOptimalModeForValueParameter
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.types.*
@@ -41,6 +42,11 @@ internal class KtFe10PsiTypeProvider(override val analysisSession: KtFe10Analysi
return asPsiType(simplifyType(kotlinType), useSitePosition, mode)
}
override fun getOptimalModeForReturnType(type: KtType, isAnnotationMethod: Boolean): TypeMappingMode = withValidityAssertion {
require(type is KtFe10Type)
typeMapper.typeContext.getOptimalModeForReturnType(type.type, isAnnotationMethod)
}
override fun getOptimalModeForValueParameter(type: KtType): TypeMappingMode = withValidityAssertion {
require(type is KtFe10Type)
typeMapper.typeContext.getOptimalModeForValueParameter(type.type)