From 28f4d62ccf756ea1e5d3d61270a1d7c649c8c44f Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 11 Dec 2019 15:00:20 +0300 Subject: [PATCH] FIR: Add different extension for FirSession.inferenceContext --- .../src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt | 3 +-- .../resolve/src/org/jetbrains/kotlin/fir/SessionUtils.kt | 6 ++++-- .../src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt | 4 ++-- .../resolve/transformers/body/resolve/BodyResolveUtils.kt | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index f5a5064fa30..01ee99dccf1 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -27,7 +27,6 @@ import org.jetbrains.kotlin.fir.resolve.transformers.IntegerLiteralTypeApproxima import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.impl.FirClassSubstitutionScope import org.jetbrains.kotlin.fir.scopes.impl.FirIntegerOperator -import org.jetbrains.kotlin.fir.scopes.impl.FirIntegerOperatorCall import org.jetbrains.kotlin.fir.symbols.AccessorSymbol import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.* @@ -72,7 +71,7 @@ class Fir2IrVisitor( private val UNARY_OPERATIONS: Set = EnumSet.of(FirOperation.EXCL) } - private val integerApproximator = IntegerLiteralTypeApproximationTransformer(session.firSymbolProvider, session.typeContext) + private val integerApproximator = IntegerLiteralTypeApproximationTransformer(session.firSymbolProvider, session.inferenceContext) private val typeContext = session.typeContext diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/SessionUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/SessionUtils.kt index b757bf7bbea..51124cbe1e4 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/SessionUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/SessionUtils.kt @@ -9,8 +9,9 @@ import org.jetbrains.kotlin.fir.resolve.calls.ConeInferenceContext import org.jetbrains.kotlin.fir.types.ConeTypeCheckerContext import org.jetbrains.kotlin.fir.types.ConeTypeContext import org.jetbrains.kotlin.types.AbstractTypeCheckerContext +import org.jetbrains.kotlin.types.model.TypeSystemContext -private class SessionBasedTypeContext(override val session: FirSession) : ConeInferenceContext { +private class SessionBasedInferenceContext(override val session: FirSession) : ConeInferenceContext { override fun newBaseTypeCheckerContext( errorTypesEqualToAnything: Boolean, stubTypesEqualToAnything: Boolean @@ -19,4 +20,5 @@ private class SessionBasedTypeContext(override val session: FirSession) : ConeIn } } -val FirSession.typeContext: ConeInferenceContext get() = SessionBasedTypeContext(this) \ No newline at end of file +val FirSession.inferenceContext: ConeInferenceContext get() = SessionBasedInferenceContext(this) +val FirSession.typeContext: ConeTypeContext get() = inferenceContext diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt index 32d40ffdf66..24491e9e0fa 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.impl.* import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.typeContext +import org.jetbrains.kotlin.fir.inferenceContext import org.jetbrains.kotlin.fir.types.* abstract class SupertypeSupplier { @@ -87,7 +87,7 @@ private fun createSubstitution( } else /* StarProjection */ -> { ConeTypeIntersector.intersectTypes( - session.typeContext, + session.inferenceContext, typeParameterSymbol.fir.bounds.map { it.coneTypeUnsafe() } ) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveUtils.kt index b3b462b241a..e5a35053770 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveUtils.kt @@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.calls.InferenceComponents import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol -import org.jetbrains.kotlin.fir.typeContext +import org.jetbrains.kotlin.fir.inferenceContext import org.jetbrains.kotlin.fir.types.FirTypeRef inline fun FirBasedSymbol<*>.firUnsafe(): T { @@ -35,6 +35,6 @@ internal fun inferenceComponents( returnTypeCalculator: ReturnTypeCalculator, scopeSession: ScopeSession ): InferenceComponents { - val inferenceContext = session.typeContext + val inferenceContext = session.inferenceContext return InferenceComponents(inferenceContext, session, returnTypeCalculator, scopeSession) }