Fix 182 branch after QueryExecutor and subclasses update
Parameter taking Processor<T> were replaced with Processor<? super T>. 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.
This commit is contained in:
@@ -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<T> till IDEA 181 and Processor<in T> since 182.
|
||||||
|
* BUNCH: 182
|
||||||
|
*/
|
||||||
|
typealias ExecutorProcessor<T> = Processor<T>
|
||||||
@@ -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<T> till IDEA 181 and Processor<in T> since 182.
|
||||||
|
* BUNCH: 182
|
||||||
|
*/
|
||||||
|
typealias ExecutorProcessor<T> = Processor<in T>
|
||||||
+15
-12
@@ -16,15 +16,18 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.search.declarationsSearch
|
package org.jetbrains.kotlin.idea.search.declarationsSearch
|
||||||
|
|
||||||
import com.intellij.psi.search.SearchScope
|
|
||||||
import com.intellij.openapi.application.QueryExecutorBase
|
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.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 org.jetbrains.kotlin.psi.psiUtil.contains
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
interface DeclarationSearchRequest<in T> {
|
interface DeclarationSearchRequest<in T> {
|
||||||
val project: Project
|
val project: Project
|
||||||
@@ -40,7 +43,7 @@ abstract class DeclarationsSearch<T: PsiElement, R: DeclarationSearchRequest<T>>
|
|||||||
init {
|
init {
|
||||||
registerExecutor(
|
registerExecutor(
|
||||||
object : QueryExecutorBase<T, R>(true) {
|
object : QueryExecutorBase<T, R>(true) {
|
||||||
override fun processQuery(queryParameters: R, consumer: Processor<T>) {
|
override fun processQuery(queryParameters: R, consumer: ExecutorProcessor<T>) {
|
||||||
doSearch(queryParameters, consumer)
|
doSearch(queryParameters, consumer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -51,7 +54,7 @@ abstract class DeclarationsSearch<T: PsiElement, R: DeclarationSearchRequest<T>>
|
|||||||
super.registerExecutor(executor)
|
super.registerExecutor(executor)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun doSearch(request: R, consumer: Processor<T>)
|
protected abstract fun doSearch(request: R, consumer: ExecutorProcessor<T>)
|
||||||
protected open fun isApplicable(request: R): Boolean = true
|
protected open fun isApplicable(request: R): Boolean = true
|
||||||
|
|
||||||
fun search(request: R): Query<T> = if (isApplicable(request)) createUniqueResultsQuery(request) else EmptyQuery.getEmptyQuery<T>()
|
fun search(request: R): Query<T> = if (isApplicable(request)) createUniqueResultsQuery(request) else EmptyQuery.getEmptyQuery<T>()
|
||||||
@@ -94,7 +97,7 @@ interface HierarchyTraverser<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T: PsiElement> Processor<T>.consumeHierarchy(request: SearchRequestWithElement<T>, traverser: HierarchyTraverser<T>) {
|
fun <T: PsiElement> ExecutorProcessor<T>.consumeHierarchy(request: SearchRequestWithElement<T>, traverser: HierarchyTraverser<T>) {
|
||||||
traverser.forEach(request.originalElement) { element ->
|
traverser.forEach(request.originalElement) { element ->
|
||||||
if (element in request.searchScope) {
|
if (element in request.searchScope) {
|
||||||
process(element)
|
process(element)
|
||||||
@@ -105,13 +108,13 @@ fun <T: PsiElement> Processor<T>.consumeHierarchy(request: SearchRequestWithElem
|
|||||||
abstract class HierarchySearch<T: PsiElement>(
|
abstract class HierarchySearch<T: PsiElement>(
|
||||||
protected val traverser: HierarchyTraverser<T>
|
protected val traverser: HierarchyTraverser<T>
|
||||||
): DeclarationsSearch<T, HierarchySearchRequest<T>>() {
|
): DeclarationsSearch<T, HierarchySearchRequest<T>>() {
|
||||||
protected open fun doSearchAll(request: HierarchySearchRequest<T>, consumer: Processor<T>) {
|
protected open fun doSearchAll(request: HierarchySearchRequest<T>, consumer: ExecutorProcessor<T>) {
|
||||||
consumer.consumeHierarchy(request, traverser)
|
consumer.consumeHierarchy(request, traverser)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun doSearchDirect(request: HierarchySearchRequest<T>, consumer: Processor<T>)
|
protected abstract fun doSearchDirect(request: HierarchySearchRequest<T>, consumer: ExecutorProcessor<T>)
|
||||||
|
|
||||||
override fun doSearch(request: HierarchySearchRequest<T>, consumer: Processor<T>) {
|
override fun doSearch(request: HierarchySearchRequest<T>, consumer: ExecutorProcessor<T>) {
|
||||||
if (request.searchDeeply) {
|
if (request.searchDeeply) {
|
||||||
doSearchAll(request, consumer)
|
doSearchAll(request, consumer)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -21,6 +21,7 @@ import com.intellij.util.Query
|
|||||||
import org.jetbrains.kotlin.asJava.getRepresentativeLightMethod
|
import org.jetbrains.kotlin.asJava.getRepresentativeLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.toLightMethods
|
import org.jetbrains.kotlin.asJava.toLightMethods
|
||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
import org.jetbrains.kotlin.asJava.unwrapped
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.isOverridable
|
import org.jetbrains.kotlin.descriptors.isOverridable
|
||||||
@@ -97,7 +98,7 @@ object KotlinPsiMethodOverridersSearch : HierarchySearch<PsiMethod>(PsiMethodOve
|
|||||||
override fun isApplicable(request: HierarchySearchRequest<PsiMethod>): Boolean =
|
override fun isApplicable(request: HierarchySearchRequest<PsiMethod>): Boolean =
|
||||||
runReadAction { request.originalElement.isOverridableElement() }
|
runReadAction { request.originalElement.isOverridableElement() }
|
||||||
|
|
||||||
override fun doSearchDirect(request: HierarchySearchRequest<PsiMethod>, consumer: Processor<PsiMethod>) {
|
override fun doSearchDirect(request: HierarchySearchRequest<PsiMethod>, consumer: ExecutorProcessor<PsiMethod>) {
|
||||||
searchDirectOverriders(request.originalElement).forEach { method -> consumer.process(method) }
|
searchDirectOverriders(request.originalElement).forEach { method -> consumer.process(method) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-4
@@ -19,9 +19,11 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions
|
|||||||
import com.intellij.openapi.application.QueryExecutorBase
|
import com.intellij.openapi.application.QueryExecutorBase
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.impl.cache.CacheManager
|
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.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightField
|
import org.jetbrains.kotlin.asJava.elements.KtLightField
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMember
|
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.namedUnwrappedElement
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.asJava.toLightElements
|
import org.jetbrains.kotlin.asJava.toLightElements
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.*
|
import org.jetbrains.kotlin.idea.search.*
|
||||||
@@ -66,13 +69,13 @@ class KotlinReferencesSearchParameters(
|
|||||||
: ReferencesSearch.SearchParameters(elementToSearch, scope, ignoreAccessScope, optimizer)
|
: ReferencesSearch.SearchParameters(elementToSearch, scope, ignoreAccessScope, optimizer)
|
||||||
|
|
||||||
class KotlinReferencesSearcher : QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters>() {
|
class KotlinReferencesSearcher : QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters>() {
|
||||||
override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: Processor<PsiReference>) {
|
override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
||||||
val processor = QueryProcessor(queryParameters, consumer)
|
val processor = QueryProcessor(queryParameters, consumer)
|
||||||
runReadAction { processor.processInReadAction() }
|
runReadAction { processor.processInReadAction() }
|
||||||
processor.executeLongRunningTasks()
|
processor.executeLongRunningTasks()
|
||||||
}
|
}
|
||||||
|
|
||||||
private class QueryProcessor(val queryParameters: ReferencesSearch.SearchParameters, val consumer: Processor<PsiReference>) {
|
private class QueryProcessor(val queryParameters: ReferencesSearch.SearchParameters, val consumer: ExecutorProcessor<PsiReference>) {
|
||||||
|
|
||||||
private val kotlinOptions = (queryParameters as? KotlinReferencesSearchParameters)?.kotlinOptions
|
private val kotlinOptions = (queryParameters as? KotlinReferencesSearchParameters)?.kotlinOptions
|
||||||
?: KotlinReferencesSearchOptions.Empty
|
?: KotlinReferencesSearchOptions.Empty
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.PsiReferenceService
|
import com.intellij.psi.PsiReferenceService
|
||||||
import com.intellij.psi.ReferenceRange
|
import com.intellij.psi.ReferenceRange
|
||||||
import com.intellij.psi.search.RequestResultProcessor
|
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.references.KtDestructuringDeclarationReference
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.isCallableOverrideUsage
|
import org.jetbrains.kotlin.idea.search.usagesSearch.isCallableOverrideUsage
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.isExtensionOfDeclarationClassUsage
|
import org.jetbrains.kotlin.idea.search.usagesSearch.isExtensionOfDeclarationClassUsage
|
||||||
@@ -38,7 +38,7 @@ class KotlinRequestResultProcessor(
|
|||||||
) : RequestResultProcessor(unwrappedElement, originalElement, filter, options) {
|
) : RequestResultProcessor(unwrappedElement, originalElement, filter, options) {
|
||||||
private val referenceService = PsiReferenceService.getService()
|
private val referenceService = PsiReferenceService.getService()
|
||||||
|
|
||||||
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: Processor<PsiReference>): Boolean {
|
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: ExecutorProcessor<PsiReference>): Boolean {
|
||||||
val references = if (element is KtDestructuringDeclaration)
|
val references = if (element is KtDestructuringDeclaration)
|
||||||
element.entries.flatMap { referenceService.getReferences(it, PsiReferenceService.Hints.NO_HINTS) }
|
element.entries.flatMap { referenceService.getReferences(it, PsiReferenceService.Hints.NO_HINTS) }
|
||||||
else
|
else
|
||||||
|
|||||||
+3
-2
@@ -36,13 +36,14 @@ import org.jetbrains.kotlin.KtNodeTypes
|
|||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils
|
import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
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.resolveToDescriptorIfAny
|
||||||
|
import org.jetbrains.kotlin.idea.caches.resolve.util.resolveToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.refactoring.fqName.getKotlinFqName
|
import org.jetbrains.kotlin.idea.refactoring.fqName.getKotlinFqName
|
||||||
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
||||||
import org.jetbrains.kotlin.idea.search.excludeFileTypes
|
import org.jetbrains.kotlin.idea.search.excludeFileTypes
|
||||||
@@ -266,7 +267,7 @@ class ExpressionsOfTypeProcessor(
|
|||||||
private class StaticMemberRequestResultProcessor(val psiMember: PsiMember, classes: List<PsiClass>) : RequestResultProcessor(psiMember) {
|
private class StaticMemberRequestResultProcessor(val psiMember: PsiMember, classes: List<PsiClass>) : RequestResultProcessor(psiMember) {
|
||||||
val possibleClassesNames: Set<String> = runReadAction { classes.map { it.qualifiedName }.filterNotNullTo(HashSet()) }
|
val possibleClassesNames: Set<String> = runReadAction { classes.map { it.qualifiedName }.filterNotNullTo(HashSet()) }
|
||||||
|
|
||||||
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: Processor<PsiReference>): Boolean {
|
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: ExecutorProcessor<PsiReference>): Boolean {
|
||||||
when (element) {
|
when (element) {
|
||||||
is KtQualifiedExpression -> {
|
is KtQualifiedExpression -> {
|
||||||
val selectorExpression = element.selectorExpression ?: return true
|
val selectorExpression = element.selectorExpression ?: return true
|
||||||
|
|||||||
+3
-2
@@ -36,13 +36,14 @@ import org.jetbrains.kotlin.KtNodeTypes
|
|||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils
|
import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
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.resolveToDescriptorIfAny
|
||||||
|
import org.jetbrains.kotlin.idea.caches.resolve.util.resolveToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.refactoring.fqName.getKotlinFqName
|
import org.jetbrains.kotlin.idea.refactoring.fqName.getKotlinFqName
|
||||||
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
||||||
import org.jetbrains.kotlin.idea.search.excludeFileTypes
|
import org.jetbrains.kotlin.idea.search.excludeFileTypes
|
||||||
@@ -266,7 +267,7 @@ class ExpressionsOfTypeProcessor(
|
|||||||
private class StaticMemberRequestResultProcessor(val psiMember: PsiMember, classes: List<PsiClass>) : RequestResultProcessor(psiMember) {
|
private class StaticMemberRequestResultProcessor(val psiMember: PsiMember, classes: List<PsiClass>) : RequestResultProcessor(psiMember) {
|
||||||
val possibleClassesNames: Set<String> = runReadAction { classes.map { it.qualifiedName }.filterNotNullTo(HashSet()) }
|
val possibleClassesNames: Set<String> = runReadAction { classes.map { it.qualifiedName }.filterNotNullTo(HashSet()) }
|
||||||
|
|
||||||
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: Processor<PsiReference>): Boolean {
|
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: ExecutorProcessor<PsiReference>): Boolean {
|
||||||
when (element) {
|
when (element) {
|
||||||
is KtQualifiedExpression -> {
|
is KtQualifiedExpression -> {
|
||||||
val selectorExpression = element.selectorExpression ?: return true
|
val selectorExpression = element.selectorExpression ?: return true
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
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.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
||||||
@@ -33,7 +33,7 @@ class BinaryOperatorReferenceSearcher(
|
|||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
private val operationTokens: List<KtSingleValueToken>,
|
private val operationTokens: List<KtSingleValueToken>,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtBinaryExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = operationTokens.map { it.value }) {
|
) : OperatorReferenceSearcher<KtBinaryExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = operationTokens.map { it.value }) {
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
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.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
|||||||
class ContainsOperatorReferenceSearcher(
|
class ContainsOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtOperationReferenceExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("in")) {
|
) : OperatorReferenceSearcher<KtOperationReferenceExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("in")) {
|
||||||
|
|||||||
+2
-2
@@ -20,8 +20,8 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.KtNodeTypes
|
import org.jetbrains.kotlin.KtNodeTypes
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
@@ -33,7 +33,7 @@ class DestructuringDeclarationReferenceSearcher(
|
|||||||
targetDeclaration: PsiElement,
|
targetDeclaration: PsiElement,
|
||||||
private val componentIndex: Int,
|
private val componentIndex: Int,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtDestructuringDeclaration>(targetDeclaration, searchScope, consumer, optimizer, options, wordsToSearch = listOf("(")) {
|
) : OperatorReferenceSearcher<KtDestructuringDeclaration>(targetDeclaration, searchScope, consumer, optimizer, options, wordsToSearch = listOf("(")) {
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
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.KtArrayAccessReference
|
||||||
import org.jetbrains.kotlin.idea.references.readWriteAccess
|
import org.jetbrains.kotlin.idea.references.readWriteAccess
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
|||||||
class IndexingOperatorReferenceSearcher(
|
class IndexingOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions,
|
options: KotlinReferencesSearchOptions,
|
||||||
private val isSet: Boolean
|
private val isSet: Boolean
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
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.references.KtInvokeFunctionReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||||
@@ -36,7 +36,7 @@ import org.jetbrains.uast.convertOpt
|
|||||||
class InvokeOperatorReferenceSearcher(
|
class InvokeOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtCallExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = emptyList()) {
|
) : OperatorReferenceSearcher<KtCallExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = emptyList()) {
|
||||||
|
|||||||
+2
-2
@@ -20,8 +20,8 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.KtNodeTypes
|
import org.jetbrains.kotlin.KtNodeTypes
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.idea.references.KtForLoopInReference
|
import org.jetbrains.kotlin.idea.references.KtForLoopInReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
|||||||
class IteratorOperatorReferenceSearcher(
|
class IteratorOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtForExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("in")) {
|
) : OperatorReferenceSearcher<KtForExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("in")) {
|
||||||
|
|||||||
+6
-6
@@ -20,16 +20,16 @@ import com.intellij.openapi.progress.ProgressIndicatorProvider
|
|||||||
import com.intellij.openapi.progress.util.ProgressWrapper
|
import com.intellij.openapi.progress.util.ProgressWrapper
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.search.*
|
import com.intellij.psi.search.*
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
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.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
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.codeInsight.DescriptorToSourceUtilsIde
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinRequestResultProcessor
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinRequestResultProcessor
|
||||||
@@ -56,7 +56,7 @@ import java.util.*
|
|||||||
abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
||||||
protected val targetDeclaration: PsiElement,
|
protected val targetDeclaration: PsiElement,
|
||||||
private val searchScope: SearchScope,
|
private val searchScope: SearchScope,
|
||||||
private val consumer: Processor<PsiReference>,
|
private val consumer: ExecutorProcessor<PsiReference>,
|
||||||
private val optimizer: SearchRequestCollector,
|
private val optimizer: SearchRequestCollector,
|
||||||
private val options: KotlinReferencesSearchOptions,
|
private val options: KotlinReferencesSearchOptions,
|
||||||
private val wordsToSearch: List<String>
|
private val wordsToSearch: List<String>
|
||||||
@@ -93,7 +93,7 @@ abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
|||||||
fun create(
|
fun create(
|
||||||
declaration: PsiElement,
|
declaration: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
): OperatorReferenceSearcher<*>? {
|
): OperatorReferenceSearcher<*>? {
|
||||||
@@ -108,7 +108,7 @@ abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
|||||||
private fun createInReadAction(
|
private fun createInReadAction(
|
||||||
declaration: PsiElement,
|
declaration: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
): OperatorReferenceSearcher<*>? {
|
): OperatorReferenceSearcher<*>? {
|
||||||
@@ -134,7 +134,7 @@ abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
|||||||
private fun createInReadAction(
|
private fun createInReadAction(
|
||||||
declaration: PsiElement,
|
declaration: PsiElement,
|
||||||
name: Name,
|
name: Name,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions,
|
options: KotlinReferencesSearchOptions,
|
||||||
searchScope: SearchScope
|
searchScope: SearchScope
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
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.references.KtPropertyDelegationMethodsReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
|||||||
class PropertyDelegationOperatorReferenceSearcher(
|
class PropertyDelegationOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtPropertyDelegate>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("by")) {
|
) : OperatorReferenceSearcher<KtPropertyDelegate>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("by")) {
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
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.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
||||||
@@ -33,7 +33,7 @@ class UnaryOperatorReferenceSearcher(
|
|||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
private val operationToken: KtSingleValueToken,
|
private val operationToken: KtSingleValueToken,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: Processor<PsiReference>,
|
consumer: ExecutorProcessor<PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtUnaryExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf(operationToken.value)) {
|
) : OperatorReferenceSearcher<KtUnaryExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf(operationToken.value)) {
|
||||||
|
|||||||
+3
-3
@@ -24,7 +24,7 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.psi.util.PsiUtil
|
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.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
@@ -38,7 +38,7 @@ class DefaultAnnotationMethodKotlinImplicitReferenceSearcher : QueryExecutorBase
|
|||||||
private val PsiMethod.isDefaultAnnotationMethod: Boolean
|
private val PsiMethod.isDefaultAnnotationMethod: Boolean
|
||||||
get() = PsiUtil.isAnnotationMethod(this) && name == PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME && parameterList.parametersCount == 0
|
get() = PsiUtil.isAnnotationMethod(this) && name == PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME && parameterList.parametersCount == 0
|
||||||
|
|
||||||
private fun createReferenceProcessor(consumer: Processor<PsiReference>) = object : ReadActionProcessor<PsiReference>() {
|
private fun createReferenceProcessor(consumer: ExecutorProcessor<PsiReference>) = object : ReadActionProcessor<PsiReference>() {
|
||||||
override fun processInReadAction(reference: PsiReference): Boolean {
|
override fun processInReadAction(reference: PsiReference): Boolean {
|
||||||
if (reference !is KtSimpleNameReference) return true
|
if (reference !is KtSimpleNameReference) return true
|
||||||
val annotationEntry = reference.expression.getParentOfTypeAndBranch<KtAnnotationEntry> { typeReference } ?: return true
|
val annotationEntry = reference.expression.getParentOfTypeAndBranch<KtAnnotationEntry> { typeReference } ?: return true
|
||||||
@@ -48,7 +48,7 @@ class DefaultAnnotationMethodKotlinImplicitReferenceSearcher : QueryExecutorBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor<PsiReference>) {
|
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
||||||
runReadAction {
|
runReadAction {
|
||||||
val method = queryParameters.method
|
val method = queryParameters.method
|
||||||
if (!method.isDefaultAnnotationMethod) return@runReadAction null
|
if (!method.isDefaultAnnotationMethod) return@runReadAction null
|
||||||
|
|||||||
+2
-2
@@ -25,13 +25,13 @@ import com.intellij.psi.search.LocalSearchScope
|
|||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.psi.search.searches.AnnotatedElementsSearch
|
import com.intellij.psi.search.searches.AnnotatedElementsSearch
|
||||||
import com.intellij.psi.util.PsiUtilCore
|
import com.intellij.psi.util.PsiUtilCore
|
||||||
import com.intellij.util.Processor
|
|
||||||
import com.intellij.util.QueryExecutor
|
import com.intellij.util.QueryExecutor
|
||||||
import com.intellij.util.indexing.FileBasedIndex
|
import com.intellij.util.indexing.FileBasedIndex
|
||||||
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.NO_MATCH
|
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.NO_MATCH
|
||||||
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.UNSURE
|
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.UNSURE
|
||||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
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.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.search.PsiBasedClassResolver
|
import org.jetbrains.kotlin.idea.search.PsiBasedClassResolver
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinAnnotationsIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinAnnotationsIndex
|
||||||
@@ -45,7 +45,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|||||||
|
|
||||||
class KotlinAnnotatedElementsSearcher : QueryExecutor<PsiModifierListOwner, AnnotatedElementsSearch.Parameters> {
|
class KotlinAnnotatedElementsSearcher : QueryExecutor<PsiModifierListOwner, AnnotatedElementsSearch.Parameters> {
|
||||||
|
|
||||||
override fun execute(p: AnnotatedElementsSearch.Parameters, consumer: Processor<PsiModifierListOwner>): Boolean {
|
override fun execute(p: AnnotatedElementsSearch.Parameters, consumer: ExecutorProcessor<PsiModifierListOwner>): Boolean {
|
||||||
return processAnnotatedMembers(p.annotationClass, p.scope) { declaration ->
|
return processAnnotatedMembers(p.annotationClass, p.scope) { declaration ->
|
||||||
when (declaration) {
|
when (declaration) {
|
||||||
is KtClass -> {
|
is KtClass -> {
|
||||||
|
|||||||
+2
-2
@@ -20,8 +20,8 @@ import com.intellij.psi.PsiClass
|
|||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.searches.ClassesWithAnnotatedMembersSearch
|
import com.intellij.psi.search.searches.ClassesWithAnnotatedMembersSearch
|
||||||
import com.intellij.psi.search.searches.ScopedQueryExecutor
|
import com.intellij.psi.search.searches.ScopedQueryExecutor
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.search.allScope
|
import org.jetbrains.kotlin.idea.search.allScope
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
@@ -32,7 +32,7 @@ class KotlinClassesWithAnnotatedMembersSearcher : ScopedQueryExecutor<PsiClass,
|
|||||||
return GlobalSearchScope.getScopeRestrictedByFileTypes(param.annotationClass.project.allScope(), KotlinFileType.INSTANCE)
|
return GlobalSearchScope.getScopeRestrictedByFileTypes(param.annotationClass.project.allScope(), KotlinFileType.INSTANCE)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun execute(queryParameters: ClassesWithAnnotatedMembersSearch.Parameters, consumer: Processor<PsiClass>): Boolean {
|
override fun execute(queryParameters: ClassesWithAnnotatedMembersSearch.Parameters, consumer: ExecutorProcessor<PsiClass>): Boolean {
|
||||||
val processed = hashSetOf<KtClassOrObject>()
|
val processed = hashSetOf<KtClassOrObject>()
|
||||||
return KotlinAnnotatedElementsSearcher.processAnnotatedMembers(queryParameters.annotationClass,
|
return KotlinAnnotatedElementsSearcher.processAnnotatedMembers(queryParameters.annotationClass,
|
||||||
queryParameters.scope,
|
queryParameters.scope,
|
||||||
|
|||||||
+2
-2
@@ -19,12 +19,12 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions
|
|||||||
import com.intellij.openapi.application.QueryExecutorBase
|
import com.intellij.openapi.application.QueryExecutorBase
|
||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.searches.MethodReferencesSearch.SearchParameters
|
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.references.mainReference
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.processDelegationCallConstructorUsages
|
import org.jetbrains.kotlin.idea.search.usagesSearch.processDelegationCallConstructorUsages
|
||||||
|
|
||||||
class KotlinConstructorDelegationCallReferenceSearcher : QueryExecutorBase<PsiReference, SearchParameters>(true) {
|
class KotlinConstructorDelegationCallReferenceSearcher : QueryExecutorBase<PsiReference, SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: SearchParameters, consumer: Processor<PsiReference>) {
|
override fun processQuery(queryParameters: SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
||||||
val method = queryParameters.method
|
val method = queryParameters.method
|
||||||
if (!method.isConstructor) return
|
if (!method.isConstructor) return
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -19,11 +19,11 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions
|
|||||||
import com.intellij.openapi.application.QueryExecutorBase
|
import com.intellij.openapi.application.QueryExecutorBase
|
||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
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
|
import org.jetbrains.kotlin.idea.search.usagesSearch.operators.OperatorReferenceSearcher
|
||||||
|
|
||||||
class KotlinConventionMethodReferencesSearcher : QueryExecutorBase<PsiReference, MethodReferencesSearch.SearchParameters>(true) {
|
class KotlinConventionMethodReferencesSearcher : QueryExecutorBase<PsiReference, MethodReferencesSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor<PsiReference>) {
|
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
||||||
val operatorSearcher = OperatorReferenceSearcher.create(
|
val operatorSearcher = OperatorReferenceSearcher.create(
|
||||||
queryParameters.method,
|
queryParameters.method,
|
||||||
queryParameters.effectiveSearchScope,
|
queryParameters.effectiveSearchScope,
|
||||||
|
|||||||
+3
-2
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
|||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
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.caches.lightClasses.KtFakeLightClass
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachImplementation
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachImplementation
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachOverridingMethod
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachOverridingMethod
|
||||||
@@ -43,7 +44,7 @@ import org.jetbrains.kotlin.psi.psiUtil.contains
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class KotlinDefinitionsSearcher : QueryExecutor<PsiElement, DefinitionsScopedSearch.SearchParameters> {
|
class KotlinDefinitionsSearcher : QueryExecutor<PsiElement, DefinitionsScopedSearch.SearchParameters> {
|
||||||
override fun execute(queryParameters: DefinitionsScopedSearch.SearchParameters, consumer: Processor<PsiElement>): Boolean {
|
override fun execute(queryParameters: DefinitionsScopedSearch.SearchParameters, consumer: ExecutorProcessor<PsiElement>): Boolean {
|
||||||
val consumer = skipDelegatedMethodsConsumer(consumer)
|
val consumer = skipDelegatedMethodsConsumer(consumer)
|
||||||
val element = queryParameters.element
|
val element = queryParameters.element
|
||||||
val scope = queryParameters.scope
|
val scope = queryParameters.scope
|
||||||
@@ -83,7 +84,7 @@ class KotlinDefinitionsSearcher : QueryExecutor<PsiElement, DefinitionsScopedSea
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
private fun skipDelegatedMethodsConsumer(baseConsumer: Processor<PsiElement>): Processor<PsiElement> {
|
private fun skipDelegatedMethodsConsumer(baseConsumer: ExecutorProcessor<PsiElement>): Processor<PsiElement> {
|
||||||
return Processor { element ->
|
return Processor { element ->
|
||||||
if (isDelegated(element)) {
|
if (isDelegated(element)) {
|
||||||
return@Processor true
|
return@Processor true
|
||||||
|
|||||||
+2
-2
@@ -21,8 +21,8 @@ import com.intellij.openapi.progress.ProgressManager
|
|||||||
import com.intellij.psi.PsiClass
|
import com.intellij.psi.PsiClass
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
|
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.asJava.toLightClassWithBuiltinMapping
|
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.caches.lightClasses.KtFakeLightClass
|
||||||
import org.jetbrains.kotlin.idea.search.fileScope
|
import org.jetbrains.kotlin.idea.search.fileScope
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
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
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
|
|
||||||
open class KotlinDirectInheritorsSearcher : QueryExecutorBase<PsiClass, DirectClassInheritorsSearch.SearchParameters>(true) {
|
open class KotlinDirectInheritorsSearcher : QueryExecutorBase<PsiClass, DirectClassInheritorsSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: Processor<PsiClass>) {
|
override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: ExecutorProcessor<PsiClass>) {
|
||||||
val baseClass = queryParameters.classToProcess
|
val baseClass = queryParameters.classToProcess
|
||||||
|
|
||||||
val name = baseClass.name ?: return
|
val name = baseClass.name ?: return
|
||||||
|
|||||||
+3
-4
@@ -24,8 +24,8 @@ import com.intellij.psi.search.UsageSearchContext
|
|||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
import com.intellij.psi.util.MethodSignatureUtil
|
import com.intellij.psi.util.MethodSignatureUtil
|
||||||
import com.intellij.psi.util.TypeConversionUtil
|
import com.intellij.psi.util.TypeConversionUtil
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.asJava.toLightMethods
|
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.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.references.SyntheticPropertyAccessorReference
|
import org.jetbrains.kotlin.idea.references.SyntheticPropertyAccessorReference
|
||||||
import org.jetbrains.kotlin.idea.references.readWriteAccess
|
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.KtNamedFunction
|
||||||
import org.jetbrains.kotlin.psi.KtParameter
|
import org.jetbrains.kotlin.psi.KtParameter
|
||||||
import org.jetbrains.kotlin.psi.KtProperty
|
import org.jetbrains.kotlin.psi.KtProperty
|
||||||
import org.jetbrains.kotlin.utils.ifEmpty
|
|
||||||
|
|
||||||
class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() {
|
class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() {
|
||||||
override fun processQuery(p: MethodReferencesSearch.SearchParameters, consumer: Processor<PsiReference>) {
|
override fun processQuery(p: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
||||||
val method = p.method
|
val method = p.method
|
||||||
val isConstructor = p.project.runReadActionInSmartMode { method.isConstructor }
|
val isConstructor = p.project.runReadActionInSmartMode { method.isConstructor }
|
||||||
if (isConstructor) {
|
if (isConstructor) {
|
||||||
@@ -79,7 +78,7 @@ class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() {
|
|||||||
aClass: PsiClass,
|
aClass: PsiClass,
|
||||||
strictSignatureSearch: Boolean): MethodTextOccurrenceProcessor {
|
strictSignatureSearch: Boolean): MethodTextOccurrenceProcessor {
|
||||||
return object: MethodTextOccurrenceProcessor(aClass, strictSignatureSearch, *methods) {
|
return object: MethodTextOccurrenceProcessor(aClass, strictSignatureSearch, *methods) {
|
||||||
override fun processInexactReference(ref: PsiReference, refElement: PsiElement?, method: PsiMethod, consumer: Processor<PsiReference>): Boolean {
|
override fun processInexactReference(ref: PsiReference, refElement: PsiElement?, method: PsiMethod, consumer: ExecutorProcessor<PsiReference>): Boolean {
|
||||||
val isGetter = JvmAbi.isGetterName(method.name)
|
val isGetter = JvmAbi.isGetterName(method.name)
|
||||||
|
|
||||||
fun isWrongAccessorReference(): Boolean {
|
fun isWrongAccessorReference(): Boolean {
|
||||||
|
|||||||
+2
-1
@@ -24,6 +24,7 @@ import com.intellij.util.Processor
|
|||||||
import com.intellij.util.QueryExecutor
|
import com.intellij.util.QueryExecutor
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
|
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||||
@@ -34,7 +35,7 @@ import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
|||||||
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||||
|
|
||||||
class KotlinOverridingMethodsWithGenericsSearcher : QueryExecutor<PsiMethod, OverridingMethodsSearch.SearchParameters> {
|
class KotlinOverridingMethodsWithGenericsSearcher : QueryExecutor<PsiMethod, OverridingMethodsSearch.SearchParameters> {
|
||||||
override fun execute(p: OverridingMethodsSearch.SearchParameters, consumer: Processor<PsiMethod>): Boolean {
|
override fun execute(p: OverridingMethodsSearch.SearchParameters, consumer: ExecutorProcessor<PsiMethod>): Boolean {
|
||||||
val method = p.method
|
val method = p.method
|
||||||
if (method !is KtLightMethod) return true
|
if (method !is KtLightMethod) return true
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -22,8 +22,8 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.UsageSearchContext
|
import com.intellij.psi.search.UsageSearchContext
|
||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
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.caches.resolve.util.getJavaMethodDescriptor
|
||||||
import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
|||||||
import org.jetbrains.kotlin.synthetic.canBePropertyAccessor
|
import org.jetbrains.kotlin.synthetic.canBePropertyAccessor
|
||||||
|
|
||||||
class KotlinPropertyAccessorsReferenceSearcher : QueryExecutorBase<PsiReference, MethodReferencesSearch.SearchParameters>(true) {
|
class KotlinPropertyAccessorsReferenceSearcher : QueryExecutorBase<PsiReference, MethodReferencesSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor<PsiReference>) {
|
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
||||||
val method = queryParameters.method
|
val method = queryParameters.method
|
||||||
val onlyKotlinFiles = queryParameters.effectiveSearchScope.restrictToKotlinSources()
|
val onlyKotlinFiles = queryParameters.effectiveSearchScope.restrictToKotlinSources()
|
||||||
if (onlyKotlinFiles == GlobalSearchScope.EMPTY_SCOPE) return
|
if (onlyKotlinFiles == GlobalSearchScope.EMPTY_SCOPE) return
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import com.intellij.psi.impl.cache.TodoCacheManager
|
|||||||
import com.intellij.psi.search.IndexPattern
|
import com.intellij.psi.search.IndexPattern
|
||||||
import com.intellij.psi.search.IndexPatternOccurrence
|
import com.intellij.psi.search.IndexPatternOccurrence
|
||||||
import com.intellij.psi.search.searches.IndexPatternSearch
|
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.KtCallExpression
|
||||||
import org.jetbrains.kotlin.psi.KtTreeVisitorVoid
|
import org.jetbrains.kotlin.psi.KtTreeVisitorVoid
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ data class KotlinTodoOccurrence(private val _file: PsiFile, private val _textRan
|
|||||||
}
|
}
|
||||||
|
|
||||||
class KotlinTodoSearcher : QueryExecutorBase<IndexPatternOccurrence, IndexPatternSearch.SearchParameters>(true) {
|
class KotlinTodoSearcher : QueryExecutorBase<IndexPatternOccurrence, IndexPatternSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: IndexPatternSearch.SearchParameters, consumer: Processor<IndexPatternOccurrence>) {
|
override fun processQuery(queryParameters: IndexPatternSearch.SearchParameters, consumer: ExecutorProcessor<IndexPatternOccurrence>) {
|
||||||
var pattern = queryParameters.pattern
|
var pattern = queryParameters.pattern
|
||||||
if (pattern != null && !pattern.patternString.contains("TODO", true)) return
|
if (pattern != null && !pattern.patternString.contains("TODO", true)) return
|
||||||
if (pattern == null) {
|
if (pattern == null) {
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.search.LocalSearchScope
|
import com.intellij.psi.search.LocalSearchScope
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.psi.xml.XmlAttributeValue
|
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.descriptors.PropertyDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.source.getPsi
|
|||||||
|
|
||||||
|
|
||||||
class AndroidExtensionsReferenceSearchExecutor : QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters>(true) {
|
class AndroidExtensionsReferenceSearchExecutor : QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: Processor<PsiReference>) {
|
override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
||||||
val elementToSearch = queryParameters.elementToSearch as? XmlAttributeValue ?: return
|
val elementToSearch = queryParameters.elementToSearch as? XmlAttributeValue ?: return
|
||||||
val scopeElements = (queryParameters.effectiveSearchScope as? LocalSearchScope)?.scope ?: return
|
val scopeElements = (queryParameters.effectiveSearchScope as? LocalSearchScope)?.scope ?: return
|
||||||
val referenceName = elementToSearch.value?.substringAfterLast("/") ?: return
|
val referenceName = elementToSearch.value?.substringAfterLast("/") ?: return
|
||||||
|
|||||||
Reference in New Issue
Block a user