FIR: Inline constructor parameter at FirTowerResolverSession
This commit is contained in:
@@ -125,7 +125,6 @@ class FirCallResolver(
|
||||
)
|
||||
towerResolver.reset()
|
||||
val result = towerResolver.runResolver(
|
||||
implicitReceiverStack.receiversAsReversed(),
|
||||
info,
|
||||
)
|
||||
val bestCandidates = result.bestCandidates()
|
||||
@@ -229,7 +228,6 @@ class FirCallResolver(
|
||||
// No reset here!
|
||||
val localCollector = CandidateCollector(this, resolutionStageRunner)
|
||||
val result = towerResolver.runResolver(
|
||||
implicitReceiverStack.receiversAsReversed(),
|
||||
info,
|
||||
collector = localCollector,
|
||||
manager = TowerResolveManager(localCollector),
|
||||
@@ -285,7 +283,6 @@ class FirCallResolver(
|
||||
)
|
||||
towerResolver.reset()
|
||||
val result = towerResolver.runResolverForDelegatingConstructor(
|
||||
implicitReceiverStack.receiversAsReversed(),
|
||||
callInfo,
|
||||
constructorClassSymbol,
|
||||
)
|
||||
|
||||
+2
-4
@@ -17,14 +17,13 @@ class FirTowerResolver(
|
||||
private val manager = TowerResolveManager(collector)
|
||||
|
||||
fun runResolver(
|
||||
implicitReceiverValues: List<ImplicitReceiverValue<*>>,
|
||||
info: CallInfo,
|
||||
collector: CandidateCollector = this.collector,
|
||||
manager: TowerResolveManager = this.manager
|
||||
): CandidateCollector {
|
||||
val candidateFactoriesAndCollectors = buildCandidateFactoriesAndCollectors(info, collector)
|
||||
|
||||
val towerResolverSession = FirTowerResolverSession(components, implicitReceiverValues, manager, candidateFactoriesAndCollectors)
|
||||
val towerResolverSession = FirTowerResolverSession(components, manager, candidateFactoriesAndCollectors)
|
||||
towerResolverSession.runResolution(info)
|
||||
|
||||
manager.runTasks()
|
||||
@@ -32,13 +31,12 @@ class FirTowerResolver(
|
||||
}
|
||||
|
||||
fun runResolverForDelegatingConstructor(
|
||||
implicitReceiverValues: List<ImplicitReceiverValue<*>>,
|
||||
info: CallInfo,
|
||||
constructorClassSymbol: FirClassSymbol<*>,
|
||||
): CandidateCollector {
|
||||
val candidateFactoriesAndCollectors = buildCandidateFactoriesAndCollectors(info, collector)
|
||||
|
||||
val towerResolverSession = FirTowerResolverSession(components, implicitReceiverValues, manager, candidateFactoriesAndCollectors)
|
||||
val towerResolverSession = FirTowerResolverSession(components, manager, candidateFactoriesAndCollectors)
|
||||
towerResolverSession.runResolutionForDelegatingConstructor(info, constructorClassSymbol)
|
||||
|
||||
manager.runTasks()
|
||||
|
||||
+2
-3
@@ -37,8 +37,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.HIDES_MEMBERS_NAME_LIST
|
||||
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||
|
||||
class FirTowerResolverSession internal constructor(
|
||||
val components: BodyResolveComponents,
|
||||
implicitReceiverValues: List<ImplicitReceiverValue<*>>,
|
||||
private val components: BodyResolveComponents,
|
||||
private val manager: TowerResolveManager,
|
||||
private val candidateFactoriesAndCollectors: CandidateFactoriesAndCollectors,
|
||||
) {
|
||||
@@ -54,7 +53,7 @@ class FirTowerResolverSession internal constructor(
|
||||
private val implicitReceiversUsableAsValues: List<ImplicitReceiver>
|
||||
|
||||
init {
|
||||
val (implicitReceivers, implicitReceiversUsableAsValues) = prepareImplicitReceivers(implicitReceiverValues)
|
||||
val (implicitReceivers, implicitReceiversUsableAsValues) = prepareImplicitReceivers(components.implicitReceiverStack.receiversAsReversed())
|
||||
this.implicitReceivers = implicitReceivers
|
||||
this.implicitReceiversUsableAsValues = implicitReceiversUsableAsValues
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user