From 10e8d4befa488ea7d86d8fd8b5c79dd1980b9a89 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Mon, 27 Jun 2022 10:52:49 +0200 Subject: [PATCH] [light classes] drop old light classes and backend: iteration #10 add missing is InvalidLightClassDataHolder check ^KT-48773 --- .../cli/jvm/compiler/CliExtraDiagnosticsProvider.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliExtraDiagnosticsProvider.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliExtraDiagnosticsProvider.kt index b7eec859680..39b06ff067f 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliExtraDiagnosticsProvider.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliExtraDiagnosticsProvider.kt @@ -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 {