[analysis] introduce KtBuiltinsModule and remove hacks related to the stdlib module search

This commit is contained in:
Ilya Kirillov
2022-07-18 23:07:06 +02:00
parent dc4527462f
commit dd00062559
29 changed files with 152 additions and 187 deletions
@@ -8,11 +8,9 @@ package org.jetbrains.kotlin.analysis.api.fir.utils
import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirBuiltinsModuleData
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirKtModuleBasedModuleData
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.firModuleData
import org.jetbrains.kotlin.analysis.project.structure.KtModule
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
import org.jetbrains.kotlin.fir.dispatchReceiverClassOrNull
import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
@@ -35,8 +33,6 @@ fun FirBasedSymbol<*>.getContainingKtModule(firResolveSession: LLFirResolveSessi
}
return when (val moduleData = target.firModuleData) {
is LLFirKtModuleBasedModuleData -> moduleData.ktModule
is LLFirBuiltinsModuleData -> firResolveSession.project.getService(ProjectStructureProvider::class.java).getStdlibWithBuiltinsModule(moduleData.platform)
?: error("Builtins not found for the $moduleData")
}
}
@@ -56,7 +56,6 @@ object AnalysisApiFirLibraryBinaryTestConfigurator : AnalysisApiTestConfigurator
project,
binaryRoots = listOf(library),
librarySources = null,
isBuitinsContainingStdlib = false,
),
decompiledFiles
)
@@ -62,7 +62,6 @@ object AnalysisApiFirLibrarySourceTestConfigurator : AnalysisApiTestConfigurator
project,
binaryRoots = listOf(libraryJar),
librarySources = null,
isBuitinsContainingStdlib = false,
)
val decompiledPsiFilesFromSourceJar = LibraryUtils.getAllPsiFilesFromTheJar(librarySourcesJar, project)