From bde0282fb1b4e492ee32e7c3aa6ce922fca5deee Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Sat, 15 Apr 2023 19:11:22 +0200 Subject: [PATCH] K2: extract constant from Java enum entry properly #KT-58002 Fixed --- .../serialization/constant/FirToConstantValueTransformer.kt | 4 ++-- .../testData/codegen/box/fir/enumEntryInTypeJavaAnnotation.kt | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/constant/FirToConstantValueTransformer.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/constant/FirToConstantValueTransformer.kt index 5723ea88cc8..94468e63ed8 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/constant/FirToConstantValueTransformer.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/constant/FirToConstantValueTransformer.kt @@ -115,7 +115,7 @@ private abstract class FirToConstantValueTransformer( return when { symbol.fir is FirEnumEntry -> { - val classId = symbol.fir.returnTypeRef.coneTypeSafe()?.classId ?: return null + val classId = symbol.callableId.classId ?: return null EnumValue(classId, (symbol.fir as FirEnumEntry).name) } @@ -248,7 +248,7 @@ internal object FirToConstantValueChecker : FirDefaultVisitor symbol.fir.returnTypeRef.coneTypeSafe()?.classId != null + symbol.fir is FirEnumEntry -> symbol.callableId.classId != null symbol is FirPropertySymbol -> symbol.fir.isConst diff --git a/compiler/testData/codegen/box/fir/enumEntryInTypeJavaAnnotation.kt b/compiler/testData/codegen/box/fir/enumEntryInTypeJavaAnnotation.kt index f6d777f1ac4..551390452a9 100644 --- a/compiler/testData/codegen/box/fir/enumEntryInTypeJavaAnnotation.kt +++ b/compiler/testData/codegen/box/fir/enumEntryInTypeJavaAnnotation.kt @@ -1,7 +1,6 @@ // ISSUE: KT-58002 // TARGET_BACKEND: JVM_IR -// IGNORE_BACKEND_K2: JVM_IR // FILE: NLS.java import java.lang.annotation.*;