diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt index 9bebfd9667d..0bfd5fea778 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt @@ -41,7 +41,6 @@ import org.jetbrains.kotlin.ir.symbols.* import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.psi2ir.generators.hasNoSideEffects -import org.jetbrains.kotlin.types.AbstractTypeApproximator import org.jetbrains.kotlin.types.AbstractTypeChecker class CallAndReferenceGenerator( @@ -50,7 +49,7 @@ class CallAndReferenceGenerator( private val conversionScope: Fir2IrConversionScope ) : Fir2IrComponents by components { - private val approximator = object : AbstractTypeApproximator(session.typeContext) {} + private val approximator = ConeTypeApproximator(session.typeContext) private val adapterGenerator = AdapterGenerator(components, conversionScope) private val samResolver = FirSamResolverImpl(session, scopeSession) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt index 4b083f9634b..4c87b561a9e 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt @@ -243,5 +243,5 @@ class FirCallCompleter( private fun ConeKotlinType.approximateLambdaInputType(): ConeKotlinType = session.inferenceComponents.approximator.approximateToSuperType( this, TypeApproximatorConfiguration.FinalApproximationAfterResolutionAndInference - ) as ConeKotlinType? ?: this + ) ?: this } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/InferenceComponents.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/InferenceComponents.kt index c29ed2205d1..9fcfcdc4a97 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/InferenceComponents.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/InferenceComponents.kt @@ -7,9 +7,9 @@ package org.jetbrains.kotlin.fir.resolve.inference import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.types.ConeInferenceContext +import org.jetbrains.kotlin.fir.types.ConeTypeApproximator import org.jetbrains.kotlin.resolve.calls.inference.components.* import org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl -import org.jetbrains.kotlin.types.AbstractTypeApproximator @NoMutableState class InferenceComponents(val session: FirSession) : FirSessionComponent { @@ -18,7 +18,7 @@ class InferenceComponents(val session: FirSession) : FirSessionComponent { get() = this@InferenceComponents.session } - val approximator: AbstractTypeApproximator = object : AbstractTypeApproximator(ctx) {} + val approximator: ConeTypeApproximator = ConeTypeApproximator(ctx) val trivialConstraintTypeInferenceOracle = TrivialConstraintTypeInferenceOracle.create(ctx) private val incorporator = ConstraintIncorporator(approximator, trivialConstraintTypeInferenceOracle, ConeConstraintSystemUtilContext) private val injector = ConstraintInjector( diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/substitution/Substitutors.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/substitution/Substitutors.kt index 2305d17099f..9823ddf9584 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/substitution/Substitutors.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/substitution/Substitutors.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl import org.jetbrains.kotlin.types.TypeApproximatorConfiguration -import org.jetbrains.kotlin.types.model.KotlinTypeMarker import org.jetbrains.kotlin.types.model.TypeConstructorMarker import org.jetbrains.kotlin.types.model.TypeSubstitutorMarker import org.jetbrains.kotlin.types.model.typeConstructor @@ -161,7 +160,7 @@ data class ConeSubstitutorByMap(val substitution: Map