From da671eedc9866dc1ab8f16ccd1988fb8fc1bbd9f Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 31 May 2021 18:50:19 +0300 Subject: [PATCH] FIR: avoid CCE in constants during annotation serialization --- .../constant/FirToConstantValueTransformer.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 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 149c0efaf48..8312582822e 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 @@ -33,12 +33,12 @@ internal object FirToConstantValueTransformer : FirDefaultVisitor BooleanValue(value as Boolean) ConstantValueKind.Char -> CharValue(value as Char) - ConstantValueKind.Byte -> ByteValue(value as Byte) - ConstantValueKind.UnsignedByte -> UByteValue(value as Byte) - ConstantValueKind.Short -> ShortValue(value as Short) - ConstantValueKind.UnsignedShort -> UShortValue(value as Short) - ConstantValueKind.Int -> IntValue(value as Int) - ConstantValueKind.UnsignedInt -> UIntValue(value as Int) + ConstantValueKind.Byte -> ByteValue((value as Number).toByte()) + ConstantValueKind.UnsignedByte -> UByteValue((value as Number).toByte()) + ConstantValueKind.Short -> ShortValue((value as Number).toShort()) + ConstantValueKind.UnsignedShort -> UShortValue((value as Number).toShort()) + ConstantValueKind.Int -> IntValue((value as Number).toInt()) + ConstantValueKind.UnsignedInt -> UIntValue((value as Number).toInt()) ConstantValueKind.Long -> LongValue(value as Long) ConstantValueKind.UnsignedLong -> ULongValue(value as Long) ConstantValueKind.String -> StringValue(value as String) @@ -52,14 +52,14 @@ internal object FirToConstantValueTransformer : FirDefaultVisitor? { + ): ConstantValue<*> { return ArrayValue(arrayOfCall.argumentList.arguments.mapNotNull { it.accept(this, null) }) } override fun visitAnnotationCall( annotationCall: FirAnnotationCall, data: Nothing? - ): ConstantValue<*>? { + ): ConstantValue<*> { return AnnotationValue(annotationCall) }