[FE] Cleanup: rename areXyzCompatible -> getXyzCompatibility
Review: https://jetbrains.team/p/kt/reviews/11039/timeline Motivation: - Functions with prefix "are" must return Boolean. And AbstractExpectActualCompatibilityChecker even already contains some functions with prefix "are" that return Boolean (e.g. `areCompatibleCallableVisibilities`, `areCompatibleSupertypesOneByOne`, etc) - Unification with functions that are prefixed with "are" and return Boolean
This commit is contained in:
+2
-2
@@ -71,7 +71,7 @@ object FirExpectActualResolver {
|
|||||||
candidates.filter { expectSymbol ->
|
candidates.filter { expectSymbol ->
|
||||||
actualSymbol != expectSymbol && expectSymbol.isExpect
|
actualSymbol != expectSymbol && expectSymbol.isExpect
|
||||||
}.groupBy { expectDeclaration ->
|
}.groupBy { expectDeclaration ->
|
||||||
AbstractExpectActualCompatibilityChecker.areCompatibleCallables(
|
AbstractExpectActualCompatibilityChecker.getCallablesCompatibility(
|
||||||
expectDeclaration,
|
expectDeclaration,
|
||||||
actualSymbol as CallableSymbolMarker,
|
actualSymbol as CallableSymbolMarker,
|
||||||
parentSubstitutor,
|
parentSubstitutor,
|
||||||
@@ -90,7 +90,7 @@ object FirExpectActualResolver {
|
|||||||
is FirClassLikeSymbol<*> -> {
|
is FirClassLikeSymbol<*> -> {
|
||||||
val expectClassSymbol = useSiteSession.dependenciesSymbolProvider
|
val expectClassSymbol = useSiteSession.dependenciesSymbolProvider
|
||||||
.getClassLikeSymbolByClassId(actualSymbol.classId) as? FirRegularClassSymbol ?: return null
|
.getClassLikeSymbolByClassId(actualSymbol.classId) as? FirRegularClassSymbol ?: return null
|
||||||
val compatibility = AbstractExpectActualCompatibilityChecker.areCompatibleClassifiers(expectClassSymbol, actualSymbol, context)
|
val compatibility = AbstractExpectActualCompatibilityChecker.getClassifiersCompatibility(expectClassSymbol, actualSymbol, context)
|
||||||
mapOf(compatibility to listOf(expectClassSymbol))
|
mapOf(compatibility to listOf(expectClassSymbol))
|
||||||
}
|
}
|
||||||
else -> null
|
else -> null
|
||||||
|
|||||||
+8
-8
@@ -23,19 +23,19 @@ import org.jetbrains.kotlin.utils.keysToMap
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
object AbstractExpectActualCompatibilityChecker {
|
object AbstractExpectActualCompatibilityChecker {
|
||||||
fun <T : DeclarationSymbolMarker> areCompatibleClassifiers(
|
fun <T : DeclarationSymbolMarker> getClassifiersCompatibility(
|
||||||
expectClassSymbol: RegularClassSymbolMarker,
|
expectClassSymbol: RegularClassSymbolMarker,
|
||||||
actualClassLikeSymbol: ClassLikeSymbolMarker,
|
actualClassLikeSymbol: ClassLikeSymbolMarker,
|
||||||
context: ExpectActualMatchingContext<T>,
|
context: ExpectActualMatchingContext<T>,
|
||||||
): ExpectActualCompatibility<T> {
|
): ExpectActualCompatibility<T> {
|
||||||
val result = with(context) {
|
val result = with(context) {
|
||||||
areCompatibleClassifiers(expectClassSymbol, actualClassLikeSymbol, parentSubstitutor = null)
|
getClassifiersCompatibility(expectClassSymbol, actualClassLikeSymbol, parentSubstitutor = null)
|
||||||
}
|
}
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
return result as ExpectActualCompatibility<T>
|
return result as ExpectActualCompatibility<T>
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T : DeclarationSymbolMarker> areCompatibleCallables(
|
fun <T : DeclarationSymbolMarker> getCallablesCompatibility(
|
||||||
expectDeclaration: CallableSymbolMarker,
|
expectDeclaration: CallableSymbolMarker,
|
||||||
actualDeclaration: CallableSymbolMarker,
|
actualDeclaration: CallableSymbolMarker,
|
||||||
parentSubstitutor: TypeSubstitutorMarker?,
|
parentSubstitutor: TypeSubstitutorMarker?,
|
||||||
@@ -44,7 +44,7 @@ object AbstractExpectActualCompatibilityChecker {
|
|||||||
context: ExpectActualMatchingContext<T>,
|
context: ExpectActualMatchingContext<T>,
|
||||||
): ExpectActualCompatibility<T> {
|
): ExpectActualCompatibility<T> {
|
||||||
val result = with(context) {
|
val result = with(context) {
|
||||||
areCompatibleCallables(expectDeclaration, actualDeclaration, parentSubstitutor, expectContainingClass, actualContainingClass)
|
getCallablesCompatibility(expectDeclaration, actualDeclaration, parentSubstitutor, expectContainingClass, actualContainingClass)
|
||||||
}
|
}
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
return result as ExpectActualCompatibility<T>
|
return result as ExpectActualCompatibility<T>
|
||||||
@@ -69,7 +69,7 @@ object AbstractExpectActualCompatibilityChecker {
|
|||||||
|
|
||||||
context(ExpectActualMatchingContext<*>)
|
context(ExpectActualMatchingContext<*>)
|
||||||
@Suppress("warnings")
|
@Suppress("warnings")
|
||||||
private fun areCompatibleClassifiers(
|
private fun getClassifiersCompatibility(
|
||||||
expectClassSymbol: RegularClassSymbolMarker,
|
expectClassSymbol: RegularClassSymbolMarker,
|
||||||
actualClassLikeSymbol: ClassLikeSymbolMarker,
|
actualClassLikeSymbol: ClassLikeSymbolMarker,
|
||||||
parentSubstitutor: TypeSubstitutorMarker?,
|
parentSubstitutor: TypeSubstitutorMarker?,
|
||||||
@@ -240,7 +240,7 @@ object AbstractExpectActualCompatibilityChecker {
|
|||||||
) {
|
) {
|
||||||
val mapping = actualMembers.keysToMap { actualMember ->
|
val mapping = actualMembers.keysToMap { actualMember ->
|
||||||
when (expectMember) {
|
when (expectMember) {
|
||||||
is CallableSymbolMarker -> areCompatibleCallables(
|
is CallableSymbolMarker -> getCallablesCompatibility(
|
||||||
expectMember,
|
expectMember,
|
||||||
actualMember as CallableSymbolMarker,
|
actualMember as CallableSymbolMarker,
|
||||||
substitutor,
|
substitutor,
|
||||||
@@ -250,7 +250,7 @@ object AbstractExpectActualCompatibilityChecker {
|
|||||||
|
|
||||||
is RegularClassSymbolMarker -> {
|
is RegularClassSymbolMarker -> {
|
||||||
val parentSubstitutor = substitutor?.takeIf { !innerClassesCapturesOuterTypeParameters }
|
val parentSubstitutor = substitutor?.takeIf { !innerClassesCapturesOuterTypeParameters }
|
||||||
areCompatibleClassifiers(
|
getClassifiersCompatibility(
|
||||||
expectMember,
|
expectMember,
|
||||||
actualMember as ClassLikeSymbolMarker,
|
actualMember as ClassLikeSymbolMarker,
|
||||||
parentSubstitutor
|
parentSubstitutor
|
||||||
@@ -277,7 +277,7 @@ object AbstractExpectActualCompatibilityChecker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
context(ExpectActualMatchingContext<*>)
|
context(ExpectActualMatchingContext<*>)
|
||||||
private fun areCompatibleCallables(
|
private fun getCallablesCompatibility(
|
||||||
expectDeclaration: CallableSymbolMarker,
|
expectDeclaration: CallableSymbolMarker,
|
||||||
actualDeclaration: CallableSymbolMarker,
|
actualDeclaration: CallableSymbolMarker,
|
||||||
parentSubstitutor: TypeSubstitutorMarker?,
|
parentSubstitutor: TypeSubstitutorMarker?,
|
||||||
|
|||||||
+4
-4
@@ -29,7 +29,7 @@ object ExpectedActualResolver {
|
|||||||
// TODO: support non-source definitions (e.g. from Java)
|
// TODO: support non-source definitions (e.g. from Java)
|
||||||
actual.couldHaveASource
|
actual.couldHaveASource
|
||||||
}.groupBy { actual ->
|
}.groupBy { actual ->
|
||||||
AbstractExpectActualCompatibilityChecker.areCompatibleCallables(
|
AbstractExpectActualCompatibilityChecker.getCallablesCompatibility(
|
||||||
expected,
|
expected,
|
||||||
actual,
|
actual,
|
||||||
parentSubstitutor = null,
|
parentSubstitutor = null,
|
||||||
@@ -43,7 +43,7 @@ object ExpectedActualResolver {
|
|||||||
context.findClassifiersFromModule(expected.classId, platformModule, moduleVisibilityFilter).filter { actual ->
|
context.findClassifiersFromModule(expected.classId, platformModule, moduleVisibilityFilter).filter { actual ->
|
||||||
expected != actual && !actual.isExpect && actual.couldHaveASource
|
expected != actual && !actual.isExpect && actual.couldHaveASource
|
||||||
}.groupBy { actual ->
|
}.groupBy { actual ->
|
||||||
AbstractExpectActualCompatibilityChecker.areCompatibleClassifiers(
|
AbstractExpectActualCompatibilityChecker.getClassifiersCompatibility(
|
||||||
expected,
|
expected,
|
||||||
actual,
|
actual,
|
||||||
context
|
context
|
||||||
@@ -100,7 +100,7 @@ object ExpectedActualResolver {
|
|||||||
}
|
}
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
AbstractExpectActualCompatibilityChecker.areCompatibleCallables(
|
AbstractExpectActualCompatibilityChecker.getCallablesCompatibility(
|
||||||
expectDeclaration = declaration,
|
expectDeclaration = declaration,
|
||||||
actualDeclaration = actual,
|
actualDeclaration = actual,
|
||||||
parentSubstitutor = substitutor,
|
parentSubstitutor = substitutor,
|
||||||
@@ -114,7 +114,7 @@ object ExpectedActualResolver {
|
|||||||
context.findClassifiersFromModule(actual.classId, actual.module, moduleFilter).filter { declaration ->
|
context.findClassifiersFromModule(actual.classId, actual.module, moduleFilter).filter { declaration ->
|
||||||
actual != declaration && declaration is ClassDescriptor && declaration.isExpect
|
actual != declaration && declaration is ClassDescriptor && declaration.isExpect
|
||||||
}.groupBy { expected ->
|
}.groupBy { expected ->
|
||||||
AbstractExpectActualCompatibilityChecker.areCompatibleClassifiers(
|
AbstractExpectActualCompatibilityChecker.getClassifiersCompatibility(
|
||||||
expected as ClassDescriptor,
|
expected as ClassDescriptor,
|
||||||
actual,
|
actual,
|
||||||
context
|
context
|
||||||
|
|||||||
Reference in New Issue
Block a user