diff --git a/plugins/kotlin/compiler-reference-index/tests.k2/test/org/jetbrains/kotlin/idea/fir/search/refIndex/FindUsagesWithCompilerReferenceIndexFirTestGenerated.java b/plugins/kotlin/compiler-reference-index/tests.k2/test/org/jetbrains/kotlin/idea/fir/search/refIndex/FindUsagesWithCompilerReferenceIndexFirTestGenerated.java index 951951c45b97..ff1bb8b134c6 100644 --- a/plugins/kotlin/compiler-reference-index/tests.k2/test/org/jetbrains/kotlin/idea/fir/search/refIndex/FindUsagesWithCompilerReferenceIndexFirTestGenerated.java +++ b/plugins/kotlin/compiler-reference-index/tests.k2/test/org/jetbrains/kotlin/idea/fir/search/refIndex/FindUsagesWithCompilerReferenceIndexFirTestGenerated.java @@ -2309,6 +2309,32 @@ public abstract class FindUsagesWithCompilerReferenceIndexFirTestGenerated exten } } + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") + public static class TestKotlinMemberFunctionParameterUsages extends AbstractFindUsagesWithCompilerReferenceIndexFirTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("kotlinMemberFunctionParameterUsages.0.kt") + public void testKotlinMemberFunctionParameterUsages() throws Exception { + runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.0.kt"); + } + } + + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") + public static class TestKotlinMemberFunctionParameterUsagesWithSearchInOverridings extends AbstractFindUsagesWithCompilerReferenceIndexFirTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt") + public void testKotlinMemberFunctionParameterUsagesWithSearchInOverridings() throws Exception { + runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt"); + } + } + @RunWith(JUnit3RunnerWithInners.class) @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") public static class TestParameterNameInTextFile extends AbstractFindUsagesWithCompilerReferenceIndexFirTest { @@ -2321,6 +2347,32 @@ public abstract class FindUsagesWithCompilerReferenceIndexFirTestGenerated exten runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterNameInTextFile.0.kt"); } } + + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") + public static class TestParameterUsageInAnonymousInheritor extends AbstractFindUsagesWithCompilerReferenceIndexFirTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("parameterUsageInAnonymousInheritor.0.kt") + public void testParameterUsageInAnonymousInheritor() throws Exception { + runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.0.kt"); + } + } + + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") + public static class TestParameterUsageInAnonymousInheritorWithSearchInOverridings extends AbstractFindUsagesWithCompilerReferenceIndexFirTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt") + public void testParameterUsageInAnonymousInheritorWithSearchInOverridings() throws Exception { + runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt"); + } + } } @RunWith(JUnit3RunnerWithInners.class) diff --git a/plugins/kotlin/compiler-reference-index/tests/test/org/jetbrains/kotlin/idea/search/refIndex/FindUsagesWithCompilerReferenceIndexTestGenerated.java b/plugins/kotlin/compiler-reference-index/tests/test/org/jetbrains/kotlin/idea/search/refIndex/FindUsagesWithCompilerReferenceIndexTestGenerated.java index a26775230227..3a2e8e14f967 100644 --- a/plugins/kotlin/compiler-reference-index/tests/test/org/jetbrains/kotlin/idea/search/refIndex/FindUsagesWithCompilerReferenceIndexTestGenerated.java +++ b/plugins/kotlin/compiler-reference-index/tests/test/org/jetbrains/kotlin/idea/search/refIndex/FindUsagesWithCompilerReferenceIndexTestGenerated.java @@ -2309,6 +2309,32 @@ public abstract class FindUsagesWithCompilerReferenceIndexTestGenerated extends } } + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") + public static class TestKotlinMemberFunctionParameterUsages extends AbstractFindUsagesWithCompilerReferenceIndexTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("kotlinMemberFunctionParameterUsages.0.kt") + public void testKotlinMemberFunctionParameterUsages() throws Exception { + runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.0.kt"); + } + } + + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") + public static class TestKotlinMemberFunctionParameterUsagesWithSearchInOverridings extends AbstractFindUsagesWithCompilerReferenceIndexTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt") + public void testKotlinMemberFunctionParameterUsagesWithSearchInOverridings() throws Exception { + runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt"); + } + } + @RunWith(JUnit3RunnerWithInners.class) @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") public static class TestParameterNameInTextFile extends AbstractFindUsagesWithCompilerReferenceIndexTest { @@ -2321,6 +2347,32 @@ public abstract class FindUsagesWithCompilerReferenceIndexTestGenerated extends runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterNameInTextFile.0.kt"); } } + + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") + public static class TestParameterUsageInAnonymousInheritor extends AbstractFindUsagesWithCompilerReferenceIndexTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("parameterUsageInAnonymousInheritor.0.kt") + public void testParameterUsageInAnonymousInheritor() throws Exception { + runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.0.kt"); + } + } + + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../idea/tests/testData/findUsages/kotlin/findParameterUsages") + public static class TestParameterUsageInAnonymousInheritorWithSearchInOverridings extends AbstractFindUsagesWithCompilerReferenceIndexTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt") + public void testParameterUsageInAnonymousInheritorWithSearchInOverridings() throws Exception { + runTest("../../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt"); + } + } } @RunWith(JUnit3RunnerWithInners.class) diff --git a/plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/findUsages/FindUsagesFirTestGenerated.java b/plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/findUsages/FindUsagesFirTestGenerated.java index 293b97c3aa20..1e12f184d9f8 100644 --- a/plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/findUsages/FindUsagesFirTestGenerated.java +++ b/plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/findUsages/FindUsagesFirTestGenerated.java @@ -969,10 +969,30 @@ public abstract class FindUsagesFirTestGenerated extends AbstractFindUsagesFirTe runTest("../idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinHighlightParameterUsages.0.kt"); } + @TestMetadata("kotlinMemberFunctionParameterUsages.0.kt") + public void testKotlinMemberFunctionParameterUsages() throws Exception { + runTest("../idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.0.kt"); + } + + @TestMetadata("kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt") + public void testKotlinMemberFunctionParameterUsagesWithSearchInOverridings() throws Exception { + runTest("../idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt"); + } + @TestMetadata("parameterNameInTextFile.0.kt") public void testParameterNameInTextFile() throws Exception { runTest("../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterNameInTextFile.0.kt"); } + + @TestMetadata("parameterUsageInAnonymousInheritor.0.kt") + public void testParameterUsageInAnonymousInheritor() throws Exception { + runTest("../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.0.kt"); + } + + @TestMetadata("parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt") + public void testParameterUsageInAnonymousInheritorWithSearchInOverridings() throws Exception { + runTest("../idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt"); + } } @RunWith(JUnit3RunnerWithInners.class) diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/AbstractFindUsagesTest.kt b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/AbstractFindUsagesTest.kt index e7827988ee06..cdec17b43c0d 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/AbstractFindUsagesTest.kt +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/AbstractFindUsagesTest.kt @@ -473,7 +473,10 @@ internal fun findUsages( handler.getFindUsagesOptions(null).let { if (it is KotlinFunctionFindUsagesOptions) it.isSearchForBaseMethod = searchSuperDeclaration - else if (it is KotlinPropertyFindUsagesOptions) it.isSearchForBaseAccessors = searchSuperDeclaration + else if (it is KotlinPropertyFindUsagesOptions) { + it.isSearchForBaseAccessors = searchSuperDeclaration + it.isSearchInOverridingMethods = if (options is KotlinPropertyFindUsagesOptions) options.isSearchInOverridingMethods else false + } } options.searchScope = GlobalSearchScope.allScope(project) diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java index 2466ed3f1fd0..077af8824817 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java @@ -969,10 +969,30 @@ public abstract class FindUsagesTestGenerated extends AbstractFindUsagesTest { runTest("testData/findUsages/kotlin/findParameterUsages/kotlinHighlightParameterUsages.0.kt"); } + @TestMetadata("kotlinMemberFunctionParameterUsages.0.kt") + public void testKotlinMemberFunctionParameterUsages() throws Exception { + runTest("testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.0.kt"); + } + + @TestMetadata("kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt") + public void testKotlinMemberFunctionParameterUsagesWithSearchInOverridings() throws Exception { + runTest("testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt"); + } + @TestMetadata("parameterNameInTextFile.0.kt") public void testParameterNameInTextFile() throws Exception { runTest("testData/findUsages/kotlin/findParameterUsages/parameterNameInTextFile.0.kt"); } + + @TestMetadata("parameterUsageInAnonymousInheritor.0.kt") + public void testParameterUsageInAnonymousInheritor() throws Exception { + runTest("testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.0.kt"); + } + + @TestMetadata("parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt") + public void testParameterUsageInAnonymousInheritorWithSearchInOverridings() throws Exception { + runTest("testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt"); + } } @RunWith(JUnit3RunnerWithInners.class) diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/OptionsParser.kt b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/OptionsParser.kt index 18595f8e3be6..883e51ffdaeb 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/OptionsParser.kt +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/findUsages/OptionsParser.kt @@ -88,6 +88,7 @@ internal enum class OptionsParser { "overrides" -> searchOverrides = true "skipRead" -> isReadAccess = false "skipWrite" -> isWriteAccess = false + "overridingMethods" -> isSearchInOverridingMethods = true "expected" -> searchExpected = true else -> throw IllegalStateException("Invalid option: $s") } diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.0.kt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.0.kt new file mode 100644 index 000000000000..86ec679bea32 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.0.kt @@ -0,0 +1,20 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtParameter +// OPTIONS: usages +// PSI_ELEMENT_AS_TITLE: "t: T" + +open class MyClass { + + open fun foo(t: T): T { + println(t) + return t + } + +} + +class F : MyClass() { + override fun foo(t: T): T { + val t2: T = t + return t2 + } +} + diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.1.java b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.1.java new file mode 100644 index 000000000000..2113a881b58a --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.1.java @@ -0,0 +1,9 @@ +public class JavaClass extends MyClass { + + @Override + public T foo(T t) { + T myT = t; + return myT; + } + +} \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.results.txt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.results.txt new file mode 100644 index 000000000000..d9ab4f1fd710 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsages.results.txt @@ -0,0 +1,2 @@ +Value read 8 println(t) +Value read 9 return t diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt new file mode 100644 index 000000000000..ac32dd1177f7 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt @@ -0,0 +1,19 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtParameter +// OPTIONS: usages, overridingMethods +// PSI_ELEMENT_AS_TITLE: "t: T" + +open class MyClass { + + open fun foo(t: T): T { + println(t) + return t + } + +} + +class F : MyClass() { + override fun foo(t: T): T { + val t2: T = t + return t2 + } +} \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.1.java b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.1.java new file mode 100644 index 000000000000..2113a881b58a --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.1.java @@ -0,0 +1,9 @@ +public class JavaClass extends MyClass { + + @Override + public T foo(T t) { + T myT = t; + return myT; + } + +} \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.results.txt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.results.txt new file mode 100644 index 000000000000..c9a92cb32f39 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/kotlinMemberFunctionParameterUsagesWithSearchInOverridings.results.txt @@ -0,0 +1,4 @@ +[kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt] Value read 16 val t2: T = t +[kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt] Value read 8 println(t) +[kotlinMemberFunctionParameterUsagesWithSearchInOverridings.0.kt] Value read 9 return t +[kotlinMemberFunctionParameterUsagesWithSearchInOverridings.1.java] Unclassified 5 T myT = t; diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.0.kt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.0.kt new file mode 100644 index 000000000000..b2c8c67d32e5 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.0.kt @@ -0,0 +1,14 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtParameter +// OPTIONS: usages +// PSI_ELEMENT_AS_TITLE: "param: T" + +interface MyInterface { + fun myFun(param: T) +} + + +val d = object : MyInterface { + override fun myFun(param: T) { + val param2 = param + } +} \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.1.java b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.1.java new file mode 100644 index 000000000000..2a51072cd02a --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.1.java @@ -0,0 +1,11 @@ +public class ImplementAnonymously { + void test() { + MyInterface m = new MyInterface() { + @Override + public void myFun(T param) { + T param2 = param; + } + }; + + } +} \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.results.txt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritor.results.txt new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt new file mode 100644 index 000000000000..c85262fd27e2 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt @@ -0,0 +1,14 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtParameter +// OPTIONS: usages, overridingMethods +// PSI_ELEMENT_AS_TITLE: "param: T" + +interface MyInterface { + fun myFun(param: T) +} + + +val d = object : MyInterface { + override fun myFun(param: T) { + val param2 = param + } +} \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.1.java b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.1.java new file mode 100644 index 000000000000..2a51072cd02a --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.1.java @@ -0,0 +1,11 @@ +public class ImplementAnonymously { + void test() { + MyInterface m = new MyInterface() { + @Override + public void myFun(T param) { + T param2 = param; + } + }; + + } +} \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.results.txt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.results.txt new file mode 100644 index 000000000000..f967c34028cb --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/findParameterUsages/parameterUsageInAnonymousInheritorWithSearchInOverridings.results.txt @@ -0,0 +1,2 @@ +[parameterUsageInAnonymousInheritorWithSearchInOverridings.0.kt] Value read 12 val param2 = param +[parameterUsageInAnonymousInheritorWithSearchInOverridings.1.java] Unclassified 6 T param2 = param; diff --git a/plugins/kotlin/kotlin.searching/base/src/org/jetbrains/kotlin/idea/base/searching/usages/handlers/KotlinFindMemberUsagesHandler.kt b/plugins/kotlin/kotlin.searching/base/src/org/jetbrains/kotlin/idea/base/searching/usages/handlers/KotlinFindMemberUsagesHandler.kt index 847d1f297058..c5a5c2e8574c 100644 --- a/plugins/kotlin/kotlin.searching/base/src/org/jetbrains/kotlin/idea/base/searching/usages/handlers/KotlinFindMemberUsagesHandler.kt +++ b/plugins/kotlin/kotlin.searching/base/src/org/jetbrains/kotlin/idea/base/searching/usages/handlers/KotlinFindMemberUsagesHandler.kt @@ -165,9 +165,9 @@ abstract class KotlinFindMemberUsagesHandler protected c val parameterIndex = element.parameterIndex() assert(parameterIndex < parametersCount) - return OverridingMethodsSearch.search(method, true) + return super.getPrimaryElements() + OverridingMethodsSearch.search(method, true) .filter { method.parameterList.parametersCount == parametersCount } - .mapNotNull { method.parameterList.parameters[parameterIndex].unwrapped } + .mapNotNull { it.parameterList.parameters[parameterIndex].unwrapped } .toTypedArray() } }