From dba9011563af6acd36075e6899300e0de1466a93 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Thu, 18 May 2017 20:45:17 +0300 Subject: [PATCH] Check for batch PSI children update when invalidating package cache #KT-17868 fixed --- .../kotlin/idea/caches/PerModulePackageCacheService.kt | 6 ++++++ 1 file changed, 6 insertions(+) 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 c1e645434fa..2fdc448796c 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 @@ -36,6 +36,7 @@ import org.jetbrains.kotlin.idea.stubindex.PackageIndexUtil import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtPackageDirective +import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType import org.jetbrains.kotlin.psi.psiUtil.getParentOfType import java.util.concurrent.ConcurrentMap @@ -73,6 +74,11 @@ class KotlinPackageStatementPsiTreeChangePreprocessor(private val project: Proje if (child.getParentOfType(false) != null) project.service().notifyPackageChange(file) } + PsiTreeChangeEventImpl.PsiEventType.CHILDREN_CHANGED -> { + val parent = event.parent ?: return + if (parent.getChildrenOfType().any()) + project.service().notifyPackageChange(file) + } else -> { } }