[LL FIR] refactoring, remove repeated logic of registering default components in inheritors of LLFirAbstractSessionFactory
This commit is contained in:
committed by
Space Team
parent
3a90cb00c7
commit
46d5d512e5
+5
@@ -55,6 +55,7 @@ import org.jetbrains.kotlin.utils.exceptions.withPsiEntry
|
|||||||
import org.jetbrains.kotlin.utils.exceptions.withVirtualFileEntry
|
import org.jetbrains.kotlin.utils.exceptions.withVirtualFileEntry
|
||||||
import kotlin.script.experimental.host.ScriptingHostConfiguration
|
import kotlin.script.experimental.host.ScriptingHostConfiguration
|
||||||
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
||||||
|
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper.registerDefaultComponents
|
||||||
|
|
||||||
@OptIn(PrivateSessionConstructor::class, SessionConfiguration::class)
|
@OptIn(PrivateSessionConstructor::class, SessionConfiguration::class)
|
||||||
internal abstract class LLFirAbstractSessionFactory(protected val project: Project) {
|
internal abstract class LLFirAbstractSessionFactory(protected val project: Project) {
|
||||||
@@ -201,6 +202,7 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
|
|||||||
registerCommonComponentsAfterExtensionsAreConfigured()
|
registerCommonComponentsAfterExtensionsAreConfigured()
|
||||||
registerJavaComponents(JavaModuleResolver.getInstance(project))
|
registerJavaComponents(JavaModuleResolver.getInstance(project))
|
||||||
registerResolveComponents()
|
registerResolveComponents()
|
||||||
|
registerDefaultComponents()
|
||||||
|
|
||||||
val ktFile = module.file as? KtFile
|
val ktFile = module.file as? KtFile
|
||||||
|
|
||||||
@@ -269,6 +271,7 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
|
|||||||
registerIdeComponents(project)
|
registerIdeComponents(project)
|
||||||
registerCommonComponents(languageVersionSettings)
|
registerCommonComponents(languageVersionSettings)
|
||||||
registerResolveComponents()
|
registerResolveComponents()
|
||||||
|
registerDefaultComponents()
|
||||||
|
|
||||||
val firProvider = LLFirProvider(
|
val firProvider = LLFirProvider(
|
||||||
this,
|
this,
|
||||||
@@ -358,6 +361,7 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
|
|||||||
registerCommonComponents(languageVersionSettings)
|
registerCommonComponents(languageVersionSettings)
|
||||||
registerCommonComponentsAfterExtensionsAreConfigured()
|
registerCommonComponentsAfterExtensionsAreConfigured()
|
||||||
registerResolveComponents()
|
registerResolveComponents()
|
||||||
|
registerDefaultComponents()
|
||||||
|
|
||||||
val firProvider = LLFirProvider(
|
val firProvider = LLFirProvider(
|
||||||
this,
|
this,
|
||||||
@@ -489,6 +493,7 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
|
|||||||
registerIdeComponents(project)
|
registerIdeComponents(project)
|
||||||
registerCommonComponents(languageVersionSettings)
|
registerCommonComponents(languageVersionSettings)
|
||||||
registerResolveComponents()
|
registerResolveComponents()
|
||||||
|
registerDefaultComponents()
|
||||||
|
|
||||||
val firProvider = LLFirProvider(
|
val firProvider = LLFirProvider(
|
||||||
this,
|
this,
|
||||||
|
|||||||
-7
@@ -31,8 +31,6 @@ import org.jetbrains.kotlin.utils.addIfNotNull
|
|||||||
internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessionFactory(project) {
|
internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessionFactory(project) {
|
||||||
override fun createSourcesSession(module: KtSourceModule): LLFirSourcesSession {
|
override fun createSourcesSession(module: KtSourceModule): LLFirSourcesSession {
|
||||||
return doCreateSourcesSession(module) { context ->
|
return doCreateSourcesSession(module) { context ->
|
||||||
registerDefaultComponents()
|
|
||||||
|
|
||||||
register(
|
register(
|
||||||
FirSymbolProvider::class,
|
FirSymbolProvider::class,
|
||||||
LLFirModuleWithDependenciesSymbolProvider(
|
LLFirModuleWithDependenciesSymbolProvider(
|
||||||
@@ -50,8 +48,6 @@ internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessio
|
|||||||
|
|
||||||
override fun createLibrarySession(module: KtModule): LLFirLibraryOrLibrarySourceResolvableModuleSession {
|
override fun createLibrarySession(module: KtModule): LLFirLibraryOrLibrarySourceResolvableModuleSession {
|
||||||
return doCreateLibrarySession(module) { context ->
|
return doCreateLibrarySession(module) { context ->
|
||||||
registerDefaultComponents()
|
|
||||||
|
|
||||||
register(
|
register(
|
||||||
FirSymbolProvider::class,
|
FirSymbolProvider::class,
|
||||||
LLFirModuleWithDependenciesSymbolProvider(
|
LLFirModuleWithDependenciesSymbolProvider(
|
||||||
@@ -69,15 +65,12 @@ internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessio
|
|||||||
|
|
||||||
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
||||||
return doCreateBinaryLibrarySession(module) {
|
return doCreateBinaryLibrarySession(module) {
|
||||||
registerDefaultComponents()
|
|
||||||
registerPlatformSpecificComponentsIfAny(module)
|
registerPlatformSpecificComponentsIfAny(module)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createDanglingFileSession(module: KtDanglingFileModule, contextSession: LLFirSession): LLFirSession {
|
override fun createDanglingFileSession(module: KtDanglingFileModule, contextSession: LLFirSession): LLFirSession {
|
||||||
return doCreateDanglingFileSession(module, contextSession) {
|
return doCreateDanglingFileSession(module, contextSession) {
|
||||||
registerDefaultComponents()
|
|
||||||
|
|
||||||
register(
|
register(
|
||||||
FirSymbolProvider::class,
|
FirSymbolProvider::class,
|
||||||
LLFirModuleWithDependenciesSymbolProvider(
|
LLFirModuleWithDependenciesSymbolProvider(
|
||||||
|
|||||||
-5
@@ -20,13 +20,11 @@ import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider
|
|||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.session.FirJsSessionFactory.registerJsComponents
|
import org.jetbrains.kotlin.fir.session.FirJsSessionFactory.registerJsComponents
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper.registerDefaultComponents
|
|
||||||
|
|
||||||
@OptIn(SessionConfiguration::class)
|
@OptIn(SessionConfiguration::class)
|
||||||
internal class LLFirJsSessionFactory(project: Project) : LLFirAbstractSessionFactory(project) {
|
internal class LLFirJsSessionFactory(project: Project) : LLFirAbstractSessionFactory(project) {
|
||||||
override fun createSourcesSession(module: KtSourceModule): LLFirSourcesSession {
|
override fun createSourcesSession(module: KtSourceModule): LLFirSourcesSession {
|
||||||
return doCreateSourcesSession(module) { context ->
|
return doCreateSourcesSession(module) { context ->
|
||||||
registerDefaultComponents()
|
|
||||||
registerJsComponents(moduleKind = null)
|
registerJsComponents(moduleKind = null)
|
||||||
|
|
||||||
register(
|
register(
|
||||||
@@ -46,7 +44,6 @@ internal class LLFirJsSessionFactory(project: Project) : LLFirAbstractSessionFac
|
|||||||
|
|
||||||
override fun createLibrarySession(module: KtModule): LLFirLibraryOrLibrarySourceResolvableModuleSession {
|
override fun createLibrarySession(module: KtModule): LLFirLibraryOrLibrarySourceResolvableModuleSession {
|
||||||
return doCreateLibrarySession(module) { context ->
|
return doCreateLibrarySession(module) { context ->
|
||||||
registerDefaultComponents()
|
|
||||||
registerJsComponents(moduleKind = null)
|
registerJsComponents(moduleKind = null)
|
||||||
|
|
||||||
register(
|
register(
|
||||||
@@ -64,14 +61,12 @@ internal class LLFirJsSessionFactory(project: Project) : LLFirAbstractSessionFac
|
|||||||
|
|
||||||
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
||||||
return doCreateBinaryLibrarySession(module) {
|
return doCreateBinaryLibrarySession(module) {
|
||||||
registerDefaultComponents()
|
|
||||||
registerJsComponents(moduleKind = null)
|
registerJsComponents(moduleKind = null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createDanglingFileSession(module: KtDanglingFileModule, contextSession: LLFirSession): LLFirSession {
|
override fun createDanglingFileSession(module: KtDanglingFileModule, contextSession: LLFirSession): LLFirSession {
|
||||||
return doCreateDanglingFileSession(module, contextSession) {
|
return doCreateDanglingFileSession(module, contextSession) {
|
||||||
registerDefaultComponents()
|
|
||||||
registerJsComponents(moduleKind = null)
|
registerJsComponents(moduleKind = null)
|
||||||
|
|
||||||
register(
|
register(
|
||||||
|
|||||||
-5
@@ -22,14 +22,12 @@ import org.jetbrains.kotlin.fir.java.deserialization.OptionalAnnotationClassesPr
|
|||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.session.FirNativeSessionFactory.registerNativeComponents
|
import org.jetbrains.kotlin.fir.session.FirNativeSessionFactory.registerNativeComponents
|
||||||
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper.registerDefaultComponents
|
|
||||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||||
|
|
||||||
@OptIn(SessionConfiguration::class)
|
@OptIn(SessionConfiguration::class)
|
||||||
internal class LLFirNativeSessionFactory(project: Project) : LLFirAbstractSessionFactory(project) {
|
internal class LLFirNativeSessionFactory(project: Project) : LLFirAbstractSessionFactory(project) {
|
||||||
override fun createSourcesSession(module: KtSourceModule): LLFirSourcesSession {
|
override fun createSourcesSession(module: KtSourceModule): LLFirSourcesSession {
|
||||||
return doCreateSourcesSession(module) { context ->
|
return doCreateSourcesSession(module) { context ->
|
||||||
registerDefaultComponents()
|
|
||||||
registerNativeComponents()
|
registerNativeComponents()
|
||||||
|
|
||||||
register(
|
register(
|
||||||
@@ -49,7 +47,6 @@ internal class LLFirNativeSessionFactory(project: Project) : LLFirAbstractSessio
|
|||||||
|
|
||||||
override fun createLibrarySession(module: KtModule): LLFirLibraryOrLibrarySourceResolvableModuleSession {
|
override fun createLibrarySession(module: KtModule): LLFirLibraryOrLibrarySourceResolvableModuleSession {
|
||||||
return doCreateLibrarySession(module) { context ->
|
return doCreateLibrarySession(module) { context ->
|
||||||
registerDefaultComponents()
|
|
||||||
registerNativeComponents()
|
registerNativeComponents()
|
||||||
register(
|
register(
|
||||||
FirSymbolProvider::class,
|
FirSymbolProvider::class,
|
||||||
@@ -66,14 +63,12 @@ internal class LLFirNativeSessionFactory(project: Project) : LLFirAbstractSessio
|
|||||||
|
|
||||||
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
||||||
return doCreateBinaryLibrarySession(module) {
|
return doCreateBinaryLibrarySession(module) {
|
||||||
registerDefaultComponents()
|
|
||||||
registerNativeComponents()
|
registerNativeComponents()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createDanglingFileSession(module: KtDanglingFileModule, contextSession: LLFirSession): LLFirSession {
|
override fun createDanglingFileSession(module: KtDanglingFileModule, contextSession: LLFirSession): LLFirSession {
|
||||||
return doCreateDanglingFileSession(module, contextSession) {
|
return doCreateDanglingFileSession(module, contextSession) {
|
||||||
registerDefaultComponents()
|
|
||||||
registerNativeComponents()
|
registerNativeComponents()
|
||||||
|
|
||||||
register(
|
register(
|
||||||
|
|||||||
Reference in New Issue
Block a user