@@ -7,9 +7,7 @@ import kotlinx.metadata.ClassKind
77import kotlinx.metadata.ClassName
88import kotlinx.metadata.KmClass
99import kotlinx.metadata.KmFunction
10- import kotlinx.metadata.KmProperty
1110import kotlinx.metadata.isNullable
12- import kotlinx.metadata.jvm.getterSignature
1311import kotlinx.metadata.jvm.signature
1412import kotlinx.metadata.kind
1513import java.lang.reflect.Constructor
@@ -40,7 +38,7 @@ internal sealed interface JmClass {
4038 val constructors: List <JmConstructor >
4139 val sealedSubclasses: List <ClassName >
4240 val propertyNameSet: Set <String >
43- val properties: List <KmProperty >
41+ val properties: List <JmProperty >
4442 val companion : CompanionObject ?
4543 // endregion
4644
@@ -49,8 +47,8 @@ internal sealed interface JmClass {
4947 // endregion
5048
5149 fun findKmConstructor (constructor : Constructor <* >): JmConstructor ?
52- fun findPropertyByField (field : Field ): KmProperty ?
53- fun findPropertyByGetter (getter : Method ): KmProperty ?
50+ fun findPropertyByField (field : Field ): JmProperty ?
51+ fun findPropertyByGetter (getter : Method ): JmProperty ?
5452}
5553
5654private class JmClassImpl (
@@ -59,10 +57,10 @@ private class JmClassImpl(
5957 superJmClass : JmClass ? ,
6058 interfaceJmClasses : List <JmClass >
6159) : JmClass {
62- private val allPropsMap: Map <String , KmProperty >
60+ private val allPropsMap: Map <String , JmProperty >
6361
6462 // Defined as non-lazy because it is always read in both serialization and deserialization
65- override val properties: List <KmProperty >
63+ override val properties: List <JmProperty >
6664
6765 private val companionPropName: String? = kmClass.companionObject
6866 override val kind: ClassKind = kmClass.kind
@@ -77,7 +75,7 @@ private class JmClassImpl(
7775 // it is necessary to obtain a more specific type, so always add it from the abstract class first.
7876 val tempPropsMap = ((superJmClass as JmClassImpl ? )?.allPropsMap?.toMutableMap() ? : mutableMapOf ()).apply {
7977 kmClass.properties.forEach {
80- this [it.name] = it
78+ this [it.name] = JmProperty (it)
8179 }
8280 }
8381
@@ -119,11 +117,11 @@ private class JmClassImpl(
119117 }
120118
121119 // Field name always matches property name
122- override fun findPropertyByField (field : Field ): KmProperty ? = allPropsMap[field.name]
120+ override fun findPropertyByField (field : Field ): JmProperty ? = allPropsMap[field.name]
123121
124- override fun findPropertyByGetter (getter : Method ): KmProperty ? {
122+ override fun findPropertyByGetter (getter : Method ): JmProperty ? {
125123 val getterName = getter.name
126- return properties.find { it.getterSignature?.name == getterName }
124+ return properties.find { it.getterName == getterName }
127125 }
128126}
129127
0 commit comments