[ObjCExport] Use K1 convention and do not mark KtErrorType as nullable

^KT-65167
This commit is contained in:
Sebastian Sellmair
2024-01-24 15:51:30 +01:00
committed by Space Team
parent 2bf7bbb6c1
commit 9f0aa7d30c
@@ -5,6 +5,7 @@ import org.jetbrains.kotlin.analysis.api.KtStarTypeProjection
import org.jetbrains.kotlin.analysis.api.KtTypeArgumentWithVariance
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol
import org.jetbrains.kotlin.analysis.api.types.KtErrorType
import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.types.KtTypeParameterType
@@ -47,6 +48,9 @@ internal fun KtType.translateToObjCType(typeBridge: TypeBridge): ObjCType {
context(KtAnalysisSession)
private fun KtType.isBinaryRepresentationNullable(): Boolean {
/* Convention to match K1 implementation */
if (this is KtErrorType) return false
if (fullyExpandedType.canBeNull) return true
getInlineTargetTypeOrNull()?.let { inlineTargetType ->