diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProvider.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProvider.kt index 5f0b04bc759..57828dacbc6 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProvider.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProvider.kt @@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.originalForSubstitutionOverride import org.jetbrains.kotlin.fir.resolve.providers.FirProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals +import org.jetbrains.kotlin.fir.resolve.providers.firProvider import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName @@ -66,8 +67,8 @@ internal class LLFirProvider( override fun getFirCallableContainerFile(symbol: FirCallableSymbol<*>): FirFile? { - symbol.fir.originalForSubstitutionOverride?.symbol?.let { - return getFirCallableContainerFile(it) + symbol.fir.originalForSubstitutionOverride?.symbol?.let { originalSymbol -> + return originalSymbol.moduleData.session.firProvider.getFirCallableContainerFile(originalSymbol) } val fir = symbol.fir return when { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirProviderImpl.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirProviderImpl.kt index 7400f45076f..110f05257ab 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirProviderImpl.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirProviderImpl.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty import org.jetbrains.kotlin.fir.resolve.providers.FirProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals +import org.jetbrains.kotlin.fir.resolve.providers.firProvider import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.visitors.FirDefaultVisitor @@ -22,8 +23,8 @@ class FirProviderImpl(val session: FirSession, val kotlinScopeProvider: FirKotli override val symbolProvider: FirSymbolProvider = SymbolProvider() override fun getFirCallableContainerFile(symbol: FirCallableSymbol<*>): FirFile? { - symbol.originalIfFakeOverride()?.let { - return getFirCallableContainerFile(it) + symbol.originalIfFakeOverride()?.let { originalSymbol -> + return originalSymbol.moduleData.session.firProvider.getFirCallableContainerFile(originalSymbol) } if (symbol is FirBackingFieldSymbol) { return getFirCallableContainerFile(symbol.fir.propertySymbol)