[FIR] Extract FirSessionConfigurator and IncrementalCompilationContext to separated classes

With FirSessionFactory and FirJsSessionFactory
This commit is contained in:
Ivan Kochurkin
2022-06-23 12:55:31 +03:00
parent 94527e24e8
commit 2f56b29b3f
11 changed files with 86 additions and 61 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.FirAnalyzerFacade
import org.jetbrains.kotlin.fir.checkers.registerExtendedCommonCheckers
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
import org.jetbrains.kotlin.fir.session.FirSessionConfigurator
import org.jetbrains.kotlin.fir.session.FirSessionFactory
import org.jetbrains.kotlin.ir.backend.js.jsResolveLibraries
import org.jetbrains.kotlin.ir.backend.js.toResolverLogger
@@ -59,7 +60,7 @@ class FirFrontendFacade(
// Separate constructor is needed for creating callable references to it
constructor(testServices: TestServices) : this(testServices, additionalSessionConfiguration = null)
fun interface SessionConfiguration : (FirSessionFactory.FirSessionConfigurator) -> Unit
fun interface SessionConfiguration : (FirSessionConfigurator) -> Unit
override val additionalServices: List<ServiceRegistrationData>
get() = listOf(service(::FirModuleInfoProvider))
@@ -89,7 +90,7 @@ class FirFrontendFacade(
val configuration = compilerConfigurationProvider.getCompilerConfiguration(module)
val extensionRegistrars = FirExtensionRegistrar.getInstances(project)
val sessionConfigurator: FirSessionFactory.FirSessionConfigurator.() -> Unit = {
val sessionConfigurator: FirSessionConfigurator.() -> Unit = {
if (FirDiagnosticsDirectives.WITH_EXTENDED_CHECKERS in module.directives) {
registerExtendedCommonCheckers()
}
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.resolve.providers.impl.FirDependenciesSymbolProv
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
import org.jetbrains.kotlin.fir.session.FirAbstractSessionFactory
import org.jetbrains.kotlin.fir.session.FirSessionFactory
import org.jetbrains.kotlin.fir.session.FirSessionConfigurator
import org.jetbrains.kotlin.fir.session.KlibBasedSymbolProvider
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.name.Name