[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.KtModuleKind
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLDiagnosticProvider
|
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.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.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.LLModuleKindProvider
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLModuleProvider
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLModuleProvider
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLSimpleResolvableModuleKindProvider
|
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 {
|
private fun create(module: KtModule, factory: (KtModule) -> LLFirSession): LLFirResolvableResolveSession {
|
||||||
val moduleProvider = LLModuleProvider(module)
|
val moduleProvider = LLModuleProvider(module)
|
||||||
val sessionProvider = LLSessionProvider(module, factory)
|
val sessionProvider = LLSessionProvider(module, factory)
|
||||||
|
val moduleKindProvider = createModuleKindProvider(module)
|
||||||
val diagnosticProvider = createDiagnosticProvider(moduleProvider, sessionProvider)
|
val diagnosticProvider = createDiagnosticProvider(moduleProvider, sessionProvider)
|
||||||
|
|
||||||
|
return LLFirResolvableResolveSession(moduleProvider, moduleKindProvider, sessionProvider, diagnosticProvider)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun createModuleKindProvider(module: KtModule): LLModuleKindProvider {
|
||||||
return when (module) {
|
return when (module) {
|
||||||
is KtSourceModule -> LLFirSourceResolveSession(moduleProvider, LLSourceModuleKindProvider, sessionProvider, diagnosticProvider)
|
is KtSourceModule -> LLSourceModuleKindProvider
|
||||||
is KtLibraryModule, is KtLibrarySourceModule -> LLFirLibraryOrLibrarySourceResolvableResolveSession(moduleProvider, LLLibraryModuleKindProvider(module), sessionProvider, diagnosticProvider)
|
is KtLibraryModule, is KtLibrarySourceModule -> LLLibraryModuleKindProvider(module)
|
||||||
is KtScriptModule -> LLFirScriptResolveSession(moduleProvider, LLScriptModuleKindProvider(module), sessionProvider, diagnosticProvider)
|
is KtScriptModule -> LLScriptModuleKindProvider(module)
|
||||||
is KtNotUnderContentRootModule -> LLSimpleResolvableModuleKindProvider(moduleProvider, LLNotUnderContentRootModuleKindProvider(module), sessionProvider, diagnosticProvider)
|
is KtNotUnderContentRootModule -> LLSimpleResolvableModuleKindProvider(module)
|
||||||
else -> {
|
else -> {
|
||||||
errorWithFirSpecificEntries("Unexpected ${module::class.java}") {
|
errorWithFirSpecificEntries("Unexpected ${module::class.java}") {
|
||||||
withEntry("module", module) { it.moduleDescription }
|
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.psi.psiUtil.getElementTextWithContext
|
||||||
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
|
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
|
||||||
|
|
||||||
internal abstract class LLFirResolvableResolveSession(
|
internal class LLFirResolvableResolveSession(
|
||||||
moduleProvider: LLModuleProvider,
|
moduleProvider: LLModuleProvider,
|
||||||
moduleKindProvider: LLModuleKindProvider,
|
moduleKindProvider: LLModuleKindProvider,
|
||||||
sessionProvider: LLSessionProvider,
|
sessionProvider: LLSessionProvider,
|
||||||
@@ -53,7 +53,7 @@ internal abstract class LLFirResolvableResolveSession(
|
|||||||
return moduleComponents.firFileBuilder.buildRawFirFileWithCaching(ktFile)
|
return moduleComponents.firFileBuilder.buildRawFirFileWithCaching(ktFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun getModuleComponentsForElement(element: KtElement): LLFirModuleResolveComponents {
|
private fun getModuleComponentsForElement(element: KtElement): LLFirModuleResolveComponents {
|
||||||
val module = getModule(element)
|
val module = getModule(element)
|
||||||
return sessionProvider.getResolvableSession(module).moduleComponents
|
return sessionProvider.getResolvableSession(module).moduleComponents
|
||||||
}
|
}
|
||||||
@@ -107,7 +107,7 @@ internal abstract class LLFirResolvableResolveSession(
|
|||||||
return findDeclarationInSourceViaResolve(ktDeclaration)
|
return findDeclarationInSourceViaResolve(ktDeclaration)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun getModuleKind(module: KtModule): KtModuleKind {
|
private fun getModuleKind(module: KtModule): KtModuleKind {
|
||||||
return moduleKindProvider.getKind(module)
|
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