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 87317b7c116..6a055314b26 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 @@ -11,15 +11,16 @@ import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.containingClassLookupTag import org.jetbrains.kotlin.fir.declarations.FirEnumEntry +import org.jetbrains.kotlin.fir.declarations.FirField import org.jetbrains.kotlin.fir.declarations.utils.isConst import org.jetbrains.kotlin.fir.declarations.utils.isFinal import org.jetbrains.kotlin.fir.expressions.* -import org.jetbrains.kotlin.fir.java.declarations.FirJavaField import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirArrayOfCallTransformer import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirArrayOfCallTransformer.Companion.isArrayOfCall import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirFieldSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol import org.jetbrains.kotlin.fir.types.coneType import org.jetbrains.kotlin.fir.types.coneTypeUnsafe @@ -141,7 +142,7 @@ internal abstract class FirToConstantValueTransformer( if (symbol.fir.isConst) symbol.fir.initializer?.toConstantValue(data) else null } - fir is FirJavaField -> { + fir is FirField -> { if (fir.isFinal) { fir.initializer?.toConstantValue(data) } else { @@ -265,14 +266,13 @@ internal object FirToConstantValueChecker : FirDefaultVisitor symbol.callableId.classId != null symbol is FirPropertySymbol -> symbol.fir.isConst - fir is FirJavaField -> symbol.fir.isFinal + symbol is FirFieldSymbol -> symbol.fir.isFinal symbol is FirConstructorSymbol -> { symbol.containingClassLookupTag()?.toFirRegularClassSymbol(data)?.classKind == ClassKind.ANNOTATION_CLASS diff --git a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmMangleComputer.kt b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmMangleComputer.kt index c21c8a7946c..3d55181398d 100644 --- a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmMangleComputer.kt +++ b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmMangleComputer.kt @@ -35,7 +35,7 @@ class FirJvmMangleComputer( private inner class JvmVisitor : Visitor() { override fun visitField(field: FirField) { - if (field is FirJavaField) { + if (field is FirJavaField || field.origin == FirDeclarationOrigin.ImportedFromObjectOrStatic) { field.mangleSimpleDeclaration(field.name.asString()) } else { visitVariable(field)