diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/destructuringDeclarationUsages.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/destructuringDeclarationUsages.kt
index 9421de94a79..07ff9a73543 100644
--- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/destructuringDeclarationUsages.kt
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/destructuringDeclarationUsages.kt
@@ -198,6 +198,15 @@ private class Processor(
return true
}
}
+
+ is KtIsExpression -> {
+ return true //TODO!
+ }
+
+ is KtBinaryExpressionWithTypeRHS -> {
+ processSuspiciousExpression(typeRefParent)
+ return true
+ }
}
}
diff --git a/idea/testData/findUsages/kotlin/conventions/components/dataClass.2.kt b/idea/testData/findUsages/kotlin/conventions/components/dataClass.2.kt
index dbea985d1b9..b5f949e2922 100644
--- a/idea/testData/findUsages/kotlin/conventions/components/dataClass.2.kt
+++ b/idea/testData/findUsages/kotlin/conventions/components/dataClass.2.kt
@@ -20,3 +20,14 @@ fun g() = A()
fun h() = g()
fun listOfA() = listOf(A(1, "", ""))
+
+fun x(o: Any) {
+ if (o is A) {
+ val (x, y) = o
+ }
+}
+
+fun y(o: Any) {
+ val list = o as List
+ val (x, y) = list[0]
+}
diff --git a/idea/testData/findUsages/kotlin/conventions/components/dataClass.results.txt b/idea/testData/findUsages/kotlin/conventions/components/dataClass.results.txt
index 5c9d69add8c..526015837be 100644
--- a/idea/testData/findUsages/kotlin/conventions/components/dataClass.results.txt
+++ b/idea/testData/findUsages/kotlin/conventions/components/dataClass.results.txt
@@ -5,6 +5,8 @@
[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 26 val (x, y) = o
+[dataClass.2.kt] Value read 32 val (x, y) = list[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