FIR: Minor. Clarify naming for unwrapping overrides

This commit is contained in:
Denis Zharkov
2020-06-09 19:22:25 +03:00
parent 89cbe9bf93
commit 28627e9754
3 changed files with 3 additions and 9 deletions
@@ -85,7 +85,7 @@ class FirSyntheticPropertiesScope(
private fun FirFunctionSymbol<*>.hasJavaOverridden(): Boolean {
var result = false
baseScope.processOverriddenFunctionsAndSelf(this) {
if (it.unwrapOverridden().fir.origin == FirDeclarationOrigin.Enhancement) {
if (it.unwrapSubstitutionOverrides().fir.origin == FirDeclarationOrigin.Enhancement) {
result = true
ProcessorAction.STOP
} else {
@@ -69,7 +69,7 @@ class FirClassSubstitutionScope(
functionSymbol: FirFunctionSymbol<*>,
processor: (FirFunctionSymbol<*>) -> ProcessorAction
): ProcessorAction {
val unwrapped = functionSymbol.unwrapOverriddenOnce()
val unwrapped = functionSymbol.overriddenSymbol as FirFunctionSymbol<*>? ?: functionSymbol
return useSiteMemberScope.processOverriddenFunctions(unwrapped, processor)
}
@@ -16,13 +16,7 @@ abstract class FirCallableSymbol<D : FirCallableDeclaration<D>> : AbstractFirBas
get() = null
}
inline fun <reified E : FirCallableSymbol<*>> E.unwrapOverriddenOnce(): E {
overriddenSymbol?.let { return it as E }
return this
}
inline fun <reified E : FirCallableSymbol<*>> E.unwrapOverridden(): E {
inline fun <reified E : FirCallableSymbol<*>> E.unwrapSubstitutionOverrides(): E {
var current = this
while (current.overriddenSymbol != null) {
current = current.overriddenSymbol as E