From 28627e97540d02af9dc76581e09639c3da10523c Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Tue, 9 Jun 2020 19:22:25 +0300 Subject: [PATCH] FIR: Minor. Clarify naming for unwrapping overrides --- .../org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt | 2 +- .../kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt | 2 +- .../kotlin/fir/symbols/impl/FirCallableSymbol.kt | 8 +------- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt index 005defe31d8..eb73a895323 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt @@ -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 { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt index c7afd44e6aa..f9524b3ba9d 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt @@ -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) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirCallableSymbol.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirCallableSymbol.kt index 486193222c8..59db65d5274 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirCallableSymbol.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirCallableSymbol.kt @@ -16,13 +16,7 @@ abstract class FirCallableSymbol> : AbstractFirBas get() = null } -inline fun > E.unwrapOverriddenOnce(): E { - overriddenSymbol?.let { return it as E } - - return this -} - -inline fun > E.unwrapOverridden(): E { +inline fun > E.unwrapSubstitutionOverrides(): E { var current = this while (current.overriddenSymbol != null) { current = current.overriddenSymbol as E