From 7f80a1fafff17d86944759336ced42661c65f942 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 22 Nov 2016 17:19:28 +0100 Subject: [PATCH] Workaround for Android databinding issue: apply extra scope filtering to classes returned from getClassesByName() (part of EA-75803 assert: ResolverForProjectImpl.descriptorForModule) --- .../src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt index 2727c4e53ad..307c35aa2f6 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt @@ -44,6 +44,7 @@ import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.load.java.descriptors.SamAdapterDescriptor import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.psiUtil.contains import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.isHiddenInResolution import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter @@ -201,6 +202,7 @@ class KotlinIndicesHelper( fun getJvmClassesByName(name: String): Collection { return PsiShortNamesCache.getInstance(project).getClassesByName(name, scope) + .filter { it in scope } .mapNotNull { it.resolveToDescriptor(resolutionFacade) } .filter(descriptorFilter) .toSet()