From c2f2e316af3358aa877e4ca6c93768ac85cd4724 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 2 Sep 2015 17:05:50 +0200 Subject: [PATCH] usage search for companion object searches for Java usages of its members --- .../KotlinReferencesSearcher.kt | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) 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 75a38a878d4..4568888cdd5 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 @@ -23,10 +23,7 @@ import com.intellij.psi.impl.cache.CacheManager import com.intellij.psi.search.* import com.intellij.psi.search.searches.ReferencesSearch import com.intellij.util.Processor -import org.jetbrains.kotlin.asJava.KotlinLightMethod -import org.jetbrains.kotlin.asJava.KotlinLightParameter -import org.jetbrains.kotlin.asJava.LightClassUtil -import org.jetbrains.kotlin.asJava.namedUnwrappedElement +import org.jetbrains.kotlin.asJava.* import org.jetbrains.kotlin.idea.JetFileType import org.jetbrains.kotlin.idea.references.JetSimpleNameReference import org.jetbrains.kotlin.idea.search.KOTLIN_NAMED_ARGUMENT_SEARCH_CONTEXT @@ -181,6 +178,21 @@ public class KotlinReferencesSearcher : QueryExecutorBase() + val originLightClass = LightClassUtil.getPsiClass(originClass) + if (originLightClass != null) { + val lightDeclarations: List?> = + originLightClass.methods.map { it as? KotlinLightMethod } + + originLightClass.fields.map { it as? KotlinLightFieldForDeclaration } + + for (declaration in element.declarations) { + val lightDeclaration = lightDeclarations.find { it?.getOrigin() == declaration } + if (lightDeclaration != null) { + searchNamedElement(queryParameters, lightDeclaration) + } + } + } } } }