Don't fall back to full search because of reference in fqname

This commit is contained in:
Nikolay Krasko
2017-04-26 16:50:26 +03:00
parent 5cbc653f00
commit 7ee58be515
5 changed files with 10 additions and 3 deletions
@@ -381,7 +381,8 @@ class ExpressionsOfTypeProcessor(
} }
is KtQualifiedExpression -> { is KtQualifiedExpression -> {
if (element == parent.receiverExpression) { // <class name>.memberName // <class name>.memberName or some.<class name>.memberName
if (element == parent.receiverExpression || parent.parent is KtQualifiedExpression) {
return true // companion object member or static member access - ignore it return true // companion object member or static member access - ignore it
} }
} }
@@ -5,5 +5,7 @@ public class JavaClass {
public void <caret>invoke() { public void <caret>invoke() {
} }
public static class OtherJavaClass extends JavaClass {} public static class OtherJavaClass extends JavaClass {
public static OtherJavaClass OJC = new OtherJavaClass();
}
} }
@@ -4,4 +4,5 @@ fun f(c: JavaClass) {
fun foo(o: JavaClass.OtherJavaClass) { fun foo(o: JavaClass.OtherJavaClass) {
o() o()
JavaClass.OtherJavaClass.OJC()
} }
@@ -1,6 +1,8 @@
Resolved OJC()
Resolved c() Resolved c()
Resolved o() Resolved o()
Searched references to JavaClass Searched references to JavaClass
Searched references to JavaClass.OtherJavaClass 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 c of f(c: JavaClass) in non-Java files
Searched references to parameter o of foo(o: JavaClass.OtherJavaClass) in non-Java files Searched references to parameter o of foo(o: JavaClass.OtherJavaClass) in non-Java files
@@ -1,2 +1,3 @@
Implicit 'invoke' 2 c() Implicit 'invoke' 2 c()
Implicit 'invoke' 6 o() Implicit 'invoke' 6 o()
Implicit 'invoke' 7 JavaClass.OtherJavaClass.OJC()