From f010dc533c92c222c28c3a8428e8299e965e8f75 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 28 Aug 2020 13:34:32 +0300 Subject: [PATCH] Move `Variance.convertVariance` to :core:compiler.common --- .../org/jetbrains/kotlin/fir/types/ConeTypeContext.kt | 1 - .../org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt | 1 - .../resolve/calls/components/PostponeArgumentsChecks.kt | 2 +- .../jetbrains/kotlin/types/model/TypeSystemContext.kt | 8 ++++++++ .../kotlin/types/checker/ClassicTypeSystemContext.kt | 9 --------- 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt index d8d65e20e5a..54c1a0a7c5e 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt @@ -26,7 +26,6 @@ import org.jetbrains.kotlin.name.FqNameUnsafe import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.types.AbstractTypeCheckerContext import org.jetbrains.kotlin.types.TypeSystemCommonBackendContext -import org.jetbrains.kotlin.types.checker.convertVariance import org.jetbrains.kotlin.types.model.* class ErrorTypeConstructor(val reason: String) : TypeConstructorMarker { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt index 89b7ef2eb31..380d772401a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt @@ -26,7 +26,6 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.types.TypeSystemCommonBackendContext import org.jetbrains.kotlin.types.Variance -import org.jetbrains.kotlin.types.checker.convertVariance import org.jetbrains.kotlin.types.model.* import org.jetbrains.kotlin.ir.types.isPrimitiveType as irTypePredicates_isPrimitiveType diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponeArgumentsChecks.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponeArgumentsChecks.kt index 5303597591c..14454833350 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponeArgumentsChecks.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponeArgumentsChecks.kt @@ -26,8 +26,8 @@ import org.jetbrains.kotlin.types.AbstractTypeChecker import org.jetbrains.kotlin.types.ErrorUtils import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.UnwrappedType -import org.jetbrains.kotlin.types.checker.convertVariance import org.jetbrains.kotlin.types.model.TypeVariance +import org.jetbrains.kotlin.types.model.convertVariance import org.jetbrains.kotlin.types.typeUtil.builtIns import org.jetbrains.kotlin.utils.addToStdlib.safeAs diff --git a/core/compiler.common/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt b/core/compiler.common/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt index c8aa999f3b4..86a28ef9aee 100644 --- a/core/compiler.common/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt +++ b/core/compiler.common/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.types.model import org.jetbrains.kotlin.types.AbstractTypeCheckerContext +import org.jetbrains.kotlin.types.Variance interface KotlinTypeMarker interface TypeArgumentMarker @@ -41,6 +42,13 @@ enum class TypeVariance(val presentation: String) { override fun toString(): String = presentation } +fun Variance.convertVariance(): TypeVariance { + return when (this) { + Variance.INVARIANT -> TypeVariance.INV + Variance.IN_VARIANCE -> TypeVariance.IN + Variance.OUT_VARIANCE -> TypeVariance.OUT + } +} interface TypeSystemOptimizationContext { /** diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt b/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt index 495c6148f3a..99e77376edf 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt @@ -712,15 +712,6 @@ private fun errorSupportedOnlyInTypeInference(): Nothing { error("supported only in type inference context") } -fun Variance.convertVariance(): TypeVariance { - return when (this) { - Variance.INVARIANT -> TypeVariance.INV - Variance.IN_VARIANCE -> TypeVariance.IN - Variance.OUT_VARIANCE -> TypeVariance.OUT - } -} - - @OptIn(ExperimentalContracts::class) fun requireOrDescribe(condition: Boolean, value: Any?) { contract {