From 7ee58be515c328593d903b41b066e037358a4ca8 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 26 Apr 2017 16:50:26 +0300 Subject: [PATCH] Don't fall back to full search because of reference in fqname --- .../idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt | 3 ++- .../findUsages/java/findJavaMethodUsages/javaInvoke.0.java | 4 +++- .../findUsages/java/findJavaMethodUsages/javaInvoke.0.kt | 1 + .../findUsages/java/findJavaMethodUsages/javaInvoke.log | 2 ++ .../java/findJavaMethodUsages/javaInvoke.results.txt | 3 ++- 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt index e580bcb91f9..54d5437ea45 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt @@ -381,7 +381,8 @@ class ExpressionsOfTypeProcessor( } is KtQualifiedExpression -> { - if (element == parent.receiverExpression) { // .memberName + // .memberName or some..memberName + if (element == parent.receiverExpression || parent.parent is KtQualifiedExpression) { return true // companion object member or static member access - ignore it } } diff --git a/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.0.java b/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.0.java index 523d18050c8..22515e6364e 100644 --- a/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.0.java +++ b/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.0.java @@ -5,5 +5,7 @@ public class JavaClass { public void invoke() { } - public static class OtherJavaClass extends JavaClass {} + public static class OtherJavaClass extends JavaClass { + public static OtherJavaClass OJC = new OtherJavaClass(); + } } \ No newline at end of file diff --git a/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.0.kt b/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.0.kt index 875286ad6d3..b6970379402 100644 --- a/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.0.kt +++ b/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.0.kt @@ -4,4 +4,5 @@ fun f(c: JavaClass) { fun foo(o: JavaClass.OtherJavaClass) { o() + JavaClass.OtherJavaClass.OJC() } \ No newline at end of file diff --git a/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.log b/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.log index 24cd8131ccc..bcfeb6300b3 100644 --- a/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.log +++ b/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.log @@ -1,6 +1,8 @@ +Resolved OJC() Resolved c() Resolved o() Searched references to JavaClass Searched references to JavaClass.OtherJavaClass +Searched references to JavaClass.OtherJavaClass.OJC in non-Java files Searched references to parameter c of f(c: JavaClass) in non-Java files Searched references to parameter o of foo(o: JavaClass.OtherJavaClass) in non-Java files \ No newline at end of file diff --git a/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.results.txt b/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.results.txt index 844cbfd51d6..386c7872825 100644 --- a/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.results.txt +++ b/idea/testData/findUsages/java/findJavaMethodUsages/javaInvoke.results.txt @@ -1,2 +1,3 @@ Implicit 'invoke' 2 c() -Implicit 'invoke' 6 o() \ No newline at end of file +Implicit 'invoke' 6 o() +Implicit 'invoke' 7 JavaClass.OtherJavaClass.OJC() \ No newline at end of file