diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt index 42f5263b52e..33c2233c6ce 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt @@ -233,6 +233,11 @@ class KotlinReferencesSearcher : QueryExecutorBase { searchPropertyAccessorMethods(element) + if (element.getStrictParentOfType() != null) { + // Simple parameters without val and var shouldn't be processed here because of local search scope + val methods = LightClassUtil.getLightClassPropertyMethods(element) + methods.allDeclarations.forEach { searchNamedElement(it) } + } } is KtLightMethod -> { diff --git a/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.0.kt b/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.0.kt new file mode 100644 index 00000000000..657aa096736 --- /dev/null +++ b/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.0.kt @@ -0,0 +1,4 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtParameter +// OPTIONS: usages +class Test(@JvmField val foo: String) { +} \ No newline at end of file diff --git a/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.1.java b/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.1.java new file mode 100644 index 00000000000..dedcfb98285 --- /dev/null +++ b/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.1.java @@ -0,0 +1,5 @@ +public class JavaClass { + void test() { + System.out.println(new Test("").foo); + } +} \ No newline at end of file diff --git a/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.results.txt b/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.results.txt new file mode 100644 index 00000000000..a692c7cc1da --- /dev/null +++ b/idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.results.txt @@ -0,0 +1 @@ +Unclassified usage 3 System.out.println(new Test("").foo); \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java b/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java index d9a0437dfdd..a91b812783b 100644 --- a/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java @@ -973,6 +973,11 @@ public class FindUsagesTestGenerated extends AbstractFindUsagesTest { runTest("idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages2.0.kt"); } + @TestMetadata("javaPropertyUsages3.0.kt") + public void testJavaPropertyUsages3() throws Exception { + runTest("idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyUsages3.0.kt"); + } + @TestMetadata("javaPropertyWriteUsages.0.kt") public void testJavaPropertyWriteUsages() throws Exception { runTest("idea/testData/findUsages/kotlin/findPropertyUsages/javaPropertyWriteUsages.0.kt");