Extract AbstractJavaClassFinder

This commit is contained in:
baratynskiy
2017-04-07 11:18:19 +03:00
committed by Mikhail Glukhikh
parent fe9a2b30fd
commit f576f0b4a0
3 changed files with 70 additions and 48 deletions
@@ -26,7 +26,7 @@ import com.intellij.psi.search.EverythingGlobalScope
import com.intellij.psi.search.GlobalSearchScope
import com.intellij.util.containers.ConcurrentFactoryMap
import org.jetbrains.kotlin.idea.caches.resolve.ScriptModuleSearchScope
import org.jetbrains.kotlin.load.java.JavaClassFinderImpl
import org.jetbrains.kotlin.load.java.AbstractJavaClassFinder
import org.jetbrains.kotlin.resolve.jvm.KotlinSafeClassFinder
class KotlinScriptDependenciesClassFinder(project: Project,
@@ -47,7 +47,7 @@ class KotlinScriptDependenciesClassFinder(project: Project,
override fun getCache(scope: GlobalSearchScope?): PackageDirectoryCache =
(scope as? ScriptModuleSearchScope ?:
(scope as? JavaClassFinderImpl.FilterOutKotlinSourceFilesScope)?.base as? ScriptModuleSearchScope
(scope as? AbstractJavaClassFinder.FilterOutKotlinSourceFilesScope)?.base as? ScriptModuleSearchScope
)?.let {
myCaches[it.scriptFile]
} ?: super.getCache(scope)
@@ -61,7 +61,7 @@ class KotlinScriptDependenciesClassFinder(project: Project,
super.findClass(qualifiedName, scope)?.let { aClass ->
when {
scope is ScriptModuleSearchScope ||
(scope as? JavaClassFinderImpl.FilterOutKotlinSourceFilesScope)?.base is ScriptModuleSearchScope ||
(scope as? AbstractJavaClassFinder.FilterOutKotlinSourceFilesScope)?.base is ScriptModuleSearchScope ||
scope is EverythingGlobalScope ||
aClass.containingFile?.virtualFile.let { file ->
file != null &&