From 1fb2b40684db6a8cb65332c5711d925deee4188c Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 13 Apr 2018 17:41:47 +0300 Subject: [PATCH] Fix 182 branch after QueryExecutor and subclasses update Parameter taking Processor were replaced with Processor. https://github.com/JetBrains/intellij-community/commit/aaed1ccb910f6f4a9ea2f96894d99b6e35a59ef9 https://github.com/JetBrains/intellij-community/commit/c6b40a53ee5b2a0807c55adafb59edb453090915 Instead of updating all usages, use ExecutorProcessor to avoid different source code for different IDEAs. --- .../kotlin/compatibility/ExecutorProcessor.kt | 14 ++++++++++ .../compatibility/ExecutorProcessor.kt.182 | 14 ++++++++++ .../declarationSearchUtil.kt | 27 ++++++++++--------- .../declarationsSearch/overridersSearch.kt | 3 ++- .../KotlinReferencesSearcher.kt | 11 +++++--- .../KotlinRequestResultProcessor.kt | 4 +-- .../ExpressionsOfTypeProcessor.kt | 5 ++-- .../ExpressionsOfTypeProcessor.kt.172 | 5 ++-- .../BinaryOperatorReferenceSearcher.kt | 4 +-- .../ContainsOperatorReferenceSearcher.kt | 4 +-- ...structuringDeclarationReferenceSearcher.kt | 4 +-- .../IndexingOperatorReferenceSearcher.kt | 4 +-- .../InvokeOperatorReferenceSearcher.kt | 4 +-- .../IteratorOperatorReferenceSearcher.kt | 4 +-- .../operators/OperatorReferenceSearcher.kt | 12 ++++----- ...ertyDelegationOperatorReferenceSearcher.kt | 4 +-- .../UnaryOperatorReferenceSearcher.kt | 4 +-- ...onMethodKotlinImplicitReferenceSearcher.kt | 6 ++--- .../KotlinAnnotatedElementsSearcher.kt | 4 +-- ...tlinClassesWithAnnotatedMembersSearcher.kt | 4 +-- ...structorDelegationCallReferenceSearcher.kt | 4 +-- ...otlinConventionMethodReferencesSearcher.kt | 4 +-- .../KotlinDefinitionsSearcher.kt | 5 ++-- .../KotlinDirectInheritorsSearcher.kt | 4 +-- ...KotlinOverridingMethodReferenceSearcher.kt | 7 +++-- ...inOverridingMethodsWithGenericsSearcher.kt | 3 ++- ...otlinPropertyAccessorsReferenceSearcher.kt | 4 +-- .../ideaExtensions/KotlinTodoSearcher.kt | 4 +-- ...ndroidExtensionsReferenceSearchExecutor.kt | 4 +-- 29 files changed, 109 insertions(+), 71 deletions(-) create mode 100644 idea/ide-common/src/org/jetbrains/kotlin/compatibility/ExecutorProcessor.kt create mode 100644 idea/ide-common/src/org/jetbrains/kotlin/compatibility/ExecutorProcessor.kt.182 diff --git a/idea/ide-common/src/org/jetbrains/kotlin/compatibility/ExecutorProcessor.kt b/idea/ide-common/src/org/jetbrains/kotlin/compatibility/ExecutorProcessor.kt new file mode 100644 index 00000000000..197d921880d --- /dev/null +++ b/idea/ide-common/src/org/jetbrains/kotlin/compatibility/ExecutorProcessor.kt @@ -0,0 +1,14 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.compatibility + +import com.intellij.util.Processor + +/** + * Processor till IDEA 181 and Processor since 182. + * BUNCH: 182 + */ +typealias ExecutorProcessor = Processor \ No newline at end of file diff --git a/idea/ide-common/src/org/jetbrains/kotlin/compatibility/ExecutorProcessor.kt.182 b/idea/ide-common/src/org/jetbrains/kotlin/compatibility/ExecutorProcessor.kt.182 new file mode 100644 index 00000000000..245123922d3 --- /dev/null +++ b/idea/ide-common/src/org/jetbrains/kotlin/compatibility/ExecutorProcessor.kt.182 @@ -0,0 +1,14 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.compatibility + +import com.intellij.util.Processor + +/** + * Processor till IDEA 181 and Processor since 182. + * BUNCH: 182 + */ +typealias ExecutorProcessor = Processor \ No newline at end of file diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/declarationSearchUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/declarationSearchUtil.kt index c04a9e4bf1a..8071e0975ee 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/declarationSearchUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/declarationSearchUtil.kt @@ -16,15 +16,18 @@ package org.jetbrains.kotlin.idea.search.declarationsSearch -import com.intellij.psi.search.SearchScope import com.intellij.openapi.application.QueryExecutorBase -import com.intellij.psi.PsiElement -import com.intellij.openapi.project.Project -import java.util.Stack -import java.util.HashSet import com.intellij.openapi.progress.ProgressIndicatorProvider -import com.intellij.util.* +import com.intellij.openapi.project.Project +import com.intellij.psi.PsiElement +import com.intellij.psi.search.SearchScope +import com.intellij.util.EmptyQuery +import com.intellij.util.Query +import com.intellij.util.QueryExecutor +import com.intellij.util.QueryFactory +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.psi.psiUtil.contains +import java.util.* interface DeclarationSearchRequest { val project: Project @@ -40,7 +43,7 @@ abstract class DeclarationsSearch> init { registerExecutor( object : QueryExecutorBase(true) { - override fun processQuery(queryParameters: R, consumer: Processor) { + override fun processQuery(queryParameters: R, consumer: ExecutorProcessor) { doSearch(queryParameters, consumer) } } @@ -51,7 +54,7 @@ abstract class DeclarationsSearch> super.registerExecutor(executor) } - protected abstract fun doSearch(request: R, consumer: Processor) + protected abstract fun doSearch(request: R, consumer: ExecutorProcessor) protected open fun isApplicable(request: R): Boolean = true fun search(request: R): Query = if (isApplicable(request)) createUniqueResultsQuery(request) else EmptyQuery.getEmptyQuery() @@ -94,7 +97,7 @@ interface HierarchyTraverser { } } -fun Processor.consumeHierarchy(request: SearchRequestWithElement, traverser: HierarchyTraverser) { +fun ExecutorProcessor.consumeHierarchy(request: SearchRequestWithElement, traverser: HierarchyTraverser) { traverser.forEach(request.originalElement) { element -> if (element in request.searchScope) { process(element) @@ -105,13 +108,13 @@ fun Processor.consumeHierarchy(request: SearchRequestWithElem abstract class HierarchySearch( protected val traverser: HierarchyTraverser ): DeclarationsSearch>() { - protected open fun doSearchAll(request: HierarchySearchRequest, consumer: Processor) { + protected open fun doSearchAll(request: HierarchySearchRequest, consumer: ExecutorProcessor) { consumer.consumeHierarchy(request, traverser) } - protected abstract fun doSearchDirect(request: HierarchySearchRequest, consumer: Processor) + protected abstract fun doSearchDirect(request: HierarchySearchRequest, consumer: ExecutorProcessor) - override fun doSearch(request: HierarchySearchRequest, consumer: Processor) { + override fun doSearch(request: HierarchySearchRequest, consumer: ExecutorProcessor) { if (request.searchDeeply) { doSearchAll(request, consumer) } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt index 7231ff957f2..c87725cc3e4 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt @@ -21,6 +21,7 @@ import com.intellij.util.Query import org.jetbrains.kotlin.asJava.getRepresentativeLightMethod import org.jetbrains.kotlin.asJava.toLightMethods import org.jetbrains.kotlin.asJava.unwrapped +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.isOverridable @@ -97,7 +98,7 @@ object KotlinPsiMethodOverridersSearch : HierarchySearch(PsiMethodOve override fun isApplicable(request: HierarchySearchRequest): Boolean = runReadAction { request.originalElement.isOverridableElement() } - override fun doSearchDirect(request: HierarchySearchRequest, consumer: Processor) { + override fun doSearchDirect(request: HierarchySearchRequest, consumer: ExecutorProcessor) { searchDirectOverriders(request.originalElement).forEach { method -> consumer.process(method) } } } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt index 847be35a8d5..22781b4dfc3 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt @@ -19,9 +19,11 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions import com.intellij.openapi.application.QueryExecutorBase import com.intellij.psi.* import com.intellij.psi.impl.cache.CacheManager -import com.intellij.psi.search.* +import com.intellij.psi.search.GlobalSearchScope +import com.intellij.psi.search.SearchRequestCollector +import com.intellij.psi.search.SearchScope +import com.intellij.psi.search.UsageSearchContext import com.intellij.psi.search.searches.ReferencesSearch -import com.intellij.util.Processor import org.jetbrains.kotlin.asJava.LightClassUtil import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightMember @@ -30,6 +32,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightParameter import org.jetbrains.kotlin.asJava.namedUnwrappedElement import org.jetbrains.kotlin.asJava.toLightClass import org.jetbrains.kotlin.asJava.toLightElements +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.idea.references.KtSimpleNameReference import org.jetbrains.kotlin.idea.search.* @@ -66,13 +69,13 @@ class KotlinReferencesSearchParameters( : ReferencesSearch.SearchParameters(elementToSearch, scope, ignoreAccessScope, optimizer) class KotlinReferencesSearcher : QueryExecutorBase() { - override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: Processor) { + override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: ExecutorProcessor) { val processor = QueryProcessor(queryParameters, consumer) runReadAction { processor.processInReadAction() } processor.executeLongRunningTasks() } - private class QueryProcessor(val queryParameters: ReferencesSearch.SearchParameters, val consumer: Processor) { + private class QueryProcessor(val queryParameters: ReferencesSearch.SearchParameters, val consumer: ExecutorProcessor) { private val kotlinOptions = (queryParameters as? KotlinReferencesSearchParameters)?.kotlinOptions ?: KotlinReferencesSearchOptions.Empty diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinRequestResultProcessor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinRequestResultProcessor.kt index fb0a57c9738..6eb7f6de5f1 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinRequestResultProcessor.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinRequestResultProcessor.kt @@ -22,7 +22,7 @@ import com.intellij.psi.PsiReference import com.intellij.psi.PsiReferenceService import com.intellij.psi.ReferenceRange import com.intellij.psi.search.RequestResultProcessor -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference import org.jetbrains.kotlin.idea.search.usagesSearch.isCallableOverrideUsage import org.jetbrains.kotlin.idea.search.usagesSearch.isExtensionOfDeclarationClassUsage @@ -38,7 +38,7 @@ class KotlinRequestResultProcessor( ) : RequestResultProcessor(unwrappedElement, originalElement, filter, options) { private val referenceService = PsiReferenceService.getService() - override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: Processor): Boolean { + override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: ExecutorProcessor): Boolean { val references = if (element is KtDestructuringDeclaration) element.entries.flatMap { referenceService.getReferences(it, PsiReferenceService.Hints.NO_HINTS) } else diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt index 9cc0ef13f0d..a6da89d2c28 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt @@ -36,13 +36,14 @@ import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.toLightClass import org.jetbrains.kotlin.caches.resolve.KotlinCacheService +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.idea.caches.resolve.analyze -import org.jetbrains.kotlin.idea.caches.resolve.util.resolveToDescriptor import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny +import org.jetbrains.kotlin.idea.caches.resolve.util.resolveToDescriptor import org.jetbrains.kotlin.idea.refactoring.fqName.getKotlinFqName import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference import org.jetbrains.kotlin.idea.search.excludeFileTypes @@ -266,7 +267,7 @@ class ExpressionsOfTypeProcessor( private class StaticMemberRequestResultProcessor(val psiMember: PsiMember, classes: List) : RequestResultProcessor(psiMember) { val possibleClassesNames: Set = runReadAction { classes.map { it.qualifiedName }.filterNotNullTo(HashSet()) } - override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: Processor): Boolean { + override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: ExecutorProcessor): Boolean { when (element) { is KtQualifiedExpression -> { val selectorExpression = element.selectorExpression ?: return true diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt.172 b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt.172 index 9cc0ef13f0d..a6da89d2c28 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt.172 +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt.172 @@ -36,13 +36,14 @@ import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.toLightClass import org.jetbrains.kotlin.caches.resolve.KotlinCacheService +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.idea.caches.resolve.analyze -import org.jetbrains.kotlin.idea.caches.resolve.util.resolveToDescriptor import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny +import org.jetbrains.kotlin.idea.caches.resolve.util.resolveToDescriptor import org.jetbrains.kotlin.idea.refactoring.fqName.getKotlinFqName import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference import org.jetbrains.kotlin.idea.search.excludeFileTypes @@ -266,7 +267,7 @@ class ExpressionsOfTypeProcessor( private class StaticMemberRequestResultProcessor(val psiMember: PsiMember, classes: List) : RequestResultProcessor(psiMember) { val possibleClassesNames: Set = runReadAction { classes.map { it.qualifiedName }.filterNotNullTo(HashSet()) } - override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: Processor): Boolean { + override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: ExecutorProcessor): Boolean { when (element) { is KtQualifiedExpression -> { val selectorExpression = element.selectorExpression ?: return true diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/BinaryOperatorReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/BinaryOperatorReferenceSearcher.kt index 2150dbbab89..26bc39166b9 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/BinaryOperatorReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/BinaryOperatorReferenceSearcher.kt @@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.psi.search.SearchRequestCollector import com.intellij.psi.search.SearchScope -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtSimpleNameReference import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions import org.jetbrains.kotlin.lexer.KtSingleValueToken @@ -33,7 +33,7 @@ class BinaryOperatorReferenceSearcher( targetFunction: PsiElement, private val operationTokens: List, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ) : OperatorReferenceSearcher(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = operationTokens.map { it.value }) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/ContainsOperatorReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/ContainsOperatorReferenceSearcher.kt index c1ae83beeed..d24f035971f 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/ContainsOperatorReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/ContainsOperatorReferenceSearcher.kt @@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.psi.search.SearchRequestCollector import com.intellij.psi.search.SearchScope -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtSimpleNameReference import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions import org.jetbrains.kotlin.lexer.KtTokens @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance class ContainsOperatorReferenceSearcher( targetFunction: PsiElement, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ) : OperatorReferenceSearcher(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("in")) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/DestructuringDeclarationReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/DestructuringDeclarationReferenceSearcher.kt index 57100d3b713..9c899dbae1c 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/DestructuringDeclarationReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/DestructuringDeclarationReferenceSearcher.kt @@ -20,8 +20,8 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.psi.search.SearchRequestCollector import com.intellij.psi.search.SearchScope -import com.intellij.util.Processor import org.jetbrains.kotlin.KtNodeTypes +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions @@ -33,7 +33,7 @@ class DestructuringDeclarationReferenceSearcher( targetDeclaration: PsiElement, private val componentIndex: Int, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ) : OperatorReferenceSearcher(targetDeclaration, searchScope, consumer, optimizer, options, wordsToSearch = listOf("(")) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/IndexingOperatorReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/IndexingOperatorReferenceSearcher.kt index 1e1df8e4304..457cee80a63 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/IndexingOperatorReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/IndexingOperatorReferenceSearcher.kt @@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.psi.search.SearchRequestCollector import com.intellij.psi.search.SearchScope -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtArrayAccessReference import org.jetbrains.kotlin.idea.references.readWriteAccess import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance class IndexingOperatorReferenceSearcher( targetFunction: PsiElement, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions, private val isSet: Boolean diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/InvokeOperatorReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/InvokeOperatorReferenceSearcher.kt index 25b906a9e19..ca8de34a01d 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/InvokeOperatorReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/InvokeOperatorReferenceSearcher.kt @@ -21,7 +21,7 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.psi.search.SearchRequestCollector import com.intellij.psi.search.SearchScope -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtInvokeFunctionReference import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions import org.jetbrains.kotlin.psi.KtCallExpression @@ -36,7 +36,7 @@ import org.jetbrains.uast.convertOpt class InvokeOperatorReferenceSearcher( targetFunction: PsiElement, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ) : OperatorReferenceSearcher(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = emptyList()) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/IteratorOperatorReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/IteratorOperatorReferenceSearcher.kt index 3d56a340e04..ec07fe15aec 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/IteratorOperatorReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/IteratorOperatorReferenceSearcher.kt @@ -20,8 +20,8 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.psi.search.SearchRequestCollector import com.intellij.psi.search.SearchScope -import com.intellij.util.Processor import org.jetbrains.kotlin.KtNodeTypes +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtForLoopInReference import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions import org.jetbrains.kotlin.psi.KtElement @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance class IteratorOperatorReferenceSearcher( targetFunction: PsiElement, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ) : OperatorReferenceSearcher(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("in")) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/OperatorReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/OperatorReferenceSearcher.kt index c62016f154e..8a78fda1c84 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/OperatorReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/OperatorReferenceSearcher.kt @@ -20,16 +20,16 @@ import com.intellij.openapi.progress.ProgressIndicatorProvider import com.intellij.openapi.progress.util.ProgressWrapper import com.intellij.psi.* import com.intellij.psi.search.* -import com.intellij.util.Processor import org.jetbrains.kotlin.asJava.elements.KtLightMethod import org.jetbrains.kotlin.asJava.namedUnwrappedElement import org.jetbrains.kotlin.asJava.toLightClass +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.idea.KotlinFileType -import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaOrKotlinMemberDescriptor import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny +import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaOrKotlinMemberDescriptor import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinRequestResultProcessor @@ -56,7 +56,7 @@ import java.util.* abstract class OperatorReferenceSearcher( protected val targetDeclaration: PsiElement, private val searchScope: SearchScope, - private val consumer: Processor, + private val consumer: ExecutorProcessor, private val optimizer: SearchRequestCollector, private val options: KotlinReferencesSearchOptions, private val wordsToSearch: List @@ -93,7 +93,7 @@ abstract class OperatorReferenceSearcher( fun create( declaration: PsiElement, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ): OperatorReferenceSearcher<*>? { @@ -108,7 +108,7 @@ abstract class OperatorReferenceSearcher( private fun createInReadAction( declaration: PsiElement, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ): OperatorReferenceSearcher<*>? { @@ -134,7 +134,7 @@ abstract class OperatorReferenceSearcher( private fun createInReadAction( declaration: PsiElement, name: Name, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions, searchScope: SearchScope diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/PropertyDelegationOperatorReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/PropertyDelegationOperatorReferenceSearcher.kt index 71106fef79f..e1707e5aba4 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/PropertyDelegationOperatorReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/PropertyDelegationOperatorReferenceSearcher.kt @@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.psi.search.SearchRequestCollector import com.intellij.psi.search.SearchScope -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtPropertyDelegationMethodsReference import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions import org.jetbrains.kotlin.psi.KtElement @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance class PropertyDelegationOperatorReferenceSearcher( targetFunction: PsiElement, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ) : OperatorReferenceSearcher(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("by")) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/UnaryOperatorReferenceSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/UnaryOperatorReferenceSearcher.kt index c6c9d026376..ca5f2d3e029 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/UnaryOperatorReferenceSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/operators/UnaryOperatorReferenceSearcher.kt @@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.psi.search.SearchRequestCollector import com.intellij.psi.search.SearchScope -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtSimpleNameReference import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions import org.jetbrains.kotlin.lexer.KtSingleValueToken @@ -33,7 +33,7 @@ class UnaryOperatorReferenceSearcher( targetFunction: PsiElement, private val operationToken: KtSingleValueToken, searchScope: SearchScope, - consumer: Processor, + consumer: ExecutorProcessor, optimizer: SearchRequestCollector, options: KotlinReferencesSearchOptions ) : OperatorReferenceSearcher(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf(operationToken.value)) { 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 01046d65863..af42cbac227 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/DefaultAnnotationMethodKotlinImplicitReferenceSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/DefaultAnnotationMethodKotlinImplicitReferenceSearcher.kt @@ -24,7 +24,7 @@ import com.intellij.psi.PsiReference import com.intellij.psi.search.searches.MethodReferencesSearch import com.intellij.psi.search.searches.ReferencesSearch import com.intellij.psi.util.PsiUtil -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtSimpleNameReference import org.jetbrains.kotlin.idea.search.restrictToKotlinSources import org.jetbrains.kotlin.idea.util.application.runReadAction @@ -38,7 +38,7 @@ class DefaultAnnotationMethodKotlinImplicitReferenceSearcher : QueryExecutorBase private val PsiMethod.isDefaultAnnotationMethod: Boolean get() = PsiUtil.isAnnotationMethod(this) && name == PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME && parameterList.parametersCount == 0 - private fun createReferenceProcessor(consumer: Processor) = object : ReadActionProcessor() { + private fun createReferenceProcessor(consumer: ExecutorProcessor) = object : ReadActionProcessor() { override fun processInReadAction(reference: PsiReference): Boolean { if (reference !is KtSimpleNameReference) return true val annotationEntry = reference.expression.getParentOfTypeAndBranch { typeReference } ?: return true @@ -48,7 +48,7 @@ class DefaultAnnotationMethodKotlinImplicitReferenceSearcher : QueryExecutorBase } } - override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor) { + override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor) { runReadAction { val method = queryParameters.method if (!method.isDefaultAnnotationMethod) return@runReadAction null 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 296cc08e590..15e4d99c7d8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt @@ -25,13 +25,13 @@ import com.intellij.psi.search.LocalSearchScope import com.intellij.psi.search.SearchScope import com.intellij.psi.search.searches.AnnotatedElementsSearch import com.intellij.psi.util.PsiUtilCore -import com.intellij.util.Processor import com.intellij.util.QueryExecutor import com.intellij.util.indexing.FileBasedIndex import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.NO_MATCH import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.UNSURE import org.jetbrains.kotlin.asJava.LightClassUtil import org.jetbrains.kotlin.asJava.toLightClass +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.search.PsiBasedClassResolver import org.jetbrains.kotlin.idea.stubindex.KotlinAnnotationsIndex @@ -45,7 +45,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode class KotlinAnnotatedElementsSearcher : QueryExecutor { - override fun execute(p: AnnotatedElementsSearch.Parameters, consumer: Processor): Boolean { + override fun execute(p: AnnotatedElementsSearch.Parameters, consumer: ExecutorProcessor): Boolean { return processAnnotatedMembers(p.annotationClass, p.scope) { declaration -> when (declaration) { is KtClass -> { 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 35ea12c5b87..48f5d569ccb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinClassesWithAnnotatedMembersSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinClassesWithAnnotatedMembersSearcher.kt @@ -20,8 +20,8 @@ import com.intellij.psi.PsiClass import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.search.searches.ClassesWithAnnotatedMembersSearch import com.intellij.psi.search.searches.ScopedQueryExecutor -import com.intellij.util.Processor import org.jetbrains.kotlin.asJava.toLightClass +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.search.allScope import org.jetbrains.kotlin.psi.KtClassOrObject @@ -32,7 +32,7 @@ class KotlinClassesWithAnnotatedMembersSearcher : ScopedQueryExecutor): Boolean { + override fun execute(queryParameters: ClassesWithAnnotatedMembersSearch.Parameters, consumer: ExecutorProcessor): Boolean { val processed = hashSetOf() return KotlinAnnotatedElementsSearcher.processAnnotatedMembers(queryParameters.annotationClass, queryParameters.scope, diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConstructorDelegationCallReferenceSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConstructorDelegationCallReferenceSearcher.kt index 6911f1ccfed..ffa31cb2c63 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConstructorDelegationCallReferenceSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConstructorDelegationCallReferenceSearcher.kt @@ -19,12 +19,12 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions import com.intellij.openapi.application.QueryExecutorBase import com.intellij.psi.PsiReference import com.intellij.psi.search.searches.MethodReferencesSearch.SearchParameters -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.idea.search.usagesSearch.processDelegationCallConstructorUsages class KotlinConstructorDelegationCallReferenceSearcher : QueryExecutorBase(true) { - override fun processQuery(queryParameters: SearchParameters, consumer: Processor) { + override fun processQuery(queryParameters: SearchParameters, consumer: ExecutorProcessor) { val method = queryParameters.method if (!method.isConstructor) return 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 9cf912b98e7..e89610f844d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConventionMethodReferencesSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinConventionMethodReferencesSearcher.kt @@ -19,11 +19,11 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions import com.intellij.openapi.application.QueryExecutorBase import com.intellij.psi.PsiReference import com.intellij.psi.search.searches.MethodReferencesSearch -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.search.usagesSearch.operators.OperatorReferenceSearcher class KotlinConventionMethodReferencesSearcher : QueryExecutorBase(true) { - override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor) { + override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor) { val operatorSearcher = OperatorReferenceSearcher.create( queryParameters.method, queryParameters.effectiveSearchScope, 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 94c7200bb7e..00c6e27c94f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDefinitionsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDefinitionsSearcher.kt @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.elements.KtLightMethod import org.jetbrains.kotlin.asJava.toLightClass import org.jetbrains.kotlin.asJava.unwrapped +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachImplementation import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachOverridingMethod @@ -43,7 +44,7 @@ import org.jetbrains.kotlin.psi.psiUtil.contains import java.util.* class KotlinDefinitionsSearcher : QueryExecutor { - override fun execute(queryParameters: DefinitionsScopedSearch.SearchParameters, consumer: Processor): Boolean { + override fun execute(queryParameters: DefinitionsScopedSearch.SearchParameters, consumer: ExecutorProcessor): Boolean { val consumer = skipDelegatedMethodsConsumer(consumer) val element = queryParameters.element val scope = queryParameters.scope @@ -83,7 +84,7 @@ class KotlinDefinitionsSearcher : QueryExecutor): Processor { + private fun skipDelegatedMethodsConsumer(baseConsumer: ExecutorProcessor): Processor { return Processor { element -> if (isDelegated(element)) { return@Processor 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 1d9a76dd424..1e882273903 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt @@ -21,8 +21,8 @@ import com.intellij.openapi.progress.ProgressManager import com.intellij.psi.PsiClass import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.search.searches.DirectClassInheritorsSearch -import com.intellij.util.Processor import org.jetbrains.kotlin.asJava.toLightClassWithBuiltinMapping +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass import org.jetbrains.kotlin.idea.search.fileScope import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.idea.stubindex.KotlinTypeAliasByExpansionShortNameIn import org.jetbrains.kotlin.idea.util.application.runReadAction open class KotlinDirectInheritorsSearcher : QueryExecutorBase(true) { - override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: Processor) { + override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: ExecutorProcessor) { val baseClass = queryParameters.classToProcess val name = baseClass.name ?: return 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 c14d30209e7..01b3444da62 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodReferenceSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodReferenceSearcher.kt @@ -24,8 +24,8 @@ import com.intellij.psi.search.UsageSearchContext import com.intellij.psi.search.searches.MethodReferencesSearch import com.intellij.psi.util.MethodSignatureUtil import com.intellij.psi.util.TypeConversionUtil -import com.intellij.util.Processor import org.jetbrains.kotlin.asJava.toLightMethods +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.references.KtSimpleNameReference import org.jetbrains.kotlin.idea.references.SyntheticPropertyAccessorReference import org.jetbrains.kotlin.idea.references.readWriteAccess @@ -38,10 +38,9 @@ import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.psi.KtNamedFunction import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.psi.KtProperty -import org.jetbrains.kotlin.utils.ifEmpty class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() { - override fun processQuery(p: MethodReferencesSearch.SearchParameters, consumer: Processor) { + override fun processQuery(p: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor) { val method = p.method val isConstructor = p.project.runReadActionInSmartMode { method.isConstructor } if (isConstructor) { @@ -79,7 +78,7 @@ class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() { aClass: PsiClass, strictSignatureSearch: Boolean): MethodTextOccurrenceProcessor { return object: MethodTextOccurrenceProcessor(aClass, strictSignatureSearch, *methods) { - override fun processInexactReference(ref: PsiReference, refElement: PsiElement?, method: PsiMethod, consumer: Processor): Boolean { + 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/KotlinOverridingMethodsWithGenericsSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodsWithGenericsSearcher.kt index a16cbf69b6f..b1f7ec53166 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodsWithGenericsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinOverridingMethodsWithGenericsSearcher.kt @@ -24,6 +24,7 @@ import com.intellij.util.Processor import com.intellij.util.QueryExecutor import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.elements.KtLightMethod +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor @@ -34,7 +35,7 @@ import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils class KotlinOverridingMethodsWithGenericsSearcher : QueryExecutor { - override fun execute(p: OverridingMethodsSearch.SearchParameters, consumer: Processor): Boolean { + override fun execute(p: OverridingMethodsSearch.SearchParameters, consumer: ExecutorProcessor): Boolean { val method = p.method if (method !is KtLightMethod) return true 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 733cc259165..12c289129f7 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinPropertyAccessorsReferenceSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinPropertyAccessorsReferenceSearcher.kt @@ -22,8 +22,8 @@ import com.intellij.psi.PsiReference import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.search.UsageSearchContext import com.intellij.psi.search.searches.MethodReferencesSearch -import com.intellij.util.Processor import org.jetbrains.kotlin.asJava.namedUnwrappedElement +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaMethodDescriptor import org.jetbrains.kotlin.idea.search.restrictToKotlinSources import org.jetbrains.kotlin.incremental.components.LookupTracker @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor import org.jetbrains.kotlin.synthetic.canBePropertyAccessor class KotlinPropertyAccessorsReferenceSearcher : QueryExecutorBase(true) { - override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor) { + override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor) { val method = queryParameters.method val onlyKotlinFiles = queryParameters.effectiveSearchScope.restrictToKotlinSources() if (onlyKotlinFiles == GlobalSearchScope.EMPTY_SCOPE) return diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinTodoSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinTodoSearcher.kt index 4e99ccf201d..f8b50f3351d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinTodoSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinTodoSearcher.kt @@ -23,7 +23,7 @@ import com.intellij.psi.impl.cache.TodoCacheManager import com.intellij.psi.search.IndexPattern import com.intellij.psi.search.IndexPatternOccurrence import com.intellij.psi.search.searches.IndexPatternSearch -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtTreeVisitorVoid @@ -34,7 +34,7 @@ data class KotlinTodoOccurrence(private val _file: PsiFile, private val _textRan } class KotlinTodoSearcher : QueryExecutorBase(true) { - override fun processQuery(queryParameters: IndexPatternSearch.SearchParameters, consumer: Processor) { + override fun processQuery(queryParameters: IndexPatternSearch.SearchParameters, consumer: ExecutorProcessor) { var pattern = queryParameters.pattern if (pattern != null && !pattern.patternString.contains("TODO", true)) return if (pattern == null) { diff --git a/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/AndroidExtensionsReferenceSearchExecutor.kt b/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/AndroidExtensionsReferenceSearchExecutor.kt index d02ad1e4c66..d8f348eb2cc 100644 --- a/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/AndroidExtensionsReferenceSearchExecutor.kt +++ b/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/AndroidExtensionsReferenceSearchExecutor.kt @@ -22,7 +22,7 @@ import com.intellij.psi.PsiReference import com.intellij.psi.search.LocalSearchScope import com.intellij.psi.search.searches.ReferencesSearch import com.intellij.psi.xml.XmlAttributeValue -import com.intellij.util.Processor +import org.jetbrains.kotlin.compatibility.ExecutorProcessor import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall import org.jetbrains.kotlin.idea.references.KtSimpleNameReference @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.source.getPsi class AndroidExtensionsReferenceSearchExecutor : QueryExecutorBase(true) { - override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: Processor) { + override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: ExecutorProcessor) { val elementToSearch = queryParameters.elementToSearch as? XmlAttributeValue ?: return val scopeElements = (queryParameters.effectiveSearchScope as? LocalSearchScope)?.scope ?: return val referenceName = elementToSearch.value?.substringAfterLast("/") ?: return