[LL API] Remove leaves of 'LLFirResolvableResolveSession'
This commit is contained in:
+9
-8
@@ -14,11 +14,7 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCach
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.KtModuleKind
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLDiagnosticProvider
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLEmptyDiagnosticProvider
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirLibraryOrLibrarySourceResolvableResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirNotUnderContentRootResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirResolvableResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirScriptResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirSourceResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLModuleKindProvider
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLModuleProvider
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLSimpleResolvableModuleKindProvider
|
||||
@@ -47,13 +43,18 @@ class LLFirResolveSessionService(project: Project) {
|
||||
private fun create(module: KtModule, factory: (KtModule) -> LLFirSession): LLFirResolvableResolveSession {
|
||||
val moduleProvider = LLModuleProvider(module)
|
||||
val sessionProvider = LLSessionProvider(module, factory)
|
||||
val moduleKindProvider = createModuleKindProvider(module)
|
||||
val diagnosticProvider = createDiagnosticProvider(moduleProvider, sessionProvider)
|
||||
|
||||
return LLFirResolvableResolveSession(moduleProvider, moduleKindProvider, sessionProvider, diagnosticProvider)
|
||||
}
|
||||
|
||||
private fun createModuleKindProvider(module: KtModule): LLModuleKindProvider {
|
||||
return when (module) {
|
||||
is KtSourceModule -> LLFirSourceResolveSession(moduleProvider, LLSourceModuleKindProvider, sessionProvider, diagnosticProvider)
|
||||
is KtLibraryModule, is KtLibrarySourceModule -> LLFirLibraryOrLibrarySourceResolvableResolveSession(moduleProvider, LLLibraryModuleKindProvider(module), sessionProvider, diagnosticProvider)
|
||||
is KtScriptModule -> LLFirScriptResolveSession(moduleProvider, LLScriptModuleKindProvider(module), sessionProvider, diagnosticProvider)
|
||||
is KtNotUnderContentRootModule -> LLSimpleResolvableModuleKindProvider(moduleProvider, LLNotUnderContentRootModuleKindProvider(module), sessionProvider, diagnosticProvider)
|
||||
is KtSourceModule -> LLSourceModuleKindProvider
|
||||
is KtLibraryModule, is KtLibrarySourceModule -> LLLibraryModuleKindProvider(module)
|
||||
is KtScriptModule -> LLScriptModuleKindProvider(module)
|
||||
is KtNotUnderContentRootModule -> LLSimpleResolvableModuleKindProvider(module)
|
||||
else -> {
|
||||
errorWithFirSpecificEntries("Unexpected ${module::class.java}") {
|
||||
withEntry("module", module) { it.moduleDescription }
|
||||
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.state
|
||||
|
||||
internal class LLFirLibraryOrLibrarySourceResolvableResolveSession(
|
||||
moduleProvider: LLModuleProvider,
|
||||
moduleKindProvider: LLModuleKindProvider,
|
||||
sessionProvider: LLSessionProvider,
|
||||
diagnosticProvider: LLDiagnosticProvider
|
||||
) : LLFirResolvableResolveSession(
|
||||
moduleProvider = moduleProvider,
|
||||
moduleKindProvider = moduleKindProvider,
|
||||
sessionProvider = sessionProvider,
|
||||
diagnosticProvider = diagnosticProvider
|
||||
)
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.state
|
||||
|
||||
internal class LLFirNotUnderContentRootResolveSession(
|
||||
moduleProvider: LLModuleProvider,
|
||||
moduleKindProvider: LLModuleKindProvider,
|
||||
sessionProvider: LLSessionProvider,
|
||||
diagnosticProvider: LLDiagnosticProvider
|
||||
) : LLFirResolvableResolveSession(
|
||||
moduleProvider = moduleProvider,
|
||||
moduleKindProvider = moduleKindProvider,
|
||||
sessionProvider = sessionProvider,
|
||||
diagnosticProvider = diagnosticProvider
|
||||
)
|
||||
+3
-3
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext
|
||||
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
|
||||
|
||||
internal abstract class LLFirResolvableResolveSession(
|
||||
internal class LLFirResolvableResolveSession(
|
||||
moduleProvider: LLModuleProvider,
|
||||
moduleKindProvider: LLModuleKindProvider,
|
||||
sessionProvider: LLSessionProvider,
|
||||
@@ -53,7 +53,7 @@ internal abstract class LLFirResolvableResolveSession(
|
||||
return moduleComponents.firFileBuilder.buildRawFirFileWithCaching(ktFile)
|
||||
}
|
||||
|
||||
protected fun getModuleComponentsForElement(element: KtElement): LLFirModuleResolveComponents {
|
||||
private fun getModuleComponentsForElement(element: KtElement): LLFirModuleResolveComponents {
|
||||
val module = getModule(element)
|
||||
return sessionProvider.getResolvableSession(module).moduleComponents
|
||||
}
|
||||
@@ -107,7 +107,7 @@ internal abstract class LLFirResolvableResolveSession(
|
||||
return findDeclarationInSourceViaResolve(ktDeclaration)
|
||||
}
|
||||
|
||||
protected fun getModuleKind(module: KtModule): KtModuleKind {
|
||||
private fun getModuleKind(module: KtModule): KtModuleKind {
|
||||
return moduleKindProvider.getKind(module)
|
||||
}
|
||||
|
||||
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.state
|
||||
|
||||
internal class LLFirScriptResolveSession(
|
||||
moduleProvider: LLModuleProvider,
|
||||
moduleKindProvider: LLModuleKindProvider,
|
||||
sessionProvider: LLSessionProvider,
|
||||
diagnosticProvider: LLDiagnosticProvider
|
||||
) : LLFirResolvableResolveSession(
|
||||
moduleProvider = moduleProvider,
|
||||
moduleKindProvider = moduleKindProvider,
|
||||
sessionProvider = sessionProvider,
|
||||
diagnosticProvider = diagnosticProvider
|
||||
)
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.state
|
||||
|
||||
internal class LLFirSourceResolveSession(
|
||||
moduleProvider: LLModuleProvider,
|
||||
moduleKindProvider: LLModuleKindProvider,
|
||||
sessionProvider: LLSessionProvider,
|
||||
diagnosticProvider: LLDiagnosticProvider
|
||||
) : LLFirResolvableResolveSession(
|
||||
moduleProvider = moduleProvider,
|
||||
moduleKindProvider = moduleKindProvider,
|
||||
sessionProvider = sessionProvider,
|
||||
diagnosticProvider = diagnosticProvider
|
||||
)
|
||||
Reference in New Issue
Block a user