Skip to content

Commit e01e3de

Browse files
authored
Merge pull request #217 from ProjectMapK/remove-flags
Modified to not use deprecated API
2 parents 48248ee + 7677842 commit e01e3de

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.github.projectmapk.jackson.module.kogera
22

3+
import kotlinx.metadata.ClassKind
34
import kotlinx.metadata.ClassName
45
import kotlinx.metadata.ExperimentalContextReceivers
56
import kotlinx.metadata.Flags
@@ -18,14 +19,14 @@ import kotlinx.metadata.KmTypeParameterVisitor
1819
import kotlinx.metadata.KmTypeVisitor
1920
import kotlinx.metadata.KmVariance
2021
import kotlinx.metadata.KmVersionRequirementVisitor
21-
import kotlinx.metadata.flagsOf
2222
import kotlinx.metadata.internal.accept
2323
import kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil
2424
import kotlinx.metadata.jvm.getterSignature
2525
import kotlinx.metadata.jvm.signature
2626
import java.lang.reflect.Constructor
2727
import java.lang.reflect.Field
2828
import java.lang.reflect.Method
29+
import kotlinx.metadata.internal.metadata.deserialization.Flags as ProtoFlags
2930

3031
// KmClassVisitor with all processing disabled as much as possible to reduce load
3132
internal sealed class ReducedKmClassVisitor : KmClassVisitor() {
@@ -95,7 +96,7 @@ internal sealed interface JmClass {
9596
}
9697
}
9798

98-
val flags: Flags
99+
val kind: ClassKind
99100
val constructors: List<KmConstructor>
100101
val sealedSubclasses: List<ClassName>
101102
val inlineClassUnderlyingType: KmType?
@@ -120,7 +121,7 @@ private class JmClassImpl(
120121
override val properties: List<KmProperty>
121122

122123
private var companionPropName: String? = null
123-
override var flags: Flags = flagsOf()
124+
override lateinit var kind: ClassKind
124125
override val constructors: MutableList<KmConstructor> = mutableListOf()
125126
override val sealedSubclasses: MutableList<ClassName> = mutableListOf()
126127
override var inlineClassUnderlyingType: KmType? = null
@@ -181,7 +182,7 @@ private class JmClassImpl(
181182

182183
// KmClassVisitor
183184
override fun visit(flags: Flags, name: ClassName) {
184-
this.flags = flags
185+
kind = ClassKind.values()[ProtoFlags.CLASS_KIND.get(flags).number]
185186
}
186187

187188
override fun visitProperty(flags: Flags, name: String, getterFlags: Flags, setterFlags: Flags): KmPropertyVisitor =

src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/singletonSupport/KotlinBeanDeserializerModifier.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.databind.DeserializationConfig
55
import com.fasterxml.jackson.databind.JsonDeserializer
66
import com.fasterxml.jackson.databind.deser.BeanDeserializerModifier
77
import io.github.projectmapk.jackson.module.kogera.ReflectionCache
8-
import kotlinx.metadata.Flag
8+
import kotlinx.metadata.ClassKind
99
import java.io.Serializable
1010

1111
// [module-kotlin#225]: keep Kotlin singletons as singletons
@@ -19,10 +19,8 @@ internal class KotlinBeanDeserializerModifier(
1919
}
2020

2121
private fun objectSingletonInstance(beanClass: Class<*>): Any? = cache.getJmClass(beanClass)?.let {
22-
val flags = it.flags
23-
2422
// It is not assumed that the companion object is the target
25-
if (Flag.Class.IS_OBJECT(flags) && !Flag.Class.IS_COMPANION_OBJECT(flags)) {
23+
if (it.kind == ClassKind.OBJECT) {
2624
beanClass.getDeclaredField("INSTANCE").get(null)
2725
} else {
2826
null

0 commit comments

Comments
 (0)