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(