K2 checkers: extract retrieveDirectOverriddenOf to FirTypeScope.kt

This commit is contained in:
Mikhail Glukhikh
2022-09-19 16:45:35 +02:00
committed by Space
parent 9f7c465eb0
commit 8281c166b1
3 changed files with 20 additions and 40 deletions
@@ -254,6 +254,22 @@ fun FirTypeScope.getDirectOverriddenProperties(
return overriddenProperties.toList()
}
fun FirTypeScope.retrieveDirectOverriddenOf(memberSymbol: FirCallableSymbol<*>): List<FirCallableSymbol<*>> {
return when (memberSymbol) {
is FirNamedFunctionSymbol -> {
processFunctionsByName(memberSymbol.name) {}
getDirectOverriddenFunctions(memberSymbol)
}
is FirPropertySymbol -> {
processPropertiesByName(memberSymbol.name) {}
getDirectOverriddenProperties(memberSymbol)
}
else -> throw IllegalArgumentException("unexpected member kind $memberSymbol")
}
}
private inline fun <reified D : FirCallableSymbol<*>> MutableCollection<D>.addOverridden(
symbol: D,
unwrapIntersectionAndSubstitutionOverride: Boolean