[light classes] drop old light classes and backend: iteration #10

add missing is InvalidLightClassDataHolder check

^KT-48773
This commit is contained in:
Dmitry Gridin
2022-06-27 10:52:49 +02:00
committed by Space
parent 38378309b1
commit 10e8d4befa
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.asJava.classes.getOutermostClassOrObject
import org.jetbrains.kotlin.asJava.classes.safeIsLocal
import org.jetbrains.kotlin.asJava.classes.safeScript
import org.jetbrains.kotlin.asJava.classes.shouldNotBeVisibleAsLightClass
import org.jetbrains.kotlin.cli.jvm.compiler.builder.InvalidLightClassDataHolder
import org.jetbrains.kotlin.cli.jvm.compiler.builder.LightClassDataHolder
import org.jetbrains.kotlin.cli.jvm.compiler.builder.buildLightClass
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
@@ -37,10 +38,16 @@ object CliExtraDiagnosticsProvider {
}
val containingScript = kclass.containingKtFile.safeScript()
return when {
val lightClassDataHolder = when {
!kclass.safeIsLocal() && containingScript != null -> getLightClassCachedValue(containingScript).value
else -> getLightClassCachedValue(kclass).value
}.extraDiagnostics
}
return if (lightClassDataHolder is InvalidLightClassDataHolder) {
Diagnostics.EMPTY
} else {
lightClassDataHolder.extraDiagnostics
}
}
fun forFacade(file: KtFile, moduleScope: GlobalSearchScope): Diagnostics {