From 4d95e873a9602ce9c63d926ca4199ea7863c81c5 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Thu, 12 May 2016 17:53:21 +0200 Subject: [PATCH] Add a guard for empty dependencies list, fixes EA-82348 --- .../kotlin/idea/caches/resolve/IdeaModuleInfos.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IdeaModuleInfos.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IdeaModuleInfos.kt index f6644343c21..ce490d023fb 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IdeaModuleInfos.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IdeaModuleInfos.kt @@ -304,7 +304,13 @@ internal data class CustomizedScriptModuleInfo(val project: Project, val module: override val name: Name = Name.special("<$SCRIPT_NAME_PREFIX${scriptDefinition.name}>") - override fun contentScope() = CustomizedScriptModuleSearchScope(virtualFile, GlobalSearchScope.union(dependenciesRoots().map { FileLibraryScope(project, it) }.toTypedArray())) + override fun contentScope(): CustomizedScriptModuleSearchScope { + val dependenciesRoots = dependenciesRoots() + return CustomizedScriptModuleSearchScope( + virtualFile, + if (dependenciesRoots.isEmpty()) GlobalSearchScope.EMPTY_SCOPE + else GlobalSearchScope.union(dependenciesRoots.map { FileLibraryScope(project, it) }.toTypedArray())) + } private fun dependenciesRoots(): List { // TODO: find out whether it should be cashed (some changes listener should be implemented for the cached roots)