Refactoring: remove local function
This commit is contained in:
+10
-13
@@ -29,26 +29,23 @@ import org.jetbrains.jet.lang.resolve.*
|
|||||||
import java.util.Collections
|
import java.util.Collections
|
||||||
|
|
||||||
public open class KotlinDirectInheritorsSearcher() : QueryExecutorBase<PsiClass, DirectClassInheritorsSearch.SearchParameters>(true) {
|
public open class KotlinDirectInheritorsSearcher() : QueryExecutorBase<PsiClass, DirectClassInheritorsSearch.SearchParameters>(true) {
|
||||||
public override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: Processor<PsiClass>): Unit {
|
public override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: Processor<PsiClass>) {
|
||||||
val baseClass = queryParameters.getClassToProcess()
|
val baseClass = queryParameters.getClassToProcess()
|
||||||
if (baseClass == null) return
|
if (baseClass == null) return
|
||||||
|
|
||||||
fun candidates(): Iterator<JetClassOrObject> {
|
val name = baseClass.getName()
|
||||||
val name = baseClass.getName()
|
if (name == null) return
|
||||||
|
|
||||||
val originalScope = queryParameters.getScope()
|
val originalScope = queryParameters.getScope()
|
||||||
val scope = if (originalScope is GlobalSearchScope)
|
val scope = if (originalScope is GlobalSearchScope)
|
||||||
originalScope
|
originalScope
|
||||||
else baseClass.getContainingFile()?.let { file -> GlobalSearchScope.fileScope(file) }
|
else
|
||||||
|
baseClass.getContainingFile()?.let { file -> GlobalSearchScope.fileScope(file) }
|
||||||
|
|
||||||
if (name != null && scope != null) {
|
if (scope == null) return
|
||||||
return JetSuperClassIndex.getInstance().get(name, baseClass.getProject(), scope).iterator()
|
|
||||||
}
|
|
||||||
return Collections.emptyList<JetClassOrObject>().iterator()
|
|
||||||
}
|
|
||||||
|
|
||||||
ApplicationManager.getApplication()?.runReadAction {
|
ApplicationManager.getApplication()?.runReadAction {
|
||||||
candidates()
|
JetSuperClassIndex.getInstance().get(name, baseClass.getProject(), scope).iterator()
|
||||||
.map { candidate -> JetSourceNavigationHelper.getOriginalPsiClassOrCreateLightClass(candidate)}
|
.map { candidate -> JetSourceNavigationHelper.getOriginalPsiClassOrCreateLightClass(candidate)}
|
||||||
.filterNotNull()
|
.filterNotNull()
|
||||||
.filter { candidate -> candidate.isInheritor(baseClass, false) }
|
.filter { candidate -> candidate.isInheritor(baseClass, false) }
|
||||||
|
|||||||
Reference in New Issue
Block a user