From 91fa6af55615e5b70dfcbfba2dbd841a6ee5fe42 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Tue, 28 Jun 2022 13:52:08 +0200 Subject: [PATCH] Revert "[light classes] drop old light classes and backend: iteration #8" This reverts commit 0df6ac688ae4658e7d72f2ab741f796efbcae1c4. --- .../cli/jvm/compiler/CliLightClassGenerationSupport.kt | 2 +- .../org/jetbrains/kotlin/asJava/classes/ultraLightSupport.kt | 5 ----- .../org/jetbrains/kotlin/asJava/classes/ultraLightUtils.kt | 2 +- .../kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt | 2 +- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliLightClassGenerationSupport.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliLightClassGenerationSupport.kt index 8ad494ca9da..10e8811b404 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliLightClassGenerationSupport.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CliLightClassGenerationSupport.kt @@ -46,7 +46,7 @@ class CliLightClassGenerationSupport( private class CliLightClassSupport( private val project: Project, override val languageVersionSettings: LanguageVersionSettings, - override val jvmTarget: JvmTarget + private val jvmTarget: JvmTarget ) : KtUltraLightSupport { // This is the way to untie CliLightClassSupport and CliLightClassGenerationSupport to prevent descriptors leak diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightSupport.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightSupport.kt index 66358379c5d..69283799830 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightSupport.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightSupport.kt @@ -6,9 +6,6 @@ package org.jetbrains.kotlin.asJava.classes import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper -import org.jetbrains.kotlin.config.JvmAnalysisFlags -import org.jetbrains.kotlin.config.JvmDefaultMode -import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.name.Name @@ -21,8 +18,6 @@ interface KtUltraLightSupport { val typeMapper: KotlinTypeMapper val moduleDescriptor: ModuleDescriptor val languageVersionSettings: LanguageVersionSettings - val jvmTarget: JvmTarget - val jvmDefaultMode: JvmDefaultMode get() = languageVersionSettings.getFlag(JvmAnalysisFlags.jvmDefaultMode) fun possiblyHasAlias(file: KtFile, shortName: Name): Boolean } diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightUtils.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightUtils.kt index a4cd8c5d04c..1e60b21280c 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightUtils.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightUtils.kt @@ -330,7 +330,7 @@ private fun KtUltraLightClass.lightMethod( descriptor, OwnerKind.IMPLEMENTATION, support.deprecationResolver, - support.jvmDefaultMode, + support.typeMapper.jvmDefaultMode, ) packMethodFlags(asmFlags, JvmCodegenUtil.isJvmInterface(kotlinOrigin.resolve() as? ClassDescriptor)) } diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt index 88e36e05db8..f81e810fa34 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt @@ -87,7 +87,7 @@ internal fun PsiAnnotation.tryConvertAsTarget(support: KtUltraLightSupport): KtL attributeValues ?: return null - val targetMapping = targetMappings.getValue(support.jvmTarget) + val targetMapping = targetMappings.getValue(support.typeMapper.jvmTarget) val convertedValues = attributeValues.mapNotNull { targetMapping[it] }.distinct() val targetAttributes = "value" to ArrayValue(convertedValues) { module -> module.builtIns.array.defaultType }