diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.kt index 8ee35ea826e..866d5aa5a22 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.caches.resolve +import com.intellij.formatting.blocks.split import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.* @@ -202,13 +203,15 @@ class IDELightClassGenerationSupport(private val project: Project) : LightClassG facadeFiles: List, moduleInfo: IdeaModuleInfo ): List { - return if (moduleInfo is ModuleSourceInfo) { + val (clsFiles, sourceFiles) = facadeFiles.partition { it is KtClsFile } + val lightClassesForClsFacades = clsFiles.mapNotNull { createLightClassForDecompiledKotlinFile(it as KtClsFile) } + if (moduleInfo is ModuleSourceInfo && sourceFiles.isNotEmpty()) { val lightClassForFacade = KtLightClassForFacade.createForFacade( - psiManager, facadeFqName, moduleInfo.contentScope(), facadeFiles) - withFakeLightClasses(lightClassForFacade, facadeFiles) + psiManager, facadeFqName, moduleInfo.contentScope(), sourceFiles) + return withFakeLightClasses(lightClassForFacade, sourceFiles) + lightClassesForClsFacades } else { - facadeFiles.filterIsInstance().mapNotNull { createLightClassForDecompiledKotlinFile(it) } + return lightClassesForClsFacades } }