kotlinx.serialization: @Serializable objects cause compilation errors

Hi when i run this code i get java.lang.NoSuchFieldError: Companion exception.

fun main() {
    val a = A // Throws java.lang.NoSuchFieldError: Companion
}

@Serializable
object A

@Serializer(forClass = A::class)
object ASerializer : KSerializer<A> {

    override val descriptor = SerialClassDescImpl("ASerializer")

    override fun serialize(encoder: Encoder, obj: A) = encoder.encodeString(obj::class.qualifiedName!!)

    override fun deserialize(decoder: Decoder): A = decoder.decodeString().run { A }
}

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 18 (9 by maintainers)

Most upvoted comments

@Serializable object is supported starting from Kotlin 1.3.60/kotlinx.serialization 0.14.0