Check for batch PSI children update when invalidating package cache
#KT-17868 fixed
This commit is contained in:
+6
@@ -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<KtPackageDirective>(false) != null)
|
||||
project.service<PerModulePackageCacheService>().notifyPackageChange(file)
|
||||
}
|
||||
PsiTreeChangeEventImpl.PsiEventType.CHILDREN_CHANGED -> {
|
||||
val parent = event.parent ?: return
|
||||
if (parent.getChildrenOfType<KtPackageDirective>().any())
|
||||
project.service<PerModulePackageCacheService>().notifyPackageChange(file)
|
||||
}
|
||||
else -> {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user