Skip to content

Commit f1050ea

Browse files
committed
Change to early return
1 parent cb6742d commit f1050ea

File tree

1 file changed

+20
-24
lines changed

1 file changed

+20
-24
lines changed

src/main/kotlin/com/fasterxml/jackson/module/kotlin/KotlinNamesAnnotationIntrospector.kt

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,38 +61,34 @@ internal class KotlinNamesAnnotationIntrospector(val module: KotlinModule, val c
6161

6262
val kClass = cache.kotlinFromJava(member.declaringClass as Class<Any>)
6363
.apply { if (this in ignoredClassesForImplyingJsonCreator) return false }
64-
val kConstructor = cache.kotlinFromJava(member.annotated as Constructor<Any>)
64+
val kConstructor = cache.kotlinFromJava(member.annotated as Constructor<Any>) ?: return false
6565

66-
return if (kConstructor != null) {
67-
val isPrimaryConstructor = kClass.primaryConstructor == kConstructor ||
68-
(kClass.primaryConstructor == null && kClass.constructors.size == 1)
66+
val isPrimaryConstructor = kClass.primaryConstructor == kConstructor ||
67+
(kClass.primaryConstructor == null && kClass.constructors.size == 1)
6968

70-
val propertyNames = kClass.memberProperties.map { it.name }.toSet()
69+
val propertyNames = kClass.memberProperties.map { it.name }.toSet()
7170

72-
val anyConstructorHasJsonCreator = kClass.constructors
73-
.filterOutSingleStringCallables(propertyNames)
74-
.any { it.hasAnnotation<JsonCreator>() }
71+
val anyConstructorHasJsonCreator = kClass.constructors
72+
.filterOutSingleStringCallables(propertyNames)
73+
.any { it.hasAnnotation<JsonCreator>() }
7574

76-
val anyCompanionMethodIsJsonCreator = member.type.rawClass.kotlin.companionObject?.declaredFunctions
77-
?.filterOutSingleStringCallables(propertyNames)
78-
?.any { it.hasAnnotation<JsonCreator>() && it.hasAnnotation<JvmStatic>() }
79-
?: false
75+
val anyCompanionMethodIsJsonCreator = member.type.rawClass.kotlin.companionObject?.declaredFunctions
76+
?.filterOutSingleStringCallables(propertyNames)
77+
?.any { it.hasAnnotation<JsonCreator>() && it.hasAnnotation<JvmStatic>() }
78+
?: false
8079

81-
// TODO: should we do this check or not? It could cause failures if we miss another way a property could be set
82-
// val requiredProperties = kClass.declaredMemberProperties.filter {!it.returnType.isMarkedNullable }.map { it.name }.toSet()
83-
// val areAllRequiredParametersInConstructor = kConstructor.parameters.all { requiredProperties.contains(it.name) }
80+
// TODO: should we do this check or not? It could cause failures if we miss another way a property could be set
81+
// val requiredProperties = kClass.declaredMemberProperties.filter {!it.returnType.isMarkedNullable }.map { it.name }.toSet()
82+
// val areAllRequiredParametersInConstructor = kConstructor.parameters.all { requiredProperties.contains(it.name) }
8483

85-
val areAllParametersValid = kConstructor.parameters.all { it.name != null }
84+
val areAllParametersValid = kConstructor.parameters.all { it.name != null }
8685

87-
val isSingleStringConstructor = kConstructor.isPossibleSingleString(propertyNames)
86+
val isSingleStringConstructor = kConstructor.isPossibleSingleString(propertyNames)
8887

89-
isPrimaryConstructor
90-
&& !(anyConstructorHasJsonCreator || anyCompanionMethodIsJsonCreator)
91-
&& areAllParametersValid
92-
&& !isSingleStringConstructor
93-
} else {
94-
false
95-
}
88+
return isPrimaryConstructor
89+
&& !(anyConstructorHasJsonCreator || anyCompanionMethodIsJsonCreator)
90+
&& areAllParametersValid
91+
&& !isSingleStringConstructor
9692
}
9793

9894
override fun hasCreatorAnnotation(member: Annotated): Boolean =

0 commit comments

Comments
 (0)