Skip to content

Commit dbfe25d

Browse files
committed
Cut out the judgment process of PrimaryConstructor
1 parent f1050ea commit dbfe25d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ internal class KotlinNamesAnnotationIntrospector(val module: KotlinModule, val c
6363
.apply { if (this in ignoredClassesForImplyingJsonCreator) return false }
6464
val kConstructor = cache.kotlinFromJava(member.annotated as Constructor<Any>) ?: return false
6565

66-
val isPrimaryConstructor = kClass.primaryConstructor == kConstructor ||
67-
(kClass.primaryConstructor == null && kClass.constructors.size == 1)
66+
val isPrimaryConstructor = kClass.isPrimaryConstructor(kConstructor)
6867

6968
val propertyNames = kClass.memberProperties.map { it.name }.toSet()
7069

@@ -153,3 +152,6 @@ private fun KFunction<*>.isPossibleSingleString(propertyNames: Set<String>): Boo
153152

154153
private fun Collection<KFunction<*>>.filterOutSingleStringCallables(propertyNames: Set<String>): Collection<KFunction<*>> =
155154
this.filter { !it.isPossibleSingleString(propertyNames) }
155+
156+
private fun KClass<*>.isPrimaryConstructor(kConstructor: KFunction<*>) = this.primaryConstructor == kConstructor ||
157+
(this.primaryConstructor == null && this.constructors.size == 1)

0 commit comments

Comments
 (0)