KotlinDirectInheritorsSearcher: exclude library source from search
This commit is contained in:
+3
-1
@@ -28,6 +28,7 @@ import org.jetbrains.jet.plugin.stubindex.JetSuperClassIndex
|
||||
import org.jetbrains.jet.lang.resolve.*
|
||||
import java.util.Collections
|
||||
import org.jetbrains.jet.plugin.search.fileScope
|
||||
import org.jetbrains.jet.plugin.stubindex.JetSourceFilterScope
|
||||
|
||||
public open class KotlinDirectInheritorsSearcher() : QueryExecutorBase<PsiClass, DirectClassInheritorsSearch.SearchParameters>(true) {
|
||||
public override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: Processor<PsiClass>) {
|
||||
@@ -46,7 +47,8 @@ public open class KotlinDirectInheritorsSearcher() : QueryExecutorBase<PsiClass,
|
||||
if (scope == null) return
|
||||
|
||||
ApplicationManager.getApplication()?.runReadAction {
|
||||
JetSuperClassIndex.getInstance().get(name, baseClass.getProject(), scope).stream()
|
||||
val noLibrarySourceScope = JetSourceFilterScope.kotlinSourceAndClassFiles(scope, baseClass.getProject())
|
||||
JetSuperClassIndex.getInstance().get(name, baseClass.getProject(), noLibrarySourceScope).stream()
|
||||
.map { candidate -> JetSourceNavigationHelper.getOriginalPsiClassOrCreateLightClass(candidate)}
|
||||
.filterNotNull()
|
||||
.filter { candidate -> candidate.isInheritor(baseClass, false) }
|
||||
|
||||
Reference in New Issue
Block a user