FirTypeIntersectionScope: minor mutability refactoring
This commit is contained in:
+3
-5
@@ -102,7 +102,7 @@ class FirTypeIntersectionScope private constructor(
|
|||||||
while (allMembersWithScope.size > 1) {
|
while (allMembersWithScope.size > 1) {
|
||||||
val maxByVisibility = findMemberWithMaxVisibility(allMembersWithScope)
|
val maxByVisibility = findMemberWithMaxVisibility(allMembersWithScope)
|
||||||
val extractBothWaysWithPrivate = extractBothWaysOverridable(maxByVisibility, allMembersWithScope)
|
val extractBothWaysWithPrivate = extractBothWaysOverridable(maxByVisibility, allMembersWithScope)
|
||||||
val extractedOverrides = extractBothWaysWithPrivate.filterNotTo(mutableListOf()) {
|
val extractedOverrides = extractBothWaysWithPrivate.filterNot {
|
||||||
Visibilities.isPrivate((it.member.fir as FirMemberDeclaration).visibility)
|
Visibilities.isPrivate((it.member.fir as FirMemberDeclaration).visibility)
|
||||||
}.takeIf { it.isNotEmpty() } ?: extractBothWaysWithPrivate
|
}.takeIf { it.isNotEmpty() } ?: extractBothWaysWithPrivate
|
||||||
val baseMembersForIntersection = extractedOverrides.calcBaseMembersForIntersectionOverride()
|
val baseMembersForIntersection = extractedOverrides.calcBaseMembersForIntersectionOverride()
|
||||||
@@ -194,9 +194,7 @@ class FirTypeIntersectionScope private constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val result = this.toMutableList()
|
return filterNot { (member, _) -> member.fir.unwrapSubstitutionOverrides().symbol in baseMembers }
|
||||||
result.removeIf { (member, _) -> member.fir.unwrapSubstitutionOverrides().symbol in baseMembers }
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun <D : FirCallableSymbol<*>> chooseIntersectionOverrideModality(
|
private fun <D : FirCallableSymbol<*>> chooseIntersectionOverrideModality(
|
||||||
@@ -467,7 +465,7 @@ class FirTypeIntersectionScope private constructor(
|
|||||||
private fun <D : FirCallableSymbol<*>> extractBothWaysOverridable(
|
private fun <D : FirCallableSymbol<*>> extractBothWaysOverridable(
|
||||||
overrider: MemberWithBaseScope<D>,
|
overrider: MemberWithBaseScope<D>,
|
||||||
members: MutableCollection<MemberWithBaseScope<D>>
|
members: MutableCollection<MemberWithBaseScope<D>>
|
||||||
): MutableList<MemberWithBaseScope<D>> {
|
): List<MemberWithBaseScope<D>> {
|
||||||
val result = mutableListOf<MemberWithBaseScope<D>>().apply { add(overrider) }
|
val result = mutableListOf<MemberWithBaseScope<D>>().apply { add(overrider) }
|
||||||
|
|
||||||
val iterator = members.iterator()
|
val iterator = members.iterator()
|
||||||
|
|||||||
Reference in New Issue
Block a user