[Low Level FIR] introduce service for incoming psi modifications processing

This service encapsulates all logic and simplifies future evolution

^KT-60610
This commit is contained in:
Dmitrii Gridin
2023-08-29 14:19:46 +02:00
committed by Space Team
parent 6169834bb3
commit 99307f97e9
6 changed files with 153 additions and 39 deletions
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider
import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirGlobalResolveComponents
import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirInternals
import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirResolveSessionService
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.LLFirDeclarationModificationService
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.JvmFirDeserializedSymbolProviderFactory
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirBuiltinsSessionFactory
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache
@@ -60,6 +61,8 @@ object FirStandaloneServiceRegistrar : AnalysisApiStandaloneServiceRegistrar {
registerService(LLFirSessionInvalidationService::class.java)
LLFirSessionInvalidationService.getInstance(project).subscribeToModificationEvents()
registerService(LLFirDeclarationModificationService::class.java)
}
}