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.classId
|
||||||
import org.jetbrains.kotlin.fir.types.coneType
|
import org.jetbrains.kotlin.fir.types.coneType
|
||||||
import org.jetbrains.kotlin.resolve.calls.results.*
|
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.KotlinTypeMarker
|
||||||
|
import org.jetbrains.kotlin.types.model.requireOrDescribe
|
||||||
|
|
||||||
abstract class AbstractConeCallConflictResolver(
|
abstract class AbstractConeCallConflictResolver(
|
||||||
private val specificityComparator: TypeSpecificityComparator,
|
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.SimpleClassicTypeSystemContext
|
||||||
import org.jetbrains.kotlin.types.checker.TypeCheckingProcedure
|
import org.jetbrains.kotlin.types.checker.TypeCheckingProcedure
|
||||||
import org.jetbrains.kotlin.types.checker.TypeCheckingProcedureCallbacks
|
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.KotlinTypeMarker
|
||||||
import org.jetbrains.kotlin.types.model.TypeParameterMarker
|
import org.jetbrains.kotlin.types.model.TypeParameterMarker
|
||||||
import org.jetbrains.kotlin.types.model.TypeSystemInferenceExtensionContext
|
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.builtIns
|
||||||
import org.jetbrains.kotlin.types.typeUtil.defaultProjections
|
import org.jetbrains.kotlin.types.typeUtil.defaultProjections
|
||||||
import org.jetbrains.kotlin.types.typeUtil.isDefaultBound
|
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.inference.substitute
|
||||||
import org.jetbrains.kotlin.resolve.calls.results.SimpleConstraintSystem
|
import org.jetbrains.kotlin.resolve.calls.results.SimpleConstraintSystem
|
||||||
import org.jetbrains.kotlin.types.TypeConstructorSubstitution
|
import org.jetbrains.kotlin.types.TypeConstructorSubstitution
|
||||||
import org.jetbrains.kotlin.types.checker.requireOrDescribe
|
import org.jetbrains.kotlin.types.model.*
|
||||||
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.typeUtil.asTypeProjection
|
import org.jetbrains.kotlin.types.typeUtil.asTypeProjection
|
||||||
|
|
||||||
class SimpleConstraintSystemImpl(constraintInjector: ConstraintInjector, builtIns: KotlinBuiltIns) : SimpleConstraintSystem {
|
class SimpleConstraintSystemImpl(constraintInjector: ConstraintInjector, builtIns: KotlinBuiltIns) : SimpleConstraintSystem {
|
||||||
@@ -70,4 +66,4 @@ class SimpleConstraintSystemImpl(constraintInjector: ConstraintInjector, builtIn
|
|||||||
|
|
||||||
override val context: TypeSystemInferenceExtensionContext
|
override val context: TypeSystemInferenceExtensionContext
|
||||||
get() = system
|
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.KotlinType
|
||||||
import org.jetbrains.kotlin.types.TypeUtils
|
import org.jetbrains.kotlin.types.TypeUtils
|
||||||
import org.jetbrains.kotlin.types.checker.KotlinTypeRefiner
|
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.KotlinTypeMarker
|
||||||
|
import org.jetbrains.kotlin.types.model.requireOrDescribe
|
||||||
import org.jetbrains.kotlin.util.CancellationChecker
|
import org.jetbrains.kotlin.util.CancellationChecker
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ package org.jetbrains.kotlin.types.model
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.types.AbstractTypeCheckerContext
|
import org.jetbrains.kotlin.types.AbstractTypeCheckerContext
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
|
import kotlin.contracts.ExperimentalContracts
|
||||||
|
import kotlin.contracts.contract
|
||||||
|
|
||||||
interface KotlinTypeMarker
|
interface KotlinTypeMarker
|
||||||
interface TypeArgumentMarker
|
interface TypeArgumentMarker
|
||||||
@@ -363,3 +365,16 @@ inline fun TypeArgumentListMarker.all(
|
|||||||
}
|
}
|
||||||
return true
|
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 {
|
private fun errorSupportedOnlyInTypeInference(): Nothing {
|
||||||
error("supported only in type inference context")
|
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