[FIR] Move Jsr305State from FirSession to separate component

This commit is contained in:
Dmitriy Novozhilov
2020-09-14 15:26:00 +03:00
parent 93d63f7c66
commit d4891cb464
7 changed files with 27 additions and 9 deletions
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionService
import org.jetbrains.kotlin.fir.extensions.FirPredicateBasedProvider
import org.jetbrains.kotlin.fir.extensions.FirRegisteredPluginAnnotations
import org.jetbrains.kotlin.fir.java.FirJavaVisibilityChecker
import org.jetbrains.kotlin.fir.java.enhancement.FirJsr305StateContainer
import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.resolve.calls.ConeCallConflictResolverFactory
import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticNamesProvider
@@ -52,10 +53,11 @@ fun FirModuleBasedSession.registerResolveComponents() {
* Resolve components which have specific implementations on JVM
*/
@OptIn(SessionConfiguration::class)
fun FirModuleBasedSession.registerJavaSpecificComponents() {
fun FirModuleBasedSession.registerJavaSpecificResolveComponents() {
register(FirVisibilityChecker::class, FirJavaVisibilityChecker)
register(ConeCallConflictResolverFactory::class, JvmCallConflictResolverFactory)
register(FirEffectiveVisibilityResolver::class, FirJvmEffectiveVisibilityResolver(this))
register(FirPlatformClassMapper::class, FirJavaClassMapper(this))
register(FirSyntheticNamesProvider::class, FirJavaSyntheticNamesProvider)
register(FirJsr305StateContainer::class, FirJsr305StateContainer.Default)
}
@@ -67,7 +67,7 @@ object FirSessionFactory {
return FirJavaModuleBasedSession(moduleInfo, sessionProvider).apply {
registerCommonComponents()
registerResolveComponents()
registerJavaSpecificComponents()
registerJavaSpecificResolveComponents()
val kotlinScopeProvider = KotlinScopeProvider(::wrapScopeWithJvmMapped)