[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 ->
return originalSymbol.moduleData.session.firProvider.getFirCallableContainerFile(originalSymbol)
}
val fir = symbol.fir
return when {
symbol is FirBackingFieldSymbol -> getFirCallableContainerFile(symbol.fir.propertySymbol)
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)
}
}
}