From 8d6bbb9e2e5e6ad3cbc3c968b661b03b00f54499 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Fri, 31 May 2019 15:16:29 +0300 Subject: [PATCH] Check that file is in common module sources before enlarging its scope This is needed for build.gradle.kts files that are in module content, but not is source --- .../kotlin/idea/CommonModuleResolveScopeEnlarger.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/CommonModuleResolveScopeEnlarger.kt b/idea/src/org/jetbrains/kotlin/idea/CommonModuleResolveScopeEnlarger.kt index e753f264755..e6983e6bfaf 100644 --- a/idea/src/org/jetbrains/kotlin/idea/CommonModuleResolveScopeEnlarger.kt +++ b/idea/src/org/jetbrains/kotlin/idea/CommonModuleResolveScopeEnlarger.kt @@ -15,7 +15,9 @@ import com.intellij.psi.ResolveScopeEnlarger import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.search.SearchScope import org.jetbrains.kotlin.idea.caches.project.implementingModules +import org.jetbrains.kotlin.idea.core.isInTestSourceContentKotlinAware import org.jetbrains.kotlin.idea.project.platform +import org.jetbrains.kotlin.idea.util.isInSourceContentWithoutInjected import org.jetbrains.kotlin.platform.isCommon import org.jetbrains.kotlin.platform.jvm.isJvm @@ -24,6 +26,11 @@ class CommonModuleResolveScopeEnlarger : ResolveScopeEnlarger() { val module = ProjectFileIndex.getInstance(project).getModuleForFile(file) ?: return null if (!module.platform.isCommon()) return null + val moduleFileIndex = ModuleRootManager.getInstance(module).fileIndex + if (!moduleFileIndex.isInSourceContentWithoutInjected(file) && !moduleFileIndex.isInTestSourceContentKotlinAware(file)) { + return null + } + val implementingModule = module.implementingModules.find { it.platform.isJvm() } ?: return null var result = GlobalSearchScope.EMPTY_SCOPE