[klib] Fix serialization of missing annotations
^KT-42490 ^KT-44625
This commit is contained in:
committed by
Space Team
parent
90d702ed27
commit
17e9a6a781
+20
@@ -62,6 +62,11 @@ abstract class KotlinSerializerExtensionBase(private val protocol: SerializerExt
|
||||
for (annotation in descriptor.nonSourceAnnotations) {
|
||||
proto.addExtensionOrNull(protocol.functionAnnotation, annotationSerializer.serializeAnnotation(annotation))
|
||||
}
|
||||
protocol.functionExtensionReceiverAnnotation?.let { extension ->
|
||||
for (annotation in descriptor.extensionReceiverParameter?.nonSourceAnnotations.orEmpty()) {
|
||||
proto.addExtensionOrNull(extension, annotationSerializer.serializeAnnotation(annotation))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun serializeProperty(
|
||||
@@ -79,6 +84,21 @@ abstract class KotlinSerializerExtensionBase(private val protocol: SerializerExt
|
||||
for (annotation in descriptor.setter?.nonSourceAnnotations.orEmpty()) {
|
||||
proto.addExtensionOrNull(protocol.propertySetterAnnotation, annotationSerializer.serializeAnnotation(annotation))
|
||||
}
|
||||
protocol.propertyExtensionReceiverAnnotation?.let { extension ->
|
||||
for (annotation in descriptor.extensionReceiverParameter?.nonSourceAnnotations.orEmpty()) {
|
||||
proto.addExtensionOrNull(extension, annotationSerializer.serializeAnnotation(annotation))
|
||||
}
|
||||
}
|
||||
protocol.propertyBackingFieldAnnotation?.let { extension ->
|
||||
for (annotation in descriptor.backingField?.nonSourceAnnotations.orEmpty()) {
|
||||
proto.addExtensionOrNull(extension, annotationSerializer.serializeAnnotation(annotation))
|
||||
}
|
||||
}
|
||||
protocol.propertyDelegatedFieldAnnotation?.let { extension ->
|
||||
for (annotation in descriptor.delegateField?.nonSourceAnnotations.orEmpty()) {
|
||||
proto.addExtensionOrNull(extension, annotationSerializer.serializeAnnotation(annotation))
|
||||
}
|
||||
}
|
||||
val constantInitializer = descriptor.compileTimeInitializer ?: return
|
||||
if (constantInitializer !is NullValue) {
|
||||
proto.setExtension(protocol.compileTimeValue, annotationSerializer.valueProto(constantInitializer).build())
|
||||
|
||||
Reference in New Issue
Block a user