FIR: Move SamResolver to BodyResolveComponents

This commit is contained in:
Denis Zharkov
2019-09-12 12:57:12 +03:00
parent 5ebde93eb9
commit 08a8a9fa61
4 changed files with 5 additions and 5 deletions
@@ -31,6 +31,7 @@ interface BodyResolveComponents : SessionHolder {
val inferenceComponents: InferenceComponents val inferenceComponents: InferenceComponents
val resolutionStageRunner: ResolutionStageRunner val resolutionStageRunner: ResolutionStageRunner
val scopeSession: ScopeSession val scopeSession: ScopeSession
val samResolver: FirSamResolver
val <D> AbstractFirBasedSymbol<D>.phasedFir: D where D : FirDeclaration, D : FirSymbolOwner<D> val <D> AbstractFirBasedSymbol<D>.phasedFir: D where D : FirDeclaration, D : FirSymbolOwner<D>
get() = phasedFir(session, FirResolvePhase.DECLARATIONS) get() = phasedFir(session, FirResolvePhase.DECLARATIONS)
@@ -60,7 +60,7 @@ class Candidate(
system system
} }
val samResolver get() = bodyResolveComponents.inferenceComponents.samResolver val samResolver get() = bodyResolveComponents.samResolver
lateinit var substitutor: ConeSubstitutor lateinit var substitutor: ConeSubstitutor
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.fir.resolve.calls package org.jetbrains.kotlin.fir.resolve.calls
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.resolve.FirSamResolver
import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.toSymbol import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
@@ -58,8 +57,7 @@ class InferenceComponents(
val ctx: TypeSystemInferenceExtensionContextDelegate, val ctx: TypeSystemInferenceExtensionContextDelegate,
val session: FirSession, val session: FirSession,
val returnTypeCalculator: ReturnTypeCalculator, val returnTypeCalculator: ReturnTypeCalculator,
val scopeSession: ScopeSession, val scopeSession: ScopeSession
val samResolver: FirSamResolver
) { ) {
private val approximator = object : AbstractTypeApproximator(ctx) { private val approximator = object : AbstractTypeApproximator(ctx) {
override fun createErrorType(message: String): SimpleTypeMarker { override fun createErrorType(message: String): SimpleTypeMarker {
@@ -72,6 +72,7 @@ open class FirBodyResolveTransformer(
private val topLevelScopes = mutableListOf<FirScope>() private val topLevelScopes = mutableListOf<FirScope>()
final override val implicitReceiverStack: ImplicitReceiverStackImpl = ImplicitReceiverStackImpl() final override val implicitReceiverStack: ImplicitReceiverStackImpl = ImplicitReceiverStackImpl()
final override val inferenceComponents = inferenceComponents(session, returnTypeCalculator, scopeSession) final override val inferenceComponents = inferenceComponents(session, returnTypeCalculator, scopeSession)
final override val samResolver: FirSamResolver = FirSamResolverImpl(session, scopeSession)
private var primaryConstructorParametersScope: FirLocalScope? = null private var primaryConstructorParametersScope: FirLocalScope? = null
@@ -978,7 +979,7 @@ private fun inferenceComponents(session: FirSession, returnTypeCalculator: Retur
require(this is ErrorTypeConstructor) require(this is ErrorTypeConstructor)
return ConeClassErrorType(reason) return ConeClassErrorType(reason)
} }
}, session, returnTypeCalculator, scopeSession, FirSamResolverImpl(session, scopeSession)) }, session, returnTypeCalculator, scopeSession)
class FirDesignatedBodyResolveTransformer( class FirDesignatedBodyResolveTransformer(