[LL FIR] add api to FirLazyDeclarationResolver to resolve class with callable members

^KT-56543
This commit is contained in:
Ilya Kirillov
2023-03-22 13:06:53 +01:00
committed by Space Team
parent 25cb03b707
commit 23e40693a3
4 changed files with 58 additions and 7 deletions
@@ -7,9 +7,11 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirResolvableModuleSession
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.FirLazyDeclarationResolver
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
@ThreadSafeMutableState
internal class LLFirLazyDeclarationResolver : FirLazyDeclarationResolver() {
@@ -27,4 +29,11 @@ internal class LLFirLazyDeclarationResolver : FirLazyDeclarationResolver() {
toPhase = toPhase,
)
}
override fun lazyResolveToPhaseWithCallableMembers(symbol: FirClassSymbol<*>, toPhase: FirResolvePhase) {
val fir = symbol.fir as? FirRegularClass ?: return
val session = fir.moduleData.session
if (session !is LLFirResolvableModuleSession) return
// TODO: should be implemented in the context of KT-56543
}
}