FIR: Move SamResolver to BodyResolveComponents
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
+2
-1
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user