Move requireOrDescribe to :core:compiler.common
This commit is contained in:
+1
-1
@@ -13,8 +13,8 @@ import org.jetbrains.kotlin.fir.types.arrayElementType
|
||||
import org.jetbrains.kotlin.fir.types.classId
|
||||
import org.jetbrains.kotlin.fir.types.coneType
|
||||
import org.jetbrains.kotlin.resolve.calls.results.*
|
||||
import org.jetbrains.kotlin.types.checker.requireOrDescribe
|
||||
import org.jetbrains.kotlin.types.model.KotlinTypeMarker
|
||||
import org.jetbrains.kotlin.types.model.requireOrDescribe
|
||||
|
||||
abstract class AbstractConeCallConflictResolver(
|
||||
private val specificityComparator: TypeSpecificityComparator,
|
||||
|
||||
+1
-1
@@ -36,10 +36,10 @@ import org.jetbrains.kotlin.types.TypeUtils.DONT_CARE
|
||||
import org.jetbrains.kotlin.types.checker.SimpleClassicTypeSystemContext
|
||||
import org.jetbrains.kotlin.types.checker.TypeCheckingProcedure
|
||||
import org.jetbrains.kotlin.types.checker.TypeCheckingProcedureCallbacks
|
||||
import org.jetbrains.kotlin.types.checker.requireOrDescribe
|
||||
import org.jetbrains.kotlin.types.model.KotlinTypeMarker
|
||||
import org.jetbrains.kotlin.types.model.TypeParameterMarker
|
||||
import org.jetbrains.kotlin.types.model.TypeSystemInferenceExtensionContext
|
||||
import org.jetbrains.kotlin.types.model.requireOrDescribe
|
||||
import org.jetbrains.kotlin.types.typeUtil.builtIns
|
||||
import org.jetbrains.kotlin.types.typeUtil.defaultProjections
|
||||
import org.jetbrains.kotlin.types.typeUtil.isDefaultBound
|
||||
|
||||
+2
-6
@@ -26,11 +26,7 @@ import org.jetbrains.kotlin.resolve.calls.inference.model.TypeVariableFromCallab
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.substitute
|
||||
import org.jetbrains.kotlin.resolve.calls.results.SimpleConstraintSystem
|
||||
import org.jetbrains.kotlin.types.TypeConstructorSubstitution
|
||||
import org.jetbrains.kotlin.types.checker.requireOrDescribe
|
||||
import org.jetbrains.kotlin.types.model.KotlinTypeMarker
|
||||
import org.jetbrains.kotlin.types.model.TypeParameterMarker
|
||||
import org.jetbrains.kotlin.types.model.TypeSubstitutorMarker
|
||||
import org.jetbrains.kotlin.types.model.TypeSystemInferenceExtensionContext
|
||||
import org.jetbrains.kotlin.types.model.*
|
||||
import org.jetbrains.kotlin.types.typeUtil.asTypeProjection
|
||||
|
||||
class SimpleConstraintSystemImpl(constraintInjector: ConstraintInjector, builtIns: KotlinBuiltIns) : SimpleConstraintSystem {
|
||||
@@ -70,4 +66,4 @@ class SimpleConstraintSystemImpl(constraintInjector: ConstraintInjector, builtIn
|
||||
|
||||
override val context: TypeSystemInferenceExtensionContext
|
||||
get() = system
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -31,8 +31,8 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.varargParameterPosition
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.types.TypeUtils
|
||||
import org.jetbrains.kotlin.types.checker.KotlinTypeRefiner
|
||||
import org.jetbrains.kotlin.types.checker.requireOrDescribe
|
||||
import org.jetbrains.kotlin.types.model.KotlinTypeMarker
|
||||
import org.jetbrains.kotlin.types.model.requireOrDescribe
|
||||
import org.jetbrains.kotlin.util.CancellationChecker
|
||||
import java.util.*
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ package org.jetbrains.kotlin.types.model
|
||||
|
||||
import org.jetbrains.kotlin.types.AbstractTypeCheckerContext
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
import kotlin.contracts.ExperimentalContracts
|
||||
import kotlin.contracts.contract
|
||||
|
||||
interface KotlinTypeMarker
|
||||
interface TypeArgumentMarker
|
||||
@@ -363,3 +365,16 @@ inline fun TypeArgumentListMarker.all(
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
fun requireOrDescribe(condition: Boolean, value: Any?) {
|
||||
contract {
|
||||
returns() implies condition
|
||||
}
|
||||
require(condition) {
|
||||
val typeInfo = if (value != null) {
|
||||
", type = '${value::class}'"
|
||||
} else ""
|
||||
"Unexpected: value = '$value'$typeInfo"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -711,16 +711,3 @@ private inline fun Any.errorMessage(): String {
|
||||
private fun errorSupportedOnlyInTypeInference(): Nothing {
|
||||
error("supported only in type inference context")
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
fun requireOrDescribe(condition: Boolean, value: Any?) {
|
||||
contract {
|
||||
returns() implies condition
|
||||
}
|
||||
require(condition) {
|
||||
val typeInfo = if (value != null) {
|
||||
", type = '${value::class}'"
|
||||
} else ""
|
||||
"Unexpected: value = '$value'$typeInfo"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user