[LL FIR] introduce tests to check lazy resolve stdlib as sources
^KTIJ-25761
This commit is contained in:
committed by
Space Team
parent
e81099ca96
commit
563f913a95
+7
-25
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* 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.
|
||||
*/
|
||||
|
||||
@@ -7,17 +7,14 @@ package org.jetbrains.kotlin.analysis.api.fir.test.configurators.library
|
||||
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.configurators.AnalysisApiBaseTestServiceRegistrar
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.configurators.AnalysisApiDecompiledCodeTestServiceRegistrar
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.configurators.AnalysisApiLibraryBaseTestServiceRegistrar
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.util.LibraryUtils
|
||||
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtModuleProjectStructure
|
||||
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtModuleWithFiles
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.compiler.based.SealedClassesInheritorsCaclulatorPreAnalysisHandler
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AnalysisApiFirTestServiceRegistrar
|
||||
import org.jetbrains.kotlin.analysis.test.framework.project.structure.KtLibraryModuleImpl
|
||||
import org.jetbrains.kotlin.analysis.test.framework.project.structure.KtLibrarySourceModuleImpl
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.createKtLibrarySourceModule
|
||||
import org.jetbrains.kotlin.analysis.test.framework.project.structure.KtModuleFactory
|
||||
import org.jetbrains.kotlin.analysis.test.framework.project.structure.TestModuleStructureFactory
|
||||
import org.jetbrains.kotlin.analysis.test.framework.services.libraries.CompiledLibraryProvider
|
||||
@@ -67,26 +64,11 @@ object AnalysisApiFirLibrarySourceTestConfigurator : AnalysisApiTestConfigurator
|
||||
private class KtLibrarySourceModuleFactory : KtModuleFactory {
|
||||
override fun createModule(testModule: TestModule, testServices: TestServices, project: Project): KtModuleWithFiles {
|
||||
val (libraryJar, librarySourcesJar) = testServices.compiledLibraryProvider.compileToLibrary(testModule)
|
||||
|
||||
val libraryKtModule = KtLibraryModuleImpl(
|
||||
testModule.name,
|
||||
testModule.targetPlatform,
|
||||
GlobalSearchScope.filesScope(project, LibraryUtils.getAllVirtualFilesFromJar(libraryJar)),
|
||||
project,
|
||||
binaryRoots = listOf(libraryJar),
|
||||
librarySources = null,
|
||||
return createKtLibrarySourceModule(
|
||||
libraryJar = libraryJar,
|
||||
librarySourcesJar = librarySourcesJar,
|
||||
testModule = testModule,
|
||||
project = project,
|
||||
)
|
||||
|
||||
val decompiledPsiFilesFromSourceJar = LibraryUtils.getAllPsiFilesFromTheJar(librarySourcesJar, project)
|
||||
val librarySourceKtModule = KtLibrarySourceModuleImpl(
|
||||
testModule.name,
|
||||
testModule.targetPlatform,
|
||||
GlobalSearchScope.filesScope(project, decompiledPsiFilesFromSourceJar.map { it.virtualFile }),
|
||||
project,
|
||||
binaryLibrary = libraryKtModule,
|
||||
)
|
||||
libraryKtModule.librarySources = librarySourceKtModule
|
||||
|
||||
return KtModuleWithFiles(librarySourceKtModule, decompiledPsiFilesFromSourceJar)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user