Refactoring: remove local function

This commit is contained in:
Nikolay Krasko
2013-12-27 20:12:05 +04:00
parent b84c1a2113
commit 4d95a29590
@@ -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) }