Rename ResolutionCandidateApplicability to CandidateApplicability

This commit is contained in:
Dmitriy Novozhilov
2020-09-08 10:44:53 +03:00
parent db2e3f219f
commit d1568c1ce6
14 changed files with 51 additions and 53 deletions
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.resolve.calls.components
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
import org.jetbrains.kotlin.resolve.calls.model.*
import org.jetbrains.kotlin.resolve.calls.tower.ResolutionCandidateApplicability
class TypeArgumentsToParametersMapper {
@@ -17,9 +17,9 @@
package org.jetbrains.kotlin.resolve.calls.model
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintSystemError
import org.jetbrains.kotlin.resolve.calls.tower.ResolutionCandidateApplicability
import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability
abstract class KotlinCallDiagnostic(val candidateApplicability: ResolutionCandidateApplicability) {
abstract class KotlinCallDiagnostic(val candidateApplicability: CandidateApplicability) {
abstract fun report(reporter: DiagnosticReporter)
}
@@ -21,8 +21,8 @@ import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
import org.jetbrains.kotlin.resolve.calls.components.CallableReferenceCandidate
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintSystemError
import org.jetbrains.kotlin.resolve.calls.tower.ResolutionCandidateApplicability
import org.jetbrains.kotlin.resolve.calls.tower.ResolutionCandidateApplicability.*
import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability
import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability.*
import org.jetbrains.kotlin.types.TypeConstructor
import org.jetbrains.kotlin.types.UnwrappedType
@@ -142,7 +142,7 @@ class SmartCastDiagnostic(
sealed class UnstableSmartCast(
val argument: ExpressionKotlinCallArgument,
val targetType: UnwrappedType,
applicability: ResolutionCandidateApplicability,
applicability: CandidateApplicability,
) : KotlinCallDiagnostic(applicability) {
override fun report(reporter: DiagnosticReporter) = reporter.onCallArgument(argument, this)
@@ -84,7 +84,7 @@ class KotlinResolutionCandidate(
) : Candidate, KotlinDiagnosticsHolder {
val diagnosticsFromResolutionParts = arrayListOf<KotlinCallDiagnostic>() // TODO: this is mutable list, take diagnostics only once!
private var newSystem: NewConstraintSystemImpl? = null
private var currentApplicability = ResolutionCandidateApplicability.RESOLVED
private var currentApplicability = CandidateApplicability.RESOLVED
private var subResolvedAtoms: MutableList<ResolvedAtom> = arrayListOf()
private val stepCount = resolutionSequence.sumBy { it.run { workCount() } }
@@ -155,7 +155,7 @@ class KotlinResolutionCandidate(
get() = callComponents.statelessCallbacks.getVariableCandidateIfInvoke(resolvedCall.atom)
private val variableApplicability
get() = variableCandidateIfInvoke?.resultingApplicability ?: ResolutionCandidateApplicability.RESOLVED
get() = variableCandidateIfInvoke?.resultingApplicability ?: CandidateApplicability.RESOLVED
override val isSuccessful: Boolean
get() {
@@ -163,7 +163,7 @@ class KotlinResolutionCandidate(
return currentApplicability.isSuccess && variableApplicability.isSuccess && !getSystem().hasContradiction
}
override val resultingApplicability: ResolutionCandidateApplicability
override val resultingApplicability: CandidateApplicability
get() {
processParts(stopOnFirstError = false)
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintSystemError
import org.jetbrains.kotlin.resolve.calls.model.DiagnosticReporter
import org.jetbrains.kotlin.resolve.calls.model.KotlinCallDiagnostic
import org.jetbrains.kotlin.resolve.calls.tower.ResolutionCandidateApplicability.*
import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability.*
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.ResolutionScope
@@ -90,14 +90,14 @@ class CandidateWithBoundDispatchReceiver(
)
@JvmName("getResultApplicabilityForConstraintErrors")
fun getResultApplicability(diagnostics: Collection<ConstraintSystemError>): ResolutionCandidateApplicability =
fun getResultApplicability(diagnostics: Collection<ConstraintSystemError>): CandidateApplicability =
diagnostics.maxByOrNull { it.applicability }?.applicability ?: RESOLVED
@JvmName("getResultApplicabilityForCallDiagnostics")
fun getResultApplicability(diagnostics: Collection<KotlinCallDiagnostic>): ResolutionCandidateApplicability =
fun getResultApplicability(diagnostics: Collection<KotlinCallDiagnostic>): CandidateApplicability =
diagnostics.maxByOrNull { it.candidateApplicability }?.candidateApplicability ?: RESOLVED
abstract class ResolutionDiagnostic(candidateApplicability: ResolutionCandidateApplicability) :
abstract class ResolutionDiagnostic(candidateApplicability: CandidateApplicability) :
KotlinCallDiagnostic(candidateApplicability) {
override fun report(reporter: DiagnosticReporter) {
// do nothing
@@ -35,7 +35,7 @@ interface Candidate {
// this operation should be very fast
val isSuccessful: Boolean
val resultingApplicability: ResolutionCandidateApplicability
val resultingApplicability: CandidateApplicability
fun addCompatibilityWarning(other: Candidate)
}
@@ -315,7 +315,7 @@ class TowerResolver {
override fun pushCandidates(candidates: Collection<C>) {
candidates.filterNotTo(allCandidates) {
it.resultingApplicability == ResolutionCandidateApplicability.HIDDEN
it.resultingApplicability == CandidateApplicability.HIDDEN
}
}
}
@@ -352,12 +352,12 @@ class TowerResolver {
}
private fun isSuccessfulCandidate(candidate: C): Boolean {
return candidate.resultingApplicability == ResolutionCandidateApplicability.RESOLVED
|| candidate.resultingApplicability == ResolutionCandidateApplicability.RESOLVED_WITH_ERROR
return candidate.resultingApplicability == CandidateApplicability.RESOLVED
|| candidate.resultingApplicability == CandidateApplicability.RESOLVED_WITH_ERROR
}
private fun isSuccessfulPreserveCompatibility(candidate: C): Boolean =
candidate.resultingApplicability == ResolutionCandidateApplicability.RESOLVED_NEED_PRESERVE_COMPATIBILITY
candidate.resultingApplicability == CandidateApplicability.RESOLVED_NEED_PRESERVE_COMPATIBILITY
override fun pushCandidates(candidates: Collection<C>) {
val thereIsSuccessful = candidates.any { it.isSuccessful }
@@ -378,12 +378,12 @@ class TowerResolver {
override fun getFinalCandidates(): Collection<C> {
val moreSuitableGroup = candidateGroups.minByOrNull { it.groupApplicability } ?: return emptyList()
val groupApplicability = moreSuitableGroup.groupApplicability
if (groupApplicability == ResolutionCandidateApplicability.HIDDEN) return emptyList()
if (groupApplicability == CandidateApplicability.HIDDEN) return emptyList()
return moreSuitableGroup.filter { it.resultingApplicability == groupApplicability }
}
private val Collection<C>.groupApplicability: ResolutionCandidateApplicability
get() = minOfOrNull { it.resultingApplicability } ?: ResolutionCandidateApplicability.HIDDEN
private val Collection<C>.groupApplicability: CandidateApplicability
get() = minOfOrNull { it.resultingApplicability } ?: CandidateApplicability.HIDDEN
}
}
@@ -20,9 +20,9 @@ import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
private val INAPPLICABLE_STATUSES = setOf(
ResolutionCandidateApplicability.INAPPLICABLE,
ResolutionCandidateApplicability.INAPPLICABLE_ARGUMENTS_MAPPING_ERROR,
ResolutionCandidateApplicability.INAPPLICABLE_WRONG_RECEIVER
CandidateApplicability.INAPPLICABLE,
CandidateApplicability.INAPPLICABLE_ARGUMENTS_MAPPING_ERROR,
CandidateApplicability.INAPPLICABLE_WRONG_RECEIVER
)
val CallableDescriptor.isSynthesized: Boolean
@@ -31,7 +31,7 @@ val CallableDescriptor.isSynthesized: Boolean
val CandidateWithBoundDispatchReceiver.requiresExtensionReceiver: Boolean
get() = descriptor.extensionReceiverParameter != null
val ResolutionCandidateApplicability.isInapplicable: Boolean
val CandidateApplicability.isInapplicable: Boolean
get() = this in INAPPLICABLE_STATUSES
fun <C : Candidate> C.forceResolution(): C {