Skip to content

Commit cce73b8

Browse files
committed
Reduction of information held in constructor-related
1 parent 25563b5 commit cce73b8

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmClass.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import io.github.projectmapk.jackson.module.kogera.toSignature
66
import kotlinx.metadata.ClassKind
77
import kotlinx.metadata.ClassName
88
import kotlinx.metadata.KmClass
9-
import kotlinx.metadata.KmConstructor
109
import kotlinx.metadata.KmFunction
1110
import kotlinx.metadata.KmProperty
1211
import kotlinx.metadata.isNullable
@@ -38,7 +37,7 @@ internal sealed interface JmClass {
3837

3938
// region: from KmClass
4039
val kind: ClassKind
41-
val constructors: List<KmConstructor>
40+
val constructors: List<JmConstructor>
4241
val sealedSubclasses: List<ClassName>
4342
val propertyNameSet: Set<String>
4443
val properties: List<KmProperty>
@@ -49,7 +48,7 @@ internal sealed interface JmClass {
4948
val wrapsNullableIfValue: Boolean
5049
// endregion
5150

52-
fun findKmConstructor(constructor: Constructor<*>): KmConstructor?
51+
fun findKmConstructor(constructor: Constructor<*>): JmConstructor?
5352
fun findPropertyByField(field: Field): KmProperty?
5453
fun findPropertyByGetter(getter: Method): KmProperty?
5554
}
@@ -67,7 +66,7 @@ private class JmClassImpl(
6766

6867
private val companionPropName: String? = kmClass.companionObject
6968
override val kind: ClassKind = kmClass.kind
70-
override val constructors: List<KmConstructor> = kmClass.constructors
69+
override val constructors: List<JmConstructor> = kmClass.constructors.map { JmConstructor(it) }
7170
override val sealedSubclasses: List<ClassName> = kmClass.sealedSubclasses
7271

7372
override val wrapsNullableIfValue: Boolean = kmClass.inlineClassUnderlyingType?.isNullable ?: false
@@ -99,7 +98,7 @@ private class JmClassImpl(
9998
companionPropName?.let { JmClass.CompanionObject(clazz, it) }
10099
}
101100

102-
override fun findKmConstructor(constructor: Constructor<*>): KmConstructor? {
101+
override fun findKmConstructor(constructor: Constructor<*>): JmConstructor? {
103102
val descHead = constructor.parameterTypes.toDescBuilder()
104103
val len = descHead.length
105104
val desc = CharArray(len + 1).apply {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package io.github.projectmapk.jackson.module.kogera.jmClass
2+
3+
import kotlinx.metadata.KmConstructor
4+
import kotlinx.metadata.KmValueParameter
5+
import kotlinx.metadata.isSecondary
6+
import kotlinx.metadata.jvm.JvmMethodSignature
7+
import kotlinx.metadata.jvm.signature
8+
9+
internal data class JmConstructor(
10+
val isSecondary: Boolean,
11+
val signature: JvmMethodSignature?,
12+
val valueParameters: List<KmValueParameter>
13+
) {
14+
constructor(constructor: KmConstructor) : this(
15+
isSecondary = constructor.isSecondary,
16+
signature = constructor.signature,
17+
valueParameters = constructor.valueParameters
18+
)
19+
}

0 commit comments

Comments
 (0)