From f12c653aed17648fdc3d9a24f7c421550bb8198b Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Thu, 4 Feb 2016 16:50:31 +0300 Subject: [PATCH] KtLightClassForFacade is not valid if any of the files it was built for doesn't have top level callables #KT-9434 Fixed --- .../src/org/jetbrains/kotlin/asJava/KtLightClassForFacade.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForFacade.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForFacade.kt index 19ce123bdc7..5ab48aaab0b 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForFacade.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForFacade.kt @@ -30,6 +30,7 @@ import com.intellij.psi.util.PsiModificationTracker import com.intellij.util.containers.SLRUCache import org.jetbrains.annotations.NonNls import org.jetbrains.kotlin.idea.KotlinLanguage +import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils.fileHasTopLevelCallables import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtFile @@ -143,7 +144,7 @@ class KtLightClassForFacade private constructor( override fun getQualifiedName() = facadeClassFqName.asString() - override fun isValid() = files.all { it.isValid } + override fun isValid() = files.all { it.isValid && fileHasTopLevelCallables(it) } override fun copy() = KtLightClassForFacade(getManager(), facadeClassFqName, searchScope, lightClassDataCache, files, deprecated)