diff --git a/src/main/kotlin/com/fasterxml/jackson/module/kotlin/KotlinAnnotationIntrospector.kt b/src/main/kotlin/com/fasterxml/jackson/module/kotlin/KotlinAnnotationIntrospector.kt index 6132967c..588ed2f0 100644 --- a/src/main/kotlin/com/fasterxml/jackson/module/kotlin/KotlinAnnotationIntrospector.kt +++ b/src/main/kotlin/com/fasterxml/jackson/module/kotlin/KotlinAnnotationIntrospector.kt @@ -63,22 +63,15 @@ internal class KotlinAnnotationIntrospector(private val context: Module.SetupCon * Subclasses can be detected automatically for sealed classes, since all possible subclasses are known * at compile-time to Kotlin. This makes [com.fasterxml.jackson.annotation.JsonSubTypes] redundant. */ - override fun findSubtypes(a: Annotated): MutableList? { - - val rawType = a.rawType - if (rawType.isKotlinClass()) { - val kClass = rawType.kotlin - if (kClass.isSealed) { - return kClass.sealedSubclasses - .map { NamedType(it.java) } - .toMutableList() - } + override fun findSubtypes(a: Annotated): MutableList? = a.rawType + .takeIf { it.isKotlinClass() } + ?.let { rawType -> + rawType.kotlin.sealedSubclasses + .map { NamedType(it.java) } + .toMutableList() + .ifEmpty { null } } - return null - - } - private fun AnnotatedField.hasRequiredMarker(): Boolean? { val byAnnotation = (member as Field).isRequiredByAnnotation() val byNullability = (member as Field).kotlinProperty?.returnType?.isRequired()