Skip to content

Commit 8582b33

Browse files
ting-yuanKSP Auto Pick
authored andcommitted
UPDATE_AA_VERSION: 2.2.0-dev-7255
(cherry picked from commit 2217b97)
1 parent 4a11b2d commit 8582b33

5 files changed

Lines changed: 29 additions & 21 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ junit5Version=5.8.2
99
junitPlatformVersion=1.8.2
1010
googleTruthVersion=1.1
1111

12-
aaKotlinBaseVersion=2.2.0-dev-4719
12+
aaKotlinBaseVersion=2.2.0-dev-7255
1313
aaIntellijVersion=241.19416.19
1414
aaGuavaVersion=33.2.0-jre
1515
aaAsmVersion=9.0

kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@ class KotlinSymbolProcessing(
172172
)
173173

174174
// replaces buildKtModuleProviderByCompilerConfiguration(compilerConfiguration)
175-
val projectStructureProvider = KtModuleProviderBuilder(kotlinCoreProjectEnvironment).apply {
175+
val projectStructureProvider = KtModuleProviderBuilder(
176+
kotlinCoreProjectEnvironment.environment, project
177+
).apply {
176178
val compilerConfig = compilerConfiguration
177179
val platform = when (kspConfig) {
178180
is KSPJvmConfig -> {
@@ -238,7 +240,7 @@ class KotlinSymbolProcessing(
238240
projectStructureProvider,
239241
)
240242
val ktFiles = allSourceFiles.filterIsInstance<KtFile>()
241-
val libraryRoots = StandaloneProjectFactory.getAllBinaryRoots(modules, kotlinCoreProjectEnvironment)
243+
val libraryRoots = StandaloneProjectFactory.getAllBinaryRoots(modules, kotlinCoreProjectEnvironment.environment)
242244
val createPackagePartProvider =
243245
StandaloneProjectFactory.createPackagePartsProvider(
244246
libraryRoots,
@@ -687,9 +689,9 @@ internal val DEAR_SHADOW_JAR_PLEASE_DO_NOT_REMOVE_THESE = listOf(
687689
org.jetbrains.kotlin.analysis.low.level.api.fir.services.LLRealFirElementByPsiElementChooser::class.java,
688690
org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionInvalidationService::class.java,
689691
org.jetbrains.kotlin.analysis.low.level.api.fir.symbolProviders.factories.LLStubOriginLibrarySymbolProviderFactory::class.java,
692+
org.jetbrains.kotlin.analysis.api.impl.base.java.KaBaseJavaModuleResolver::class.java,
690693
org.jetbrains.kotlin.analysis.api.impl.base.permissions.KaBaseAnalysisPermissionChecker::class.java,
691694
org.jetbrains.kotlin.analysis.api.impl.base.permissions.KaBaseAnalysisPermissionRegistry::class.java,
692-
org.jetbrains.kotlin.analysis.api.impl.base.symbols.pointers.KaBasePsiSymbolPointerCreator::class.java,
693695
org.jetbrains.kotlin.analysis.api.permissions.KaAnalysisPermissionRegistry::class.java,
694696
org.jetbrains.kotlin.analysis.api.platform.KotlinProjectMessageBusProvider::class.java,
695697
org.jetbrains.kotlin.analysis.api.platform.permissions.KaAnalysisPermissionChecker::class.java,

kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/standalone/IncrementalJavaFileManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class IncrementalJavaFileManager(val environment: KotlinCoreProjectEnvironment)
3838
val javaModuleGraph = JavaModuleGraph(javaModuleFinder)
3939
val allSourceFileRoots = sourceFiles.map { JavaRoot(it.virtualFile, JavaRoot.RootType.SOURCE) }
4040
val jdkRoots = getDefaultJdkModuleRoots(javaModuleFinder, javaModuleGraph)
41-
val libraryRoots = StandaloneProjectFactory.getAllBinaryRoots(modules, environment)
41+
val libraryRoots = StandaloneProjectFactory.getAllBinaryRoots(modules, environment.environment)
4242

4343
val rootsWithSingleJavaFileRoots = buildList {
4444
addAll(libraryRoots)

kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/standalone/KspLibraryModuleBuilder.kt

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
1919
package com.google.devtools.ksp.standalone
2020

21+
import com.intellij.core.CoreApplicationEnvironment
2122
import com.intellij.openapi.module.Module
23+
import com.intellij.openapi.project.Project
2224
import com.intellij.openapi.vfs.VirtualFile
2325
import com.intellij.psi.search.GlobalSearchScope
2426
import org.jetbrains.kotlin.analysis.api.KaExperimentalApi
@@ -31,15 +33,15 @@ import org.jetbrains.kotlin.analysis.project.structure.builder.KtBinaryModuleBui
3133
import org.jetbrains.kotlin.analysis.project.structure.builder.KtModuleBuilderDsl
3234
import org.jetbrains.kotlin.analysis.project.structure.builder.KtModuleProviderBuilder
3335
import org.jetbrains.kotlin.analysis.project.structure.impl.KaLibraryModuleImpl
34-
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreProjectEnvironment
3536
import java.nio.file.Path
3637
import kotlin.contracts.ExperimentalContracts
3738
import kotlin.contracts.InvocationKind
3839
import kotlin.contracts.contract
3940

4041
@KtModuleBuilderDsl
4142
open 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

8185
internal class SimpleTrie(paths: List<String>) {
@@ -121,8 +125,9 @@ internal class LibraryRootsSearchScope(roots: List<VirtualFile>) : GlobalSearchS
121125

122126
@KtModuleBuilderDsl
123127
public 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
}

kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/standalone/KspSourceModuleBuilder.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
1919
package com.google.devtools.ksp.standalone
2020

21+
import com.intellij.core.CoreApplicationEnvironment
2122
import com.intellij.openapi.module.Module
2223
import com.intellij.openapi.project.Project
2324
import com.intellij.openapi.vfs.VirtualFile
@@ -28,7 +29,6 @@ import org.jetbrains.kotlin.analysis.project.structure.builder.KtModuleBuilder
2829
import org.jetbrains.kotlin.analysis.project.structure.builder.KtModuleBuilderDsl
2930
import org.jetbrains.kotlin.analysis.project.structure.builder.KtModuleProviderBuilder
3031
import org.jetbrains.kotlin.analysis.project.structure.impl.KaSourceModuleImpl
31-
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreProjectEnvironment
3232
import org.jetbrains.kotlin.config.ApiVersion
3333
import org.jetbrains.kotlin.config.LanguageVersion
3434
import org.jetbrains.kotlin.config.LanguageVersionSettings
@@ -40,7 +40,8 @@ import kotlin.contracts.contract
4040

4141
@KtModuleBuilderDsl
4242
class KspModuleBuilder(
43-
private val kotlinCoreProjectEnvironment: KotlinCoreProjectEnvironment,
43+
private val coreApplicationEnvironment: CoreApplicationEnvironment,
44+
private val project: Project
4445
) : KtModuleBuilder() {
4546
public lateinit var moduleName: String
4647
public var languageVersionSettings: LanguageVersionSettings =
@@ -58,16 +59,16 @@ class KspModuleBuilder(
5859

5960
override fun build(): KaSourceModule {
6061
val virtualFiles = collectVirtualFilesByRoots()
61-
val psiManager = PsiManager.getInstance(kotlinCoreProjectEnvironment.project)
62+
val psiManager = PsiManager.getInstance(project)
6263
val psiFiles = virtualFiles.mapNotNull { psiManager.findFile(it) }
63-
val contentScope = IncrementalGlobalSearchScope(kotlinCoreProjectEnvironment.project, virtualFiles)
64+
val contentScope = IncrementalGlobalSearchScope(project, virtualFiles)
6465
return KaSourceModuleImpl(
6566
directRegularDependencies,
6667
directDependsOnDependencies,
6768
directFriendDependencies,
6869
contentScope,
6970
platform,
70-
kotlinCoreProjectEnvironment.project,
71+
project,
7172
moduleName,
7273
languageVersionSettings,
7374
psiFiles,
@@ -77,7 +78,7 @@ class KspModuleBuilder(
7778
val analyzableExtensions = setOf("kt", "java", "kts")
7879

7980
private fun collectVirtualFilesByRoots(): Set<VirtualFile> {
80-
val localFileSystem = kotlinCoreProjectEnvironment.environment.localFileSystem
81+
val localFileSystem = coreApplicationEnvironment.localFileSystem
8182
return buildSet {
8283
for (root in sourceRoots) {
8384
val files = root.toFile().walk().filter {
@@ -115,5 +116,5 @@ public inline fun KtModuleProviderBuilder.buildKspSourceModule(
115116
contract {
116117
callsInPlace(init, InvocationKind.EXACTLY_ONCE)
117118
}
118-
return KspModuleBuilder(kotlinCoreProjectEnvironment).apply(init).build()
119+
return KspModuleBuilder(coreApplicationEnvironment, project).apply(init).build()
119120
}

0 commit comments

Comments
 (0)