FIR: Inline constructor parameter at FirTowerResolverSession

This commit is contained in:
Denis Zharkov
2020-04-27 14:17:10 +03:00
parent 75c4239504
commit 8363671cab
3 changed files with 4 additions and 10 deletions
@@ -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,
)
@@ -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()
@@ -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
}