From fab51ff83cd8d78d3629333d7b21c730b473d567 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Mon, 11 Dec 2023 17:50:56 +0100 Subject: [PATCH] [Analysis API FIR] KtSymbolByFirBuilder: simplify call-site substitution override unwrap logic Not we have separate SubstitutionOverride for declaration and call site, so this logic can be simplified a lot --- .../analysis/api/fir/KtSymbolByFirBuilder.kt | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt index c0e8c6a8544..4fd43edd01e 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt @@ -542,20 +542,7 @@ internal class KtSymbolByFirBuilder( */ private inline fun T.unwrapUseSiteSubstitutionOverride(): T? { val originalDeclaration = originalForSubstitutionOverride ?: return null - - val containingClass = getContainingMemberOrSelf().getContainingClass(rootSession) ?: return null - val originalContainingClass = originalDeclaration.getContainingMemberOrSelf().getContainingClass(rootSession) ?: return null - - // If substitution override does not change the containing class of the FIR declaration, - // it is a use-site substitution override - if (containingClass != originalContainingClass) return null - - return originalDeclaration - } - - private fun FirCallableDeclaration.getContainingMemberOrSelf(): FirCallableDeclaration = when (this) { - is FirValueParameter -> containingFunctionSymbol.fir - else -> this + return originalDeclaration.takeIf { this.origin is FirDeclarationOrigin.SubstitutionOverride.CallSite } } /**