@@ -50,6 +50,7 @@ import com.intellij.openapi.application.runWriteAction
5050import com.intellij.openapi.project.Project
5151import com.intellij.openapi.util.Disposer
5252import com.intellij.openapi.vfs.StandardFileSystems
53+ import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem
5354import com.intellij.psi.PsiFileSystemItem
5455import com.intellij.psi.PsiJavaFile
5556import com.intellij.psi.PsiManager
@@ -464,9 +465,11 @@ class KotlinSymbolProcessing(
464465 }
465466
466467 val projectDisposable: Disposable = Disposer .newDisposable(" StandaloneAnalysisAPISession.project" )
468+ var kotlinCoreProjectEnvironment: KotlinCoreProjectEnvironment ? = null
467469 try {
468- val (analysisAPISession, kotlinCoreProjectEnvironment , modules) =
470+ val (analysisAPISession, env , modules) =
469471 createAASession(projectDisposable)
472+ kotlinCoreProjectEnvironment = env
470473 val project = analysisAPISession.project
471474 // Initializes it
472475 KSPCoreEnvironment (project as MockProject )
@@ -478,11 +481,11 @@ class KotlinSymbolProcessing(
478481
479482 // Initializing environments
480483 val javaFileManager = if (kspConfig is KSPJvmConfig ) {
481- IncrementalJavaFileManager (kotlinCoreProjectEnvironment )
484+ IncrementalJavaFileManager (env )
482485 } else null
483486
484487 val allKSFiles =
485- prepareAllKSFiles(kotlinCoreProjectEnvironment , modules, javaFileManager)
488+ prepareAllKSFiles(env , modules, javaFileManager)
486489 val anyChangesWildcard = AnyChanges (kspConfig.projectBaseDir)
487490 val codeGenerator = CodeGeneratorImpl (
488491 kspConfig.classOutputDir,
@@ -586,7 +589,7 @@ class KotlinSymbolProcessing(
586589 dropCaches()
587590
588591 newKSFiles = prepareNewKSFiles(
589- kotlinCoreProjectEnvironment ,
592+ env ,
590593 javaFileManager,
591594 codeGenerator.generatedFile.filter { it.extension.lowercase() == " kt" },
592595 codeGenerator.generatedFile.filter { it.extension.lowercase() == " java" },
@@ -620,6 +623,7 @@ class KotlinSymbolProcessing(
620623 codeGenerator.closeFiles()
621624 } finally {
622625 maybeRunInWriteAction {
626+ (kotlinCoreProjectEnvironment?.environment?.jarFileSystem as ? CoreJarFileSystem )?.clearHandlersCache()
623627 Disposer .dispose(projectDisposable)
624628 ResolverAAImpl .tearDown()
625629 KSPCoreEnvironment .tearDown()
0 commit comments