Minor: remove unused FirOverrideService methods

This commit is contained in:
pyos
2022-10-13 12:44:56 +02:00
committed by teamcity
parent 8f19291a35
commit 9a151e1422
@@ -19,46 +19,9 @@ import org.jetbrains.kotlin.fir.types.ConeFlexibleType
import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.typeContext import org.jetbrains.kotlin.fir.types.typeContext
import org.jetbrains.kotlin.types.AbstractTypeChecker import org.jetbrains.kotlin.types.AbstractTypeChecker
import org.jetbrains.kotlin.utils.SmartSet
import java.util.* import java.util.*
class FirOverrideService(val session: FirSession) : FirSessionComponent { class FirOverrideService(val session: FirSession) : FirSessionComponent {
fun <D : FirCallableSymbol<*>> selectMostSpecificInEachOverridableGroup(
members: Collection<MemberWithBaseScope<D>>,
overrideChecker: FirOverrideChecker,
returnTypeCalculator: ReturnTypeCalculator
): Collection<MemberWithBaseScope<D>> {
if (members.size <= 1) return members
val queue = LinkedList(members)
val result = SmartSet.create<MemberWithBaseScope<D>>()
while (queue.isNotEmpty()) {
val nextHandle = queue.first()
val conflictedHandles = SmartSet.create<MemberWithBaseScope<D>>()
val overridableGroup = extractBothWaysOverridable(nextHandle, queue, overrideChecker)
if (overridableGroup.size == 1 && conflictedHandles.isEmpty()) {
result.add(overridableGroup.single())
continue
}
val mostSpecific = selectMostSpecificMember(overridableGroup, returnTypeCalculator)
overridableGroup.filterNotTo(conflictedHandles) {
isMoreSpecificOrEqual(mostSpecific, it, returnTypeCalculator)
}
if (conflictedHandles.isNotEmpty()) {
result.addAll(conflictedHandles)
}
result.add(mostSpecific)
}
return result
}
fun <D : FirCallableSymbol<*>> createOverridableGroups( fun <D : FirCallableSymbol<*>> createOverridableGroups(
members: Collection<MemberWithBaseScope<D>>, members: Collection<MemberWithBaseScope<D>>,
overrideChecker: FirOverrideChecker overrideChecker: FirOverrideChecker
@@ -133,11 +96,6 @@ class FirOverrideService(val session: FirSession) : FirSessionComponent {
return maximums.map { it.memberWithBaseScope } return maximums.map { it.memberWithBaseScope }
} }
fun <D : FirCallableSymbol<*>> selectMostSpecificMember(
overridables: List<MemberWithBaseScope<D>>,
returnTypeCalculator: ReturnTypeCalculator
): MemberWithBaseScope<D> = selectMostSpecificMembers(overridables, returnTypeCalculator).first()
private fun <E> MutableList<E>.removeFlagged(flags: BooleanArray) { private fun <E> MutableList<E>.removeFlagged(flags: BooleanArray) {
var dest = 0 var dest = 0
for (i in flags.indices) { for (i in flags.indices) {
@@ -150,14 +108,6 @@ class FirOverrideService(val session: FirSession) : FirSessionComponent {
} }
} }
private fun isMoreSpecificOrEqual(
a: MemberWithBaseScope<*>,
b: MemberWithBaseScope<*>,
returnTypeCalculator: ReturnTypeCalculator
) = MemberWithBaseScopeAndReturnType(a, returnTypeCalculator).compareTo(MemberWithBaseScopeAndReturnType(b, returnTypeCalculator)).let {
it != null && it >= 0
}
private class MemberWithBaseScopeAndReturnType<out D : FirCallableSymbol<*>>( private class MemberWithBaseScopeAndReturnType<out D : FirCallableSymbol<*>>(
val memberWithBaseScope: MemberWithBaseScope<D>, val memberWithBaseScope: MemberWithBaseScope<D>,
returnTypeCalculator: ReturnTypeCalculator returnTypeCalculator: ReturnTypeCalculator