[NI] Minor renaming
Use words 'returnArgument' instead of 'resultArgument' when talking about values, which can be possibly returned from lambda. Correct 'addSubsystemForArgument' -> 'addSubsystemFromArgument'
This commit is contained in:
+1
-1
@@ -67,7 +67,7 @@ class KotlinResolutionCallbacksImpl(
|
||||
}
|
||||
}
|
||||
|
||||
override fun analyzeAndGetLambdaResultArguments(
|
||||
override fun analyzeAndGetLambdaReturnArguments(
|
||||
lambdaArgument: LambdaKotlinCallArgument,
|
||||
isSuspend: Boolean,
|
||||
receiverType: UnwrappedType?,
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ interface KotlinResolutionStatelessCallbacks {
|
||||
|
||||
// This components hold state (trace). Work with this carefully.
|
||||
interface KotlinResolutionCallbacks {
|
||||
fun analyzeAndGetLambdaResultArguments(
|
||||
fun analyzeAndGetLambdaReturnArguments(
|
||||
lambdaArgument: LambdaKotlinCallArgument,
|
||||
isSuspend: Boolean,
|
||||
receiverType: UnwrappedType?,
|
||||
|
||||
+6
-6
@@ -17,7 +17,7 @@
|
||||
package org.jetbrains.kotlin.resolve.calls.components
|
||||
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilder
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.addSubsystemForArgument
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.addSubsystemFromArgument
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.components.NewTypeSubstitutor
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintStorage
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.LambdaArgumentConstraintPosition
|
||||
@@ -64,19 +64,19 @@ class PostponedArgumentsAnalyzer(
|
||||
val parameters = lambda.parameters.map(::substitute)
|
||||
val expectedType = lambda.returnType.takeIf { c.canBeProper(it) }?.let(::substitute)
|
||||
|
||||
val resultArguments = resolutionCallbacks.analyzeAndGetLambdaResultArguments(lambda.atom, lambda.isSuspend, receiver, parameters, expectedType)
|
||||
val returnArguments = resolutionCallbacks.analyzeAndGetLambdaReturnArguments(lambda.atom, lambda.isSuspend, receiver, parameters, expectedType)
|
||||
|
||||
resultArguments.forEach { c.addSubsystemForArgument(it) }
|
||||
returnArguments.forEach { c.addSubsystemFromArgument(it) }
|
||||
|
||||
val subResolvedKtPrimitives = resultArguments.map {
|
||||
val subResolvedKtPrimitives = returnArguments.map {
|
||||
checkSimpleArgument(c.getBuilder(), it, lambda.returnType.let(::substitute), diagnosticHolder, isReceiver = false)
|
||||
}
|
||||
|
||||
if (resultArguments.isEmpty()) {
|
||||
if (returnArguments.isEmpty()) {
|
||||
val unitType = lambda.returnType.builtIns.unitType
|
||||
c.getBuilder().addSubtypeConstraint(lambda.returnType.let(::substitute), unitType, LambdaArgumentConstraintPosition(lambda))
|
||||
}
|
||||
|
||||
lambda.setAnalyzedResults(resultArguments, subResolvedKtPrimitives)
|
||||
lambda.setAnalyzedResults(returnArguments, subResolvedKtPrimitives)
|
||||
}
|
||||
}
|
||||
+3
-6
@@ -21,10 +21,7 @@ import org.jetbrains.kotlin.resolve.calls.components.PostponedArgumentsAnalyzer
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.components.NewTypeSubstitutor
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintPosition
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.NewTypeVariable
|
||||
import org.jetbrains.kotlin.resolve.calls.model.CallableReferenceKotlinCallArgument
|
||||
import org.jetbrains.kotlin.resolve.calls.model.KotlinCallArgument
|
||||
import org.jetbrains.kotlin.resolve.calls.model.LHSResult
|
||||
import org.jetbrains.kotlin.resolve.calls.model.SubKotlinCallArgument
|
||||
import org.jetbrains.kotlin.resolve.calls.model.*
|
||||
import org.jetbrains.kotlin.types.TypeConstructor
|
||||
import org.jetbrains.kotlin.types.UnwrappedType
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
@@ -57,11 +54,11 @@ fun ConstraintSystemBuilder.addSubtypeConstraintIfCompatible(lowerType: Unwrappe
|
||||
}
|
||||
|
||||
|
||||
fun PostponedArgumentsAnalyzer.Context.addSubsystemForArgument(argument: KotlinCallArgument?) {
|
||||
fun PostponedArgumentsAnalyzer.Context.addSubsystemFromArgument(argument: KotlinCallArgument?) {
|
||||
when (argument) {
|
||||
is SubKotlinCallArgument -> addOtherSystem(argument.callResult.constraintSystem)
|
||||
is CallableReferenceKotlinCallArgument -> {
|
||||
addSubsystemForArgument(argument.lhsResult.safeAs<LHSResult.Expression>()?.lshCallArgument)
|
||||
addSubsystemFromArgument(argument.lhsResult.safeAs<LHSResult.Expression>()?.lshCallArgument)
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-5
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.resolve.calls.components.*
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.addSubsystemForArgument
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.addSubsystemFromArgument
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintInjector
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintStorage
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl
|
||||
@@ -54,12 +54,12 @@ class SimpleCandidateFactory(
|
||||
|
||||
init {
|
||||
val baseSystem = NewConstraintSystemImpl(callComponents.constraintInjector, callComponents.builtIns)
|
||||
baseSystem.addSubsystemForArgument(kotlinCall.explicitReceiver)
|
||||
baseSystem.addSubsystemForArgument(kotlinCall.dispatchReceiverForInvokeExtension)
|
||||
baseSystem.addSubsystemFromArgument(kotlinCall.explicitReceiver)
|
||||
baseSystem.addSubsystemFromArgument(kotlinCall.dispatchReceiverForInvokeExtension)
|
||||
for (argument in kotlinCall.argumentsInParenthesis) {
|
||||
baseSystem.addSubsystemForArgument(argument)
|
||||
baseSystem.addSubsystemFromArgument(argument)
|
||||
}
|
||||
baseSystem.addSubsystemForArgument(kotlinCall.externalArgument)
|
||||
baseSystem.addSubsystemFromArgument(kotlinCall.externalArgument)
|
||||
|
||||
this.baseSystem = baseSystem.asReadOnlyStorage()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user