Rename language feature to make it more clear
This commit is contained in:
@@ -141,14 +141,14 @@ class KotlinCallResolver(
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
maximallySpecificCandidates.size > 1 &&
|
maximallySpecificCandidates.size > 1 &&
|
||||||
callComponents.languageVersionSettings.supportsFeature(LanguageFeature.FactoryPatternResolution) &&
|
callComponents.languageVersionSettings.supportsFeature(LanguageFeature.OverloadResolutionByLambdaReturnType) &&
|
||||||
candidates.all { resolutionCallbacks.inferenceSession.shouldRunCompletion(it) }
|
candidates.all { resolutionCallbacks.inferenceSession.shouldRunCompletion(it) }
|
||||||
) {
|
) {
|
||||||
val candidatesWithAnnotation =
|
val candidatesWithAnnotation =
|
||||||
candidates.filter { it.resolvedCall.candidateDescriptor.annotations.hasAnnotation(OVERLOAD_RESOLUTION_BY_LAMBDA_ANNOTATION) }
|
candidates.filter { it.resolvedCall.candidateDescriptor.annotations.hasAnnotation(OVERLOAD_RESOLUTION_BY_LAMBDA_ANNOTATION) }
|
||||||
val candidatesWithoutAnnotation = candidates - candidatesWithAnnotation
|
val candidatesWithoutAnnotation = candidates - candidatesWithAnnotation
|
||||||
if (candidatesWithAnnotation.isNotEmpty()) {
|
if (candidatesWithAnnotation.isNotEmpty()) {
|
||||||
val newCandidates = kotlinCallCompleter.chooseCandidateRegardingFactoryPatternResolution(maximallySpecificCandidates, resolutionCallbacks)
|
val newCandidates = kotlinCallCompleter.chooseCandidateRegardingOverloadResolutionByLambdaReturnType(maximallySpecificCandidates, resolutionCallbacks)
|
||||||
maximallySpecificCandidates = overloadingConflictResolver.chooseMaximallySpecificCandidates(
|
maximallySpecificCandidates = overloadingConflictResolver.chooseMaximallySpecificCandidates(
|
||||||
newCandidates,
|
newCandidates,
|
||||||
CheckArgumentTypesMode.CHECK_VALUE_ARGUMENTS,
|
CheckArgumentTypesMode.CHECK_VALUE_ARGUMENTS,
|
||||||
|
|||||||
+1
-1
@@ -76,7 +76,7 @@ class KotlinCallCompleter(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun chooseCandidateRegardingFactoryPatternResolution(
|
fun chooseCandidateRegardingOverloadResolutionByLambdaReturnType(
|
||||||
candidates: Set<KotlinResolutionCandidate>,
|
candidates: Set<KotlinResolutionCandidate>,
|
||||||
resolutionCallbacks: KotlinResolutionCallbacks
|
resolutionCallbacks: KotlinResolutionCallbacks
|
||||||
): Set<KotlinResolutionCandidate> {
|
): Set<KotlinResolutionCandidate> {
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -EXPERIMENTAL_API_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference -FactoryPatternResolution
|
// !LANGUAGE: +NewInference -OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference -FactoryPatternResolution
|
// !LANGUAGE: +NewInference -OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +NewInference +FactoryPatternResolution
|
// !LANGUAGE: +NewInference +OverloadResolutionByLambdaReturnType
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
|
||||||
// ISSUE: KT-11265
|
// ISSUE: KT-11265
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ enum class LanguageFeature(
|
|||||||
FunctionReferenceWithDefaultValueAsOtherType(sinceVersion = KOTLIN_1_4),
|
FunctionReferenceWithDefaultValueAsOtherType(sinceVersion = KOTLIN_1_4),
|
||||||
NonStrictOnlyInputTypesChecks(sinceVersion = KOTLIN_1_4),
|
NonStrictOnlyInputTypesChecks(sinceVersion = KOTLIN_1_4),
|
||||||
SuspendConversion(sinceVersion = KOTLIN_1_4, defaultState = State.DISABLED),
|
SuspendConversion(sinceVersion = KOTLIN_1_4, defaultState = State.DISABLED),
|
||||||
FactoryPatternResolution(sinceVersion = KOTLIN_1_4),
|
OverloadResolutionByLambdaReturnType(sinceVersion = KOTLIN_1_4),
|
||||||
|
|
||||||
BooleanElvisBoundSmartCasts(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED), // see KT-26357 for details
|
BooleanElvisBoundSmartCasts(sinceVersion = KOTLIN_1_3, defaultState = State.DISABLED), // see KT-26357 for details
|
||||||
NewDataFlowForTryExpressions(sinceVersion = KOTLIN_1_4, defaultState = State.DISABLED),
|
NewDataFlowForTryExpressions(sinceVersion = KOTLIN_1_4, defaultState = State.DISABLED),
|
||||||
|
|||||||
Reference in New Issue
Block a user