mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] do not try to search Java inheritors from FirIdeKotlinDirectInheritorsProvider
We will still filter them out later This way we will avoid creating LC when not needed ^KTIJ-31171 fixed GitOrigin-RevId: d5040c5091962956c9950a2ac00439c72a13aefe
This commit is contained in:
committed by
intellij-monorepo-bot
parent
863696088d
commit
a82fbe461a
+1
@@ -31,6 +31,7 @@ class FirIdeKotlinDirectInheritorsProvider : KotlinDirectInheritorsProvider {
|
||||
ktClass = ktClass,
|
||||
searchScope = kotlinOnlyScope,
|
||||
includeLocal = includeLocalInheritors,
|
||||
searchOnlyInKotlin = true,
|
||||
)
|
||||
|
||||
return DirectKotlinClassInheritorsSearch.search(searchParameters).filterIsInstance<KtClassOrObject>().toList()
|
||||
|
||||
+1
@@ -22,6 +22,7 @@ private val EVERYTHING_BUT_KOTLIN = object : QueryFactory<PsiClass, DirectClassI
|
||||
internal class DirectKotlinClassDelegatedSearcher : Searcher<DirectKotlinClassInheritorsSearch.SearchParameters, PsiElement> {
|
||||
@RequiresReadLock
|
||||
override fun collectSearchRequest(parameters: DirectKotlinClassInheritorsSearch.SearchParameters): Query<out PsiElement>? {
|
||||
if (parameters.searchOnlyInKotlin) return null
|
||||
val baseClass = parameters.ktClass
|
||||
if (baseClass.isEnum()) {
|
||||
//enum inheritors may be found in the same class only, kotlin class
|
||||
|
||||
+1
@@ -23,6 +23,7 @@ object DirectKotlinClassInheritorsSearch {
|
||||
val searchScope: SearchScope,
|
||||
val includeAnonymous: Boolean = true,
|
||||
val includeLocal: Boolean = true,
|
||||
val searchOnlyInKotlin: Boolean = false,
|
||||
) : com.intellij.model.search.SearchParameters<PsiElement> {
|
||||
override fun getProject(): Project {
|
||||
return runReadAction { ktClass.project }
|
||||
|
||||
Reference in New Issue
Block a user