[LL API] LLFirProvider: add missing usage of SyntheticFirClassProvider for callable declarations

currently on air resolve failed for such declarations
^KT-55750
This commit is contained in:
Dmitrii Gridin
2023-02-09 17:18:05 +01:00
committed by Space Team
parent 93baad5f39
commit 06095b379f
@@ -84,11 +84,15 @@ internal class LLFirProvider(
symbol.fir.originalForSubstitutionOverride?.symbol?.let { originalSymbol -> symbol.fir.originalForSubstitutionOverride?.symbol?.let { originalSymbol ->
return originalSymbol.moduleData.session.firProvider.getFirCallableContainerFile(originalSymbol) return originalSymbol.moduleData.session.firProvider.getFirCallableContainerFile(originalSymbol)
} }
val fir = symbol.fir val fir = symbol.fir
return when { return when {
symbol is FirBackingFieldSymbol -> getFirCallableContainerFile(symbol.fir.propertySymbol) symbol is FirBackingFieldSymbol -> getFirCallableContainerFile(symbol.fir.propertySymbol)
symbol is FirSyntheticPropertySymbol && fir is FirSyntheticProperty -> getFirCallableContainerFile(fir.getter.delegate.symbol) symbol is FirSyntheticPropertySymbol && fir is FirSyntheticProperty -> getFirCallableContainerFile(fir.getter.delegate.symbol)
else -> moduleComponents.cache.getContainerFirFile(symbol.fir) else -> {
symbol.callableId.classId?.let { SyntheticFirClassProvider.getInstance(session).getFirClassifierContainerFileIfAny(it) }
?: moduleComponents.cache.getContainerFirFile(symbol.fir)
}
} }
} }