1818@file:Suppress(" INVISIBLE_REFERENCE" , " INVISIBLE_MEMBER" )
1919package com.google.devtools.ksp.standalone
2020
21+ import com.intellij.core.CoreApplicationEnvironment
2122import com.intellij.openapi.module.Module
23+ import com.intellij.openapi.project.Project
2224import com.intellij.openapi.vfs.VirtualFile
2325import com.intellij.psi.search.GlobalSearchScope
2426import org.jetbrains.kotlin.analysis.api.KaExperimentalApi
@@ -31,15 +33,15 @@ import org.jetbrains.kotlin.analysis.project.structure.builder.KtBinaryModuleBui
3133import org.jetbrains.kotlin.analysis.project.structure.builder.KtModuleBuilderDsl
3234import org.jetbrains.kotlin.analysis.project.structure.builder.KtModuleProviderBuilder
3335import org.jetbrains.kotlin.analysis.project.structure.impl.KaLibraryModuleImpl
34- import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreProjectEnvironment
3536import java.nio.file.Path
3637import kotlin.contracts.ExperimentalContracts
3738import kotlin.contracts.InvocationKind
3839import kotlin.contracts.contract
3940
4041@KtModuleBuilderDsl
4142open class KspLibraryModuleBuilder (
42- private val kotlinCoreProjectEnvironment : KotlinCoreProjectEnvironment
43+ private val coreApplicationEnvironment : CoreApplicationEnvironment ,
44+ private val project : Project ,
4345) : KtBinaryModuleBuilder() {
4446 public lateinit var libraryName: String
4547 public var librarySources: KaLibrarySourceModule ? = null
@@ -51,16 +53,18 @@ open class KspLibraryModuleBuilder(
5153 val binaryRoots = getBinaryRoots()
5254 val binaryVirtualFiles = getBinaryVirtualFiles()
5355 val contentScope = LibraryRootsSearchScope (
54- StandaloneProjectFactory .getVirtualFilesForLibraryRoots(binaryRoots, kotlinCoreProjectEnvironment) +
55- binaryVirtualFiles
56+ StandaloneProjectFactory .getVirtualFilesForLibraryRoots(
57+ binaryRoots,
58+ coreApplicationEnvironment,
59+ ) + binaryVirtualFiles
5660 )
5761 return KaLibraryModuleImpl (
5862 directRegularDependencies,
5963 directDependsOnDependencies,
6064 directFriendDependencies,
6165 contentScope,
6266 platform,
63- kotlinCoreProjectEnvironment. project,
67+ project,
6468 binaryRoots,
6569 binaryVirtualFiles,
6670 libraryName,
@@ -75,7 +79,7 @@ inline fun KtModuleProviderBuilder.buildKspLibraryModule(init: KspLibraryModuleB
7579 contract {
7680 callsInPlace(init , InvocationKind .EXACTLY_ONCE )
7781 }
78- return KspLibraryModuleBuilder (kotlinCoreProjectEnvironment ).apply (init ).build()
82+ return KspLibraryModuleBuilder (coreApplicationEnvironment, project ).apply (init ).build()
7983}
8084
8185internal class SimpleTrie (paths : List <String >) {
@@ -121,8 +125,9 @@ internal class LibraryRootsSearchScope(roots: List<VirtualFile>) : GlobalSearchS
121125
122126@KtModuleBuilderDsl
123127public class KspSdkModuleBuilder (
124- kotlinCoreProjectEnvironment : KotlinCoreProjectEnvironment
125- ) : KspLibraryModuleBuilder(kotlinCoreProjectEnvironment) {
128+ coreApplicationEnvironment : CoreApplicationEnvironment ,
129+ project : Project ,
130+ ) : KspLibraryModuleBuilder(coreApplicationEnvironment, project) {
126131 @OptIn(KaImplementationDetail ::class )
127132 public fun addBinaryRootsFromJdkHome (jdkHome : Path , isJre : Boolean ) {
128133 val jdkRoots = LibraryUtils .findClassesFromJdkHome(jdkHome, isJre)
@@ -137,5 +142,5 @@ public inline fun KtModuleProviderBuilder.buildKspSdkModule(init: KspSdkModuleBu
137142 contract {
138143 callsInPlace(init , InvocationKind .EXACTLY_ONCE )
139144 }
140- return KspSdkModuleBuilder (kotlinCoreProjectEnvironment ).apply (init ).build()
145+ return KspSdkModuleBuilder (coreApplicationEnvironment, project ).apply (init ).build()
141146}
0 commit comments