From 5950820787c601ee453331cad03441a2b49a024e Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Tue, 3 Jan 2023 14:43:11 +0100 Subject: [PATCH] [AA FIR] KtFirScopeProvider: avoid redundant resolve --- .../analysis/api/fir/components/KtFirScopeProvider.kt | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirScopeProvider.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirScopeProvider.kt index 0e8e64c4b74..17a5f4052ea 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirScopeProvider.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirScopeProvider.kt @@ -69,20 +69,15 @@ internal class KtFirScopeProvider( private inline fun KtSymbolWithMembers.withFirForScope(crossinline body: (FirClass) -> T): T? { return when (this) { - is KtFirNamedClassOrObjectSymbol -> { - firSymbol.lazyResolveToPhase(FirResolvePhase.TYPES) - body(firSymbol.fir) - } - is KtFirAnonymousObjectSymbol -> { - firSymbol.lazyResolveToPhase(FirResolvePhase.TYPES) - body(firSymbol.fir) - } + is KtFirNamedClassOrObjectSymbol -> body(firSymbol.fir) + is KtFirAnonymousObjectSymbol -> body(firSymbol.fir) is KtFirEnumEntrySymbol -> { firSymbol.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE) val initializer = firSymbol.fir.initializer ?: return null check(initializer is FirAnonymousObjectExpression) { "Unexpected enum entry initializer: ${initializer.javaClass}" } body(initializer.anonymousObject) } + else -> error { "Unknown KtSymbolWithDeclarations implementation ${this::class.qualifiedName}" } } }