Use FirNamedFunctionSymbol around processOverriddenFunctions

This commit is contained in:
Mikhail Glukhikh
2020-12-02 17:22:18 +03:00
committed by TeamCityServer
parent 8fedfd2d2a
commit 15021f30ff
17 changed files with 97 additions and 99 deletions
@@ -55,8 +55,8 @@ class JavaAnnotationSyntheticPropertiesScope(
}
override fun processDirectOverriddenFunctionsWithBaseScope(
functionSymbol: FirFunctionSymbol<*>,
processor: (FirFunctionSymbol<*>, FirTypeScope) -> ProcessorAction
functionSymbol: FirNamedFunctionSymbol,
processor: (FirNamedFunctionSymbol, FirTypeScope) -> ProcessorAction
): ProcessorAction {
return ProcessorAction.NONE
}
@@ -36,7 +36,7 @@ class JavaClassMembersEnhancementScope(
private val owner: FirRegularClassSymbol,
private val useSiteMemberScope: JavaClassUseSiteMemberScope,
) : FirTypeScope() {
private val overriddenFunctions = mutableMapOf<FirFunctionSymbol<*>, Collection<FirFunctionSymbol<*>>>()
private val overriddenFunctions = mutableMapOf<FirNamedFunctionSymbol, Collection<FirNamedFunctionSymbol>>()
private val overriddenProperties = mutableMapOf<FirPropertySymbol, Collection<FirPropertySymbol>>()
private val overrideBindCache = mutableMapOf<Name, Map<FirCallableSymbol<*>?, List<FirCallableSymbol<*>>>>()
@@ -149,16 +149,11 @@ class JavaClassMembersEnhancementScope(
val enhancedFunction = (symbol.fir as? FirSimpleFunction)?.changeSignatureIfErasedValueParameter()
val enhancedFunctionSymbol = enhancedFunction?.symbol ?: symbol
val originalFunction = original.fir as? FirSimpleFunction
overriddenFunctions[enhancedFunctionSymbol] =
if (enhancedFunction != null && originalFunction != null)
originalFunction
.overriddenMembers(enhancedFunction.name)
.mapNotNull { it.symbol as? FirFunctionSymbol<*> }
else
emptyList()
if (enhancedFunctionSymbol is FirNamedFunctionSymbol && original is FirNamedFunctionSymbol) {
overriddenFunctions[enhancedFunctionSymbol] = original.fir
.overriddenMembers(enhancedFunctionSymbol.fir.name)
.mapNotNull { it.symbol as? FirNamedFunctionSymbol }
}
processor(enhancedFunctionSymbol)
}
@@ -188,8 +183,8 @@ class JavaClassMembersEnhancementScope(
}
override fun processDirectOverriddenFunctionsWithBaseScope(
functionSymbol: FirFunctionSymbol<*>,
processor: (FirFunctionSymbol<*>, FirTypeScope) -> ProcessorAction
functionSymbol: FirNamedFunctionSymbol,
processor: (FirNamedFunctionSymbol, FirTypeScope) -> ProcessorAction
): ProcessorAction =
doProcessDirectOverriddenCallables(
functionSymbol, processor, overriddenFunctions, useSiteMemberScope,