ENT-11264 Fixed initialization of field serializer

This commit is contained in:
Arshad Mahmood
2023-12-12 16:27:30 +00:00
parent b375c7da21
commit 91d4c33513
7 changed files with 11 additions and 14 deletions

View File

@ -93,7 +93,10 @@ class CordaClassResolver(serializationContext: CheckpointSerializationContext) :
val serializer = when {
objectInstance != null -> KotlinObjectSerializer(objectInstance)
kotlin.jvm.internal.Lambda::class.java.isAssignableFrom(targetType) -> // Kotlin lambdas extend this class and any captured variables are stored in synthetic fields
FieldSerializer<Any>(kryo, targetType).apply { fieldSerializerConfig.ignoreSyntheticFields = false }
FieldSerializer<Any>(kryo, targetType).apply {
fieldSerializerConfig.ignoreSyntheticFields = false
updateFields()
}
Throwable::class.java.isAssignableFrom(targetType) -> ThrowableSerializer(kryo, targetType)
else -> maybeWrapForInterning(kryo.getDefaultSerializer(targetType), targetType)
}