Rename/Find Usages: Disable text occurrence search for KtParameter

This commit is contained in:
Alexey Sedunov
2017-01-31 16:11:51 +03:00
parent 79e67f4e50
commit 59fe7444d1
6 changed files with 18 additions and 7 deletions
@@ -180,7 +180,7 @@ abstract class KotlinFindMemberUsagesHandler<T : KtNamedDeclaration>
options: FindUsagesOptions,
query: Query<PsiReference>): Query<PsiReference>
override fun isSearchForTextOccurencesAvailable(psiElement: PsiElement, isSingleFile: Boolean): Boolean = !isSingleFile
override fun isSearchForTextOccurencesAvailable(psiElement: PsiElement, isSingleFile: Boolean): Boolean = !isSingleFile && psiElement !is KtParameter
override fun findReferencesToHighlight(target: PsiElement, searchScope: SearchScope): Collection<PsiReference> {
val callableDescriptor = (target as? KtCallableDeclaration)?.resolveToDescriptorIfAny() as? CallableDescriptor
@@ -46,12 +46,6 @@ class RenameKotlinParameterProcessor : RenameKotlinPsiProcessor() {
JavaRefactoringSettings.getInstance().RENAME_SEARCH_IN_COMMENTS_FOR_VARIABLE = enabled
}
override fun isToSearchForTextOccurrences(element: PsiElement) = JavaRefactoringSettings.getInstance().RENAME_SEARCH_FOR_TEXT_FOR_VARIABLE
override fun setToSearchForTextOccurrences(element: PsiElement, enabled: Boolean) {
JavaRefactoringSettings.getInstance().RENAME_SEARCH_FOR_TEXT_FOR_VARIABLE = enabled
}
override fun findCollisions(
element: PsiElement,
newName: String?,
@@ -0,0 +1,9 @@
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtParameter
// OPTIONS: usages
fun foo(<caret>param: String) {
}
fun bar() {
foo(param = "")
}
@@ -0,0 +1 @@
param
@@ -0,0 +1 @@
Named argument 8 foo(param = "")
@@ -957,6 +957,12 @@ public class FindUsagesTestGenerated extends AbstractFindUsagesTest {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/findParameterUsages/kotlinHighlightParameterUsages.0.kt");
doTest(fileName);
}
@TestMetadata("parameterNameInTextFile.0.kt")
public void testParameterNameInTextFile() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/findParameterUsages/parameterNameInTextFile.0.kt");
doTest(fileName);
}
}
@TestMetadata("idea/testData/findUsages/kotlin/findPrimaryConstructorUsages")