diff --git a/idea/testData/findUsages/kotlin/conventions/components/dataClass.1.kt b/idea/testData/findUsages/kotlin/conventions/components/dataClass.1.kt
index a0ae1f8e531..ae28481cb7c 100644
--- a/idea/testData/findUsages/kotlin/conventions/components/dataClass.1.kt
+++ b/idea/testData/findUsages/kotlin/conventions/components/dataClass.1.kt
@@ -1,10 +1,22 @@
import pack.A
-fun test() {
- for ((x, y, z) in arrayOf()) {
- }
+fun test(javaClass: JavaClass, javaClass2: JavaClass2) {
+ val a = A(1, "2", Any())
+ a.n
+ a.component1()
- for (a in listOf()) {
- val (x, y) = a
- }
+ val (x, y, z) = a
+ val (x1, y1, z1) = f()
+ val (x2, y2, z2) = g()
+ val (x3, y3, z3) = h()
+
+ val (x4, y4, z4) = listOfA()[0]
+
+ val (x5, y5, z5) = javaClass.getA()[0]
}
+
+fun f(): A = TODO()
+fun g() = A()
+fun h() = g()
+
+fun listOfA() = listOf(A(1, "", ""))
diff --git a/idea/testData/findUsages/kotlin/conventions/components/dataClass.2.kt b/idea/testData/findUsages/kotlin/conventions/components/dataClass.2.kt
deleted file mode 100644
index ae28481cb7c..00000000000
--- a/idea/testData/findUsages/kotlin/conventions/components/dataClass.2.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-import pack.A
-
-fun test(javaClass: JavaClass, javaClass2: JavaClass2) {
- val a = A(1, "2", Any())
- a.n
- a.component1()
-
- val (x, y, z) = a
- val (x1, y1, z1) = f()
- val (x2, y2, z2) = g()
- val (x3, y3, z3) = h()
-
- val (x4, y4, z4) = listOfA()[0]
-
- val (x5, y5, z5) = javaClass.getA()[0]
-}
-
-fun f(): A = TODO()
-fun g() = A()
-fun h() = g()
-
-fun listOfA() = listOf(A(1, "", ""))
diff --git a/idea/testData/findUsages/kotlin/conventions/components/dataClass.log b/idea/testData/findUsages/kotlin/conventions/components/dataClass.log
index e880bd3b6d4..f55bf210a63 100644
--- a/idea/testData/findUsages/kotlin/conventions/components/dataClass.log
+++ b/idea/testData/findUsages/kotlin/conventions/components/dataClass.log
@@ -6,7 +6,6 @@ Searched references to g() in Kotlin files
Searched references to h() in Kotlin files
Searched references to listOfA() in Kotlin files
Searched references to pack.A
-Searched references to parameter a in null in Kotlin files
Used plain search in LocalSearchScope:
CLASS:A
FUN:ext1
diff --git a/idea/testData/findUsages/kotlin/conventions/components/dataClass.results.txt b/idea/testData/findUsages/kotlin/conventions/components/dataClass.results.txt
index 4e0b89fca51..169256b7e58 100644
--- a/idea/testData/findUsages/kotlin/conventions/components/dataClass.results.txt
+++ b/idea/testData/findUsages/kotlin/conventions/components/dataClass.results.txt
@@ -1,12 +1,10 @@
[dataClass.0.kt] Value read 14 val (x, y) = getThis()
[dataClass.0.kt] Value read 22 val (x, y) = get(0)
-[dataClass.1.kt] Value read 4 for ((x, y, z) in arrayOf()) {
-[dataClass.1.kt] Value read 8 val (x, y) = a
-[dataClass.2.kt] Function call 6 a.component1()
-[dataClass.2.kt] Value read 10 val (x2, y2, z2) = g()
-[dataClass.2.kt] Value read 11 val (x3, y3, z3) = h()
-[dataClass.2.kt] Value read 13 val (x4, y4, z4) = listOfA()[0]
-[dataClass.2.kt] Value read 15 val (x5, y5, z5) = javaClass.getA()[0]
-[dataClass.2.kt] Value read 5 a.n
-[dataClass.2.kt] Value read 8 val (x, y, z) = a
-[dataClass.2.kt] Value read 9 val (x1, y1, z1) = f()
\ No newline at end of file
+[dataClass.1.kt] Function call 6 a.component1()
+[dataClass.1.kt] Value read 10 val (x2, y2, z2) = g()
+[dataClass.1.kt] Value read 11 val (x3, y3, z3) = h()
+[dataClass.1.kt] Value read 13 val (x4, y4, z4) = listOfA()[0]
+[dataClass.1.kt] Value read 15 val (x5, y5, z5) = javaClass.getA()[0]
+[dataClass.1.kt] Value read 5 a.n
+[dataClass.1.kt] Value read 8 val (x, y, z) = a
+[dataClass.1.kt] Value read 9 val (x1, y1, z1) = f()
\ No newline at end of file
diff --git a/idea/testData/findUsages/kotlin/conventions/components/for.0.kt b/idea/testData/findUsages/kotlin/conventions/components/for.0.kt
new file mode 100644
index 00000000000..1f8fecc4c07
--- /dev/null
+++ b/idea/testData/findUsages/kotlin/conventions/components/for.0.kt
@@ -0,0 +1,13 @@
+// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtParameter
+// OPTIONS: usages
+
+data class A(val n: Int, val s: String, val o: Any) {
+
+fun test() {
+ for ((x, y, z) in arrayOf()) {
+ }
+
+ for (a in listOf()) {
+ val (x, y) = a
+ }
+}
diff --git a/idea/testData/findUsages/kotlin/conventions/components/for.log b/idea/testData/findUsages/kotlin/conventions/components/for.log
new file mode 100644
index 00000000000..52c8d3303b9
--- /dev/null
+++ b/idea/testData/findUsages/kotlin/conventions/components/for.log
@@ -0,0 +1,5 @@
+Searched inheritors of A
+Searched references to A
+Searched references to parameter a in null in Kotlin files
+Used plain search in LocalSearchScope:
+ CLASS:A
diff --git a/idea/testData/findUsages/kotlin/conventions/components/for.results.txt b/idea/testData/findUsages/kotlin/conventions/components/for.results.txt
new file mode 100644
index 00000000000..f8b918eb677
--- /dev/null
+++ b/idea/testData/findUsages/kotlin/conventions/components/for.results.txt
@@ -0,0 +1,2 @@
+Value read 11 val (x, y) = a
+Value read 7 for ((x, y, z) in arrayOf()) {
diff --git a/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java b/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java
index 49b24789a21..00f6837bb00 100644
--- a/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java
+++ b/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java
@@ -212,6 +212,12 @@ public class FindUsagesTestGenerated extends AbstractFindUsagesTest {
doTest(fileName);
}
+ @TestMetadata("for.0.kt")
+ public void testFor() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/conventions/components/for.0.kt");
+ doTest(fileName);
+ }
+
@TestMetadata("isAndAs.0.kt")
public void testIsAndAs() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/conventions/components/isAndAs.0.kt");