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 resolutionStageRunner: ResolutionStageRunner
val scopeSession: ScopeSession
val samResolver: FirSamResolver
val <D> AbstractFirBasedSymbol<D>.phasedFir: D where D : FirDeclaration, D : FirSymbolOwner<D>
get() = phasedFir(session, FirResolvePhase.DECLARATIONS)
@@ -60,7 +60,7 @@ class Candidate(
system
}
val samResolver get() = bodyResolveComponents.inferenceComponents.samResolver
val samResolver get() = bodyResolveComponents.samResolver
lateinit var substitutor: ConeSubstitutor
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.fir.resolve.calls
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.toSymbol
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
@@ -58,8 +57,7 @@ class InferenceComponents(
val ctx: TypeSystemInferenceExtensionContextDelegate,
val session: FirSession,
val returnTypeCalculator: ReturnTypeCalculator,
val scopeSession: ScopeSession,
val samResolver: FirSamResolver
val scopeSession: ScopeSession
) {
private val approximator = object : AbstractTypeApproximator(ctx) {
override fun createErrorType(message: String): SimpleTypeMarker {
@@ -72,6 +72,7 @@ open class FirBodyResolveTransformer(
private val topLevelScopes = mutableListOf<FirScope>()
final override val implicitReceiverStack: ImplicitReceiverStackImpl = ImplicitReceiverStackImpl()
final override val inferenceComponents = inferenceComponents(session, returnTypeCalculator, scopeSession)
final override val samResolver: FirSamResolver = FirSamResolverImpl(session, scopeSession)
private var primaryConstructorParametersScope: FirLocalScope? = null
@@ -978,7 +979,7 @@ private fun inferenceComponents(session: FirSession, returnTypeCalculator: Retur
require(this is ErrorTypeConstructor)
return ConeClassErrorType(reason)
}
}, session, returnTypeCalculator, scopeSession, FirSamResolverImpl(session, scopeSession))
}, session, returnTypeCalculator, scopeSession)
class FirDesignatedBodyResolveTransformer(