Skip to content

Commit e7141a8

Browse files
committed
refactor
1 parent ac1dae1 commit e7141a8

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

src/main/kotlin/com/fasterxml/jackson/module/kotlin/deser/singleton_support/KotlinBeanDeserializerModifier.kt

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,19 @@ import com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
77
import com.fasterxml.jackson.module.kotlin.isKotlinClass
88

99
// [module-kotlin#225]: keep Kotlin singletons as singletons
10-
object KotlinBeanDeserializerModifier : BeanDeserializerModifier() {
10+
internal object KotlinBeanDeserializerModifier : BeanDeserializerModifier() {
1111
override fun modifyDeserializer(
1212
config: DeserializationConfig,
1313
beanDesc: BeanDescription,
1414
deserializer: JsonDeserializer<*>
1515
): JsonDeserializer<out Any> {
1616
val modifiedFromParent = super.modifyDeserializer(config, beanDesc, deserializer)
1717

18-
val objectSingletonInstance = objectSingletonInstance(beanDesc.beanClass)
19-
return if (objectSingletonInstance != null) {
20-
KotlinObjectSingletonDeserializer(objectSingletonInstance, modifiedFromParent)
21-
} else {
22-
modifiedFromParent
23-
}
18+
return objectSingletonInstance(beanDesc.beanClass)
19+
?.let { KotlinObjectSingletonDeserializer(it, modifiedFromParent) }
20+
?: modifiedFromParent
2421
}
2522
}
2623

27-
private fun objectSingletonInstance(beanClass: Class<*>): Any? = if (!beanClass.isKotlinClass()) {
28-
null
29-
} else {
30-
beanClass.kotlin.objectInstance
31-
}
24+
private fun objectSingletonInstance(beanClass: Class<*>): Any? = beanClass.takeIf { beanClass.isKotlinClass() }
25+
?.let { it.kotlin.objectInstance }

0 commit comments

Comments
 (0)