use correct scope for ReferencesSearch used for 'find usages' (KT-8904)

This commit is contained in:
Dmitry Jemerov
2015-09-07 19:22:10 +02:00
parent dc7d30c6dc
commit f708871254
3 changed files with 7 additions and 3 deletions
@@ -16,7 +16,9 @@
package org.jetbrains.kotlin.idea.findUsages.handlers
import com.intellij.find.findUsages.*
import com.intellij.find.findUsages.AbstractFindUsagesDialog
import com.intellij.find.findUsages.FindUsagesOptions
import com.intellij.find.findUsages.JavaFindUsagesHelper
import com.intellij.openapi.actionSystem.DataContext
import com.intellij.psi.PsiClass
import com.intellij.psi.PsiElement
@@ -130,6 +132,7 @@ public class KotlinFindClassUsagesHandler(
options: KotlinClassFindUsagesOptions,
processor: Processor<PsiReference>): Boolean {
val searchParameters = KotlinReferencesSearchParameters(classOrObject,
scope = options.searchScope,
kotlinOptions = KotlinReferencesSearchOptions(acceptCompanionObjectMembers = true))
var usagesQuery = ReferencesSearch.search(searchParameters)
@@ -180,7 +183,7 @@ public class KotlinFindClassUsagesHandler(
for (decl in classOrObject.effectiveDeclarations()) {
if ((decl is JetNamedFunction && options.isMethodsUsages) ||
((decl is JetProperty || decl is JetParameter) && options.isFieldsUsages)) {
if (!ReferencesSearch.search(decl).forEach(processor)) return false
if (!ReferencesSearch.search(decl, options.searchScope).forEach(processor)) return false
}
}
return true
@@ -125,6 +125,7 @@ public abstract class KotlinFindMemberUsagesHandler<T : JetNamedDeclaration>
if (options.isUsages) {
val searchParameters = KotlinReferencesSearchParameters(element,
scope = options.searchScope,
kotlinOptions = createKotlinReferencesSearchOptions(options))
val query = applyQueryFilters(element, options, ReferencesSearch.search(searchParameters))
@@ -40,7 +40,7 @@ public class KotlinTypeParameterFindUsagesHandler(
}
protected override fun searchReferences(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean {
return ReferencesSearch.search(element).all { KotlinFindUsagesHandler.processUsage(processor, it ) }
return ReferencesSearch.search(element, options.searchScope).all { KotlinFindUsagesHandler.processUsage(processor, it ) }
}
public override fun getFindUsagesOptions(dataContext: DataContext?): FindUsagesOptions {