From 2783aa13f5fac1ac3f18da77224dd32b72a7f9ba Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 23 Jan 2023 17:33:21 +0200 Subject: [PATCH] [Backend] Restore isMostPreciseContravariantArgument method for binary compatibility ^KT-56033 Fixed --- .../org/jetbrains/kotlin/codegen/state/typeMappingUtil.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/typeMappingUtil.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/typeMappingUtil.kt index fe37cc3befd..d81bfe65b04 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/typeMappingUtil.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/typeMappingUtil.kt @@ -37,10 +37,16 @@ import org.jetbrains.kotlin.types.checker.SimpleClassicTypeSystemContext import org.jetbrains.kotlin.types.checker.convertVariance import org.jetbrains.kotlin.types.getEffectiveVariance import org.jetbrains.kotlin.types.model.KotlinTypeMarker +import org.jetbrains.kotlin.types.model.TypeParameterMarker fun TypeSystemCommonBackendContext.isMostPreciseContravariantArgument(type: KotlinTypeMarker): Boolean = type.typeConstructor().isAnyConstructor() +@Suppress("UNUSED_PARAMETER") +@Deprecated("This method is needed for binary compatibility. See KT-56033", level = DeprecationLevel.HIDDEN) +fun TypeSystemCommonBackendContext.isMostPreciseContravariantArgument(type: KotlinTypeMarker, parameter: TypeParameterMarker): Boolean = + isMostPreciseCovariantArgument(type) + fun TypeSystemCommonBackendContext.isMostPreciseCovariantArgument(type: KotlinTypeMarker): Boolean = !canHaveSubtypesIgnoringNullability(type)