From 02beb72ab12f4fef4309490b40dee7de1cc31cbf Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Wed, 4 Dec 2019 14:28:30 +0700 Subject: [PATCH] IDEKotlinAsJavaSupport: fix INRE #EA-213321 Fixed --- .../idea/caches/resolve/IDEKotlinAsJavaSupport.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDEKotlinAsJavaSupport.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDEKotlinAsJavaSupport.kt index 0c29be445e7..f8910fd5cda 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDEKotlinAsJavaSupport.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDEKotlinAsJavaSupport.kt @@ -27,10 +27,11 @@ import org.jetbrains.kotlin.idea.project.platform import org.jetbrains.kotlin.idea.stubindex.* import org.jetbrains.kotlin.idea.util.ProjectRootsUtil import org.jetbrains.kotlin.idea.util.application.runReadAction +import org.jetbrains.kotlin.idea.util.runReadActionInSmartMode import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.isJvm +import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.scopes.MemberScope import org.jetbrains.kotlin.utils.sure import java.util.* @@ -39,9 +40,8 @@ class IDEKotlinAsJavaSupport(private val project: Project) : KotlinAsJavaSupport private val psiManager: PsiManager = PsiManager.getInstance(project) override fun getFacadeNames(packageFqName: FqName, scope: GlobalSearchScope): Collection { - val facadeFilesInPackage = runReadAction { - KotlinFileFacadeClassByPackageIndex.getInstance() - .get(packageFqName.asString(), project, scope) + val facadeFilesInPackage = project.runReadActionInSmartMode { + KotlinFileFacadeClassByPackageIndex.getInstance().get(packageFqName.asString(), project, scope) } return facadeFilesInPackage.map { it.javaFileFacadeFqName.shortName().asString() }.toSet() } @@ -63,7 +63,7 @@ class IDEKotlinAsJavaSupport(private val project: Project) : KotlinAsJavaSupport } override fun findClassOrObjectDeclarations(fqName: FqName, searchScope: GlobalSearchScope): Collection { - return runReadAction { + return project.runReadActionInSmartMode { KotlinFullClassNameIndex.getInstance().get( fqName.asString(), project, @@ -73,7 +73,7 @@ class IDEKotlinAsJavaSupport(private val project: Project) : KotlinAsJavaSupport } override fun findFilesForPackage(fqName: FqName, searchScope: GlobalSearchScope): Collection { - return runReadAction { + return project.runReadActionInSmartMode { PackageIndexUtil.findFilesWithExactPackage( fqName, KotlinSourceFilterScope.sourceAndClassFiles(