From 9fbb7c5d142d02d59ba94c23caf24487584678ae Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 30 May 2018 13:48:46 +0300 Subject: [PATCH] Reformat: search\ideaExtensions package --- ...onMethodKotlinImplicitReferenceSearcher.kt | 3 +- .../KotlinAnnotatedElementsSearcher.kt | 10 ++++--- ...tlinClassesWithAnnotatedMembersSearcher.kt | 5 ++-- ...otlinConventionMethodReferencesSearcher.kt | 10 +++---- .../KotlinDefinitionsSearcher.kt | 28 +++++++++++------- .../KotlinDirectInheritorsSearcher.kt | 18 ++++++------ ...KotlinOverridingMethodReferenceSearcher.kt | 29 ++++++++++++------- ...otlinPropertyAccessorsReferenceSearcher.kt | 11 +++---- .../ideaExtensions/KotlinTodoSearcher.kt | 7 +++-- 9 files changed, 70 insertions(+), 51 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/DefaultAnnotationMethodKotlinImplicitReferenceSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/DefaultAnnotationMethodKotlinImplicitReferenceSearcher.kt index af42cbac227..24c4bcf9e72 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/DefaultAnnotationMethodKotlinImplicitReferenceSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/DefaultAnnotationMethodKotlinImplicitReferenceSearcher.kt @@ -34,7 +34,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getParentOfTypeAndBranch import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import org.jetbrains.kotlin.idea.references.KotlinDefaultAnnotationMethodImplicitReferenceContributor.ReferenceImpl as ImplicitReference -class DefaultAnnotationMethodKotlinImplicitReferenceSearcher : QueryExecutorBase(true) { +class DefaultAnnotationMethodKotlinImplicitReferenceSearcher : + QueryExecutorBase(true) { private val PsiMethod.isDefaultAnnotationMethod: Boolean get() = PsiUtil.isAnnotationMethod(this) && name == PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME && parameterList.parametersCount == 0 diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt index 15e4d99c7d8..1fd5401ed7e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt @@ -72,10 +72,12 @@ class KotlinAnnotatedElementsSearcher : QueryExecutor Boolean = { true }, - consumer: (KtDeclaration) -> Boolean): Boolean { + fun processAnnotatedMembers( + annClass: PsiClass, + useScope: SearchScope, + preFilter: (KtAnnotationEntry) -> Boolean = { true }, + consumer: (KtDeclaration) -> Boolean + ): Boolean { assert(annClass.isAnnotationType) { "Annotation type should be passed to annotated members search" } val psiBasedClassResolver = PsiBasedClassResolver.getInstance(annClass) diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinClassesWithAnnotatedMembersSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinClassesWithAnnotatedMembersSearcher.kt index 48f5d569ccb..411a400c6dd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinClassesWithAnnotatedMembersSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinClassesWithAnnotatedMembersSearcher.kt @@ -36,13 +36,12 @@ class KotlinClassesWithAnnotatedMembersSearcher : ScopedQueryExecutor() return KotlinAnnotatedElementsSearcher.processAnnotatedMembers(queryParameters.annotationClass, queryParameters.scope, - { it.getNonStrictParentOfType() !in processed}) { declaration -> + { it.getNonStrictParentOfType() !in processed }) { declaration -> val ktClass = declaration.getNonStrictParentOfType() if (ktClass != null && processed.add(ktClass)) { val lightClass = ktClass.toLightClass() if (lightClass != null) consumer.process(lightClass) else true - } - else + } else true } } diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConventionMethodReferencesSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConventionMethodReferencesSearcher.kt index e89610f844d..5dd8167371d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConventionMethodReferencesSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConventionMethodReferencesSearcher.kt @@ -25,11 +25,11 @@ import org.jetbrains.kotlin.idea.search.usagesSearch.operators.OperatorReference class KotlinConventionMethodReferencesSearcher : QueryExecutorBase(true) { override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor) { val operatorSearcher = OperatorReferenceSearcher.create( - queryParameters.method, - queryParameters.effectiveSearchScope, - consumer, - queryParameters.optimizer, - KotlinReferencesSearchOptions(acceptCallableOverrides = true) + queryParameters.method, + queryParameters.effectiveSearchScope, + consumer, + queryParameters.optimizer, + KotlinReferencesSearchOptions(acceptCallableOverrides = true) ) operatorSearcher?.run() } diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDefinitionsSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDefinitionsSearcher.kt index 00c6e27c94f..e93dfb2100f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDefinitionsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDefinitionsSearcher.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions -import com.intellij.psi.PsiClass import com.intellij.psi.PsiElement import com.intellij.psi.PsiMethod import com.intellij.psi.search.GlobalSearchScope @@ -110,21 +109,22 @@ class KotlinDefinitionsSearcher : QueryExecutor): Boolean { + private fun processLightClassLocalImplementations( + psiClass: KtLightClass, + searchScope: LocalSearchScope, + consumer: Processor + ): Boolean { // workaround for IDEA optimization that uses Java PSI traversal to locate inheritors in local search scope val virtualFiles = searchScope.scope.mapTo(HashSet()) { it.containingFile.virtualFile } val globalScope = GlobalSearchScope.filesScope(psiClass.project, virtualFiles) - return ContainerUtil.process(ClassInheritorsSearch.search(psiClass, globalScope, true), Processor { candidate -> + return ContainerUtil.process(ClassInheritorsSearch.search(psiClass, globalScope, true)) { candidate -> val candidateOrigin = candidate.unwrapped ?: candidate if (candidateOrigin in searchScope) { consumer.process(candidate) - } - else { + } else { true } - }) + } } private fun processFunctionImplementations(function: KtFunction, scope: SearchScope, consumer: Processor): Boolean { @@ -133,7 +133,11 @@ class KotlinDefinitionsSearcher : QueryExecutor): Boolean { + private fun processPropertyImplementations( + declaration: KtNamedDeclaration, + scope: SearchScope, + consumer: Processor + ): Boolean { return runReadAction { processPropertyImplementationsMethods(declaration.toPossiblyFakeLightMethods(), scope, consumer) } @@ -146,7 +150,11 @@ class KotlinDefinitionsSearcher : QueryExecutor, scope: SearchScope, consumer: Processor): Boolean { + fun processPropertyImplementationsMethods( + accessors: Iterable, + scope: SearchScope, + consumer: Processor + ): Boolean { return accessors.all { method -> method.forEachOverridingMethod(scope) { implementation -> if (isDelegated(implementation)) return@forEachOverridingMethod true diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt index 1e882273903..ce8612671dd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt @@ -49,11 +49,11 @@ open class KotlinDirectInheritorsSearcher : QueryExecutorBase KotlinSuperClassIndex.getInstance() - .get(name, baseClass.project, noLibrarySourceScope).asSequence() - .mapNotNull { candidate -> candidate.toLightClassWithBuiltinMapping() ?: KtFakeLightClass(candidate) } - .filter { candidate -> candidate.isInheritor(baseClass, false) } - .forEach { candidate -> consumer.process(candidate) } + .get(name, baseClass.project, noLibrarySourceScope).asSequence() + .mapNotNull { candidate -> candidate.toLightClassWithBuiltinMapping() ?: KtFakeLightClass(candidate) } + .filter { candidate -> candidate.isInheritor(baseClass, false) } + .forEach { candidate -> consumer.process(candidate) } } } } diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodReferenceSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodReferenceSearcher.kt index 44759bd332c..77abd649d9a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodReferenceSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodReferenceSearcher.kt @@ -63,22 +63,29 @@ class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() { val nameCandidates = getPropertyNamesCandidatesByAccessorName(Name.identifier(method.name)) for (name in nameCandidates) { p.optimizer.searchWord( - name.asString(), - searchScope, - UsageSearchContext.IN_CODE, - true, - method, - getTextOccurrenceProcessor(arrayOf(method), containingClass, false) + name.asString(), + searchScope, + UsageSearchContext.IN_CODE, + true, + method, + getTextOccurrenceProcessor(arrayOf(method), containingClass, false) ) } } } - override fun getTextOccurrenceProcessor(methods: Array, - aClass: PsiClass, - strictSignatureSearch: Boolean): MethodTextOccurrenceProcessor { - return object: MethodTextOccurrenceProcessor(aClass, strictSignatureSearch, *methods) { - override fun processInexactReference(ref: PsiReference, refElement: PsiElement?, method: PsiMethod, consumer: ExecutorProcessor): Boolean { + override fun getTextOccurrenceProcessor( + methods: Array, + aClass: PsiClass, + strictSignatureSearch: Boolean + ): MethodTextOccurrenceProcessor { + return object : MethodTextOccurrenceProcessor(aClass, strictSignatureSearch, *methods) { + override fun processInexactReference( + ref: PsiReference, + refElement: PsiElement?, + method: PsiMethod, + consumer: ExecutorProcessor + ): Boolean { val isGetter = JvmAbi.isGetterName(method.name) fun isWrongAccessorReference(): Boolean { diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinPropertyAccessorsReferenceSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinPropertyAccessorsReferenceSearcher.kt index 12c289129f7..79b141ebb27 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinPropertyAccessorsReferenceSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinPropertyAccessorsReferenceSearcher.kt @@ -42,11 +42,12 @@ class KotlinPropertyAccessorsReferenceSearcher : QueryExecutorBase