FIR: avoid CCE in constants during annotation serialization
This commit is contained in:
committed by
teamcityserver
parent
3127fad23d
commit
da671eedc9
+8
-8
@@ -33,12 +33,12 @@ internal object FirToConstantValueTransformer : FirDefaultVisitor<ConstantValue<
|
|||||||
return when (constExpression.kind) {
|
return when (constExpression.kind) {
|
||||||
ConstantValueKind.Boolean -> BooleanValue(value as Boolean)
|
ConstantValueKind.Boolean -> BooleanValue(value as Boolean)
|
||||||
ConstantValueKind.Char -> CharValue(value as Char)
|
ConstantValueKind.Char -> CharValue(value as Char)
|
||||||
ConstantValueKind.Byte -> ByteValue(value as Byte)
|
ConstantValueKind.Byte -> ByteValue((value as Number).toByte())
|
||||||
ConstantValueKind.UnsignedByte -> UByteValue(value as Byte)
|
ConstantValueKind.UnsignedByte -> UByteValue((value as Number).toByte())
|
||||||
ConstantValueKind.Short -> ShortValue(value as Short)
|
ConstantValueKind.Short -> ShortValue((value as Number).toShort())
|
||||||
ConstantValueKind.UnsignedShort -> UShortValue(value as Short)
|
ConstantValueKind.UnsignedShort -> UShortValue((value as Number).toShort())
|
||||||
ConstantValueKind.Int -> IntValue(value as Int)
|
ConstantValueKind.Int -> IntValue((value as Number).toInt())
|
||||||
ConstantValueKind.UnsignedInt -> UIntValue(value as Int)
|
ConstantValueKind.UnsignedInt -> UIntValue((value as Number).toInt())
|
||||||
ConstantValueKind.Long -> LongValue(value as Long)
|
ConstantValueKind.Long -> LongValue(value as Long)
|
||||||
ConstantValueKind.UnsignedLong -> ULongValue(value as Long)
|
ConstantValueKind.UnsignedLong -> ULongValue(value as Long)
|
||||||
ConstantValueKind.String -> StringValue(value as String)
|
ConstantValueKind.String -> StringValue(value as String)
|
||||||
@@ -52,14 +52,14 @@ internal object FirToConstantValueTransformer : FirDefaultVisitor<ConstantValue<
|
|||||||
override fun visitArrayOfCall(
|
override fun visitArrayOfCall(
|
||||||
arrayOfCall: FirArrayOfCall,
|
arrayOfCall: FirArrayOfCall,
|
||||||
data: Nothing?
|
data: Nothing?
|
||||||
): ConstantValue<*>? {
|
): ConstantValue<*> {
|
||||||
return ArrayValue(arrayOfCall.argumentList.arguments.mapNotNull { it.accept(this, null) })
|
return ArrayValue(arrayOfCall.argumentList.arguments.mapNotNull { it.accept(this, null) })
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitAnnotationCall(
|
override fun visitAnnotationCall(
|
||||||
annotationCall: FirAnnotationCall,
|
annotationCall: FirAnnotationCall,
|
||||||
data: Nothing?
|
data: Nothing?
|
||||||
): ConstantValue<*>? {
|
): ConstantValue<*> {
|
||||||
return AnnotationValue(annotationCall)
|
return AnnotationValue(annotationCall)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user