diff --git a/src/main/kotlin/tools/jackson/module/kotlin/KotlinDeserializers.kt b/src/main/kotlin/tools/jackson/module/kotlin/KotlinDeserializers.kt index 174a11f8d..12a506b45 100644 --- a/src/main/kotlin/tools/jackson/module/kotlin/KotlinDeserializers.kt +++ b/src/main/kotlin/tools/jackson/module/kotlin/KotlinDeserializers.kt @@ -145,7 +145,7 @@ internal class KotlinDeserializers( override fun findBeanDeserializer( type: JavaType, config: DeserializationConfig?, - beanDesc: BeanDescription?, + beanDescRef: BeanDescription.Supplier?, ): ValueDeserializer<*>? { val rawClass = type.rawClass diff --git a/src/main/kotlin/tools/jackson/module/kotlin/KotlinValueDeserializerModifier.kt b/src/main/kotlin/tools/jackson/module/kotlin/KotlinValueDeserializerModifier.kt index df9eecc26..d078dc966 100644 --- a/src/main/kotlin/tools/jackson/module/kotlin/KotlinValueDeserializerModifier.kt +++ b/src/main/kotlin/tools/jackson/module/kotlin/KotlinValueDeserializerModifier.kt @@ -11,12 +11,12 @@ object KotlinValueDeserializerModifier : ValueDeserializerModifier() { override fun modifyDeserializer( config: DeserializationConfig, - beanDesc: BeanDescription, + beanDescRef: BeanDescription.Supplier, deserializer: ValueDeserializer<*> ): ValueDeserializer { - val modifiedFromParent = super.modifyDeserializer(config, beanDesc, deserializer) + val modifiedFromParent = super.modifyDeserializer(config, beanDescRef, deserializer) - val objectSingletonInstance = objectSingletonInstance(beanDesc.beanClass) + val objectSingletonInstance = objectSingletonInstance(beanDescRef.beanClass) return if (objectSingletonInstance != null) { KotlinObjectSingletonDeserializer(objectSingletonInstance, modifiedFromParent) } else { diff --git a/src/main/kotlin/tools/jackson/module/kotlin/KotlinValueInstantiator.kt b/src/main/kotlin/tools/jackson/module/kotlin/KotlinValueInstantiator.kt index f4f783837..16aa3b5e3 100644 --- a/src/main/kotlin/tools/jackson/module/kotlin/KotlinValueInstantiator.kt +++ b/src/main/kotlin/tools/jackson/module/kotlin/KotlinValueInstantiator.kt @@ -150,10 +150,10 @@ internal class KotlinInstantiators( ) : ValueInstantiators.Base() { override fun modifyValueInstantiator( deserConfig: DeserializationConfig, - beanDescriptor: BeanDescription, + beanDescriptorRef: BeanDescription.Supplier, defaultInstantiator: ValueInstantiator ): ValueInstantiator { - return if (beanDescriptor.beanClass.isKotlinClass()) { + return if (beanDescriptorRef.beanClass.isKotlinClass()) { if (defaultInstantiator::class == StdValueInstantiator::class) { KotlinValueInstantiator( defaultInstantiator as StdValueInstantiator, diff --git a/src/test/kotlin/tools/jackson/module/kotlin/KotlinInstantiatorsTest.kt b/src/test/kotlin/tools/jackson/module/kotlin/KotlinInstantiatorsTest.kt index 5e8e593b8..97a7935d4 100644 --- a/src/test/kotlin/tools/jackson/module/kotlin/KotlinInstantiatorsTest.kt +++ b/src/test/kotlin/tools/jackson/module/kotlin/KotlinInstantiatorsTest.kt @@ -22,7 +22,7 @@ class KotlinInstantiatorsTest { val defaultInstantiator = StdValueInstantiator(deserConfig, javaType) val instantiator = kotlinInstantiators.modifyValueInstantiator( deserConfig, - deserConfig.classIntrospectorInstance().introspectForDeserialization(javaType), + deserConfig.classIntrospectorInstance().introspectForDeserialization(javaType).supplier(), defaultInstantiator ) @@ -36,7 +36,7 @@ class KotlinInstantiatorsTest { val javaType = mapper.constructType(TestClass::class.java) val instantiator = kotlinInstantiators.modifyValueInstantiator( deserConfig, - deserConfig.classIntrospectorInstance().introspectForDeserialization(javaType), + deserConfig.classIntrospectorInstance().introspectForDeserialization(javaType).supplier(), StdValueInstantiator(deserConfig, javaType) ) @@ -58,7 +58,7 @@ class KotlinInstantiatorsTest { kotlinInstantiators.modifyValueInstantiator( deserConfig, deserConfig.classIntrospectorInstance() - .introspectForDeserialization(mapper.constructType(TestClass::class.java)), + .introspectForDeserialization(mapper.constructType(TestClass::class.java)).supplier(), subClassInstantiator ) }