Move Variance.convertVariance to :core:compiler.common

This commit is contained in:
Dmitriy Novozhilov
2020-08-28 13:34:32 +03:00
parent e164c88a14
commit f010dc533c
5 changed files with 9 additions and 12 deletions
@@ -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 {
@@ -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
@@ -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
@@ -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 {
/**
@@ -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 {