diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/PerModulePackageCacheService.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/PerModulePackageCacheService.kt index de491321ae3..d602a5db47b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/PerModulePackageCacheService.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/PerModulePackageCacheService.kt @@ -47,10 +47,10 @@ import org.jetbrains.kotlin.psi.psiUtil.getParentOfType import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentMap -class KotlinPackageContentModificationListener(private val project: Project) { - init { - val connection = project.messageBus.connect() +class KotlinPackageContentModificationListener(private val project: Project): Disposable { + val connection = project.messageBus.connect() + init { connection.subscribe(VirtualFileManager.VFS_CHANGES, object : BulkFileListener { override fun before(events: MutableList) = onEvents(events) override fun after(events: List) = onEvents(events) @@ -82,6 +82,10 @@ class KotlinPackageContentModificationListener(private val project: Project) { } }) } + + override fun dispose() { + connection.disconnect() + } } class KotlinPackageStatementPsiTreeChangePreprocessor(private val project: Project) : PsiTreeChangePreprocessor {