[Analysis API] Support non-JVM platforms in code fragments

The 'evalJs' test is not available, as there is no proper support for
klib loading in non-standalone Analysis API yet.

^KT-64197 Fixed
This commit is contained in:
Yan Zhulanow
2023-12-22 15:49:10 +09:00
committed by Space Team
parent 75abae23d8
commit 5179462632
20 changed files with 212 additions and 23 deletions
@@ -14,6 +14,8 @@ import org.jetbrains.kotlin.analysis.test.framework.services.environmentManager
import org.jetbrains.kotlin.analysis.test.framework.services.libraries.compiledLibraryProvider
import org.jetbrains.kotlin.test.model.TestModule
import org.jetbrains.kotlin.test.services.TestServices
import org.jetbrains.kotlin.platform.isMultiPlatform
import org.junit.Assume
import java.nio.file.Path
/**
@@ -21,6 +23,8 @@ import java.nio.file.Path
*/
object KtLibrarySourceModuleFactory : KtModuleFactory {
override fun createModule(testModule: TestModule, testServices: TestServices, project: Project): KtModuleWithFiles {
Assume.assumeFalse("Compilation of multi-platform libraries is not supported", testModule.targetPlatform.isMultiPlatform())
val (libraryJar, librarySourcesJar) = testServices.compiledLibraryProvider.compileToLibrary(testModule)
require(librarySourcesJar != null)