FIR: rename CallResolver to FirTowerResolver
This commit is contained in:
@@ -60,14 +60,14 @@ class FirCallResolver(
|
|||||||
file,
|
file,
|
||||||
transformer.container
|
transformer.container
|
||||||
) { it.resultType }
|
) { it.resultType }
|
||||||
val resolver = CallResolver(
|
val towerResolver = FirTowerResolver(
|
||||||
returnTypeCalculator, this, resolutionStageRunner,
|
returnTypeCalculator, this, resolutionStageRunner,
|
||||||
topLevelScopes = topLevelScopes.asReversed(),
|
topLevelScopes = topLevelScopes.asReversed(),
|
||||||
localScopes = localScopes.asReversed()
|
localScopes = localScopes.asReversed()
|
||||||
)
|
)
|
||||||
|
|
||||||
val consumer = createFunctionConsumer(session, name, info, this, resolver.collector, resolver)
|
val consumer = createFunctionConsumer(session, name, info, this, towerResolver.collector, towerResolver)
|
||||||
val result = resolver.runTowerResolver(consumer, implicitReceiverStack.receiversAsReversed())
|
val result = towerResolver.runResolver(consumer, implicitReceiverStack.receiversAsReversed())
|
||||||
val bestCandidates = result.bestCandidates()
|
val bestCandidates = result.bestCandidates()
|
||||||
val reducedCandidates = if (result.currentApplicability < CandidateApplicability.SYNTHETIC_RESOLVED) {
|
val reducedCandidates = if (result.currentApplicability < CandidateApplicability.SYNTHETIC_RESOLVED) {
|
||||||
bestCandidates.toSet()
|
bestCandidates.toSet()
|
||||||
@@ -154,7 +154,7 @@ class FirCallResolver(
|
|||||||
file,
|
file,
|
||||||
transformer.container
|
transformer.container
|
||||||
) { it.resultType }
|
) { it.resultType }
|
||||||
val resolver = CallResolver(
|
val towerResolver = FirTowerResolver(
|
||||||
returnTypeCalculator, this, resolutionStageRunner,
|
returnTypeCalculator, this, resolutionStageRunner,
|
||||||
topLevelScopes = topLevelScopes.asReversed(),
|
topLevelScopes = topLevelScopes.asReversed(),
|
||||||
localScopes = localScopes.asReversed()
|
localScopes = localScopes.asReversed()
|
||||||
@@ -164,9 +164,9 @@ class FirCallResolver(
|
|||||||
session,
|
session,
|
||||||
callee.name,
|
callee.name,
|
||||||
info, this,
|
info, this,
|
||||||
resolver.collector
|
towerResolver.collector
|
||||||
)
|
)
|
||||||
val result = resolver.runTowerResolver(consumer, implicitReceiverStack.receiversAsReversed())
|
val result = towerResolver.runResolver(consumer, implicitReceiverStack.receiversAsReversed())
|
||||||
|
|
||||||
val candidates = result.bestCandidates()
|
val candidates = result.bestCandidates()
|
||||||
val nameReference = createResolvedNamedReference(
|
val nameReference = createResolvedNamedReference(
|
||||||
|
|||||||
+3
-3
@@ -69,7 +69,7 @@ open class CandidateCollector(
|
|||||||
// Collects properties that potentially could be invoke receivers, like 'propertyName()',
|
// Collects properties that potentially could be invoke receivers, like 'propertyName()',
|
||||||
// and initiates further invoke resolution by adding property-bound invoke consumers
|
// and initiates further invoke resolution by adding property-bound invoke consumers
|
||||||
class InvokeReceiverCandidateCollector(
|
class InvokeReceiverCandidateCollector(
|
||||||
val callResolver: CallResolver,
|
val towerResolver: FirTowerResolver,
|
||||||
val invokeCallInfo: CallInfo,
|
val invokeCallInfo: CallInfo,
|
||||||
components: BodyResolveComponents,
|
components: BodyResolveComponents,
|
||||||
val invokeConsumer: AccumulatingTowerDataConsumer,
|
val invokeConsumer: AccumulatingTowerDataConsumer,
|
||||||
@@ -91,7 +91,7 @@ class InvokeReceiverCandidateCollector(
|
|||||||
)
|
)
|
||||||
dispatchReceiver = candidate.dispatchReceiverExpression()
|
dispatchReceiver = candidate.dispatchReceiverExpression()
|
||||||
extensionReceiver = candidate.extensionReceiverExpression()
|
extensionReceiver = candidate.extensionReceiverExpression()
|
||||||
typeRef = callResolver.typeCalculator.tryCalculateReturnType(candidate.symbol.firUnsafe())
|
typeRef = towerResolver.typeCalculator.tryCalculateReturnType(candidate.symbol.firUnsafe())
|
||||||
},
|
},
|
||||||
invokeCallInfo.arguments,
|
invokeCallInfo.arguments,
|
||||||
invokeCallInfo.isSafeCall,
|
invokeCallInfo.isSafeCall,
|
||||||
@@ -105,7 +105,7 @@ class InvokeReceiverCandidateCollector(
|
|||||||
invokeConsumer.addConsumer(
|
invokeConsumer.addConsumer(
|
||||||
createSimpleFunctionConsumer(
|
createSimpleFunctionConsumer(
|
||||||
session, OperatorNameConventions.INVOKE,
|
session, OperatorNameConventions.INVOKE,
|
||||||
boundInvokeCallInfo, callResolver.components, callResolver.collector
|
boundInvokeCallInfo, towerResolver.components, towerResolver.collector
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -61,7 +61,7 @@ fun createFunctionConsumer(
|
|||||||
callInfo: CallInfo,
|
callInfo: CallInfo,
|
||||||
bodyResolveComponents: BodyResolveComponents,
|
bodyResolveComponents: BodyResolveComponents,
|
||||||
resultCollector: CandidateCollector,
|
resultCollector: CandidateCollector,
|
||||||
callResolver: CallResolver
|
towerResolver: FirTowerResolver
|
||||||
): TowerDataConsumer {
|
): TowerDataConsumer {
|
||||||
val varCallInfo = CallInfo(
|
val varCallInfo = CallInfo(
|
||||||
CallKind.VariableAccess,
|
CallKind.VariableAccess,
|
||||||
@@ -92,7 +92,7 @@ fun createFunctionConsumer(
|
|||||||
varCallInfo,
|
varCallInfo,
|
||||||
bodyResolveComponents,
|
bodyResolveComponents,
|
||||||
InvokeReceiverCandidateCollector(
|
InvokeReceiverCandidateCollector(
|
||||||
callResolver,
|
towerResolver,
|
||||||
invokeCallInfo = callInfo,
|
invokeCallInfo = callInfo,
|
||||||
components = bodyResolveComponents,
|
components = bodyResolveComponents,
|
||||||
invokeConsumer = this,
|
invokeConsumer = this,
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ enum class TowerDataKind {
|
|||||||
TOWER_LEVEL
|
TOWER_LEVEL
|
||||||
}
|
}
|
||||||
|
|
||||||
class CallResolver(
|
class FirTowerResolver(
|
||||||
val typeCalculator: ReturnTypeCalculator,
|
val typeCalculator: ReturnTypeCalculator,
|
||||||
val components: BodyResolveComponents,
|
val components: BodyResolveComponents,
|
||||||
private val resolutionStageRunner: ResolutionStageRunner,
|
private val resolutionStageRunner: ResolutionStageRunner,
|
||||||
@@ -141,7 +141,7 @@ class CallResolver(
|
|||||||
private lateinit var towerDataConsumer: TowerDataConsumer
|
private lateinit var towerDataConsumer: TowerDataConsumer
|
||||||
private lateinit var implicitReceiverValues: List<ImplicitReceiverValue<*>>
|
private lateinit var implicitReceiverValues: List<ImplicitReceiverValue<*>>
|
||||||
|
|
||||||
fun runTowerResolver(consumer: TowerDataConsumer, implicitReceiverValues: List<ImplicitReceiverValue<*>>): CandidateCollector {
|
fun runResolver(consumer: TowerDataConsumer, implicitReceiverValues: List<ImplicitReceiverValue<*>>): CandidateCollector {
|
||||||
this.implicitReceiverValues = implicitReceiverValues
|
this.implicitReceiverValues = implicitReceiverValues
|
||||||
towerDataConsumer = consumer
|
towerDataConsumer = consumer
|
||||||
|
|
||||||
Reference in New Issue
Block a user