[kxSerialization] Added diagnostic on useless Serializer annotation

Resolves Kotlin/kotlinx.serialization#2182

Merge-request: KT-MR-8718
Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
This commit is contained in:
Sergey.Shanshin
2023-02-14 22:00:33 +00:00
committed by Space Team
parent 3124154aef
commit c9b8160f1e
10 changed files with 93 additions and 4 deletions
@@ -4,8 +4,26 @@
// FILE: test.kt
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*
class Foo(i: Int, val j: Int)
<!EXTERNAL_CLASS_NOT_SERIALIZABLE!>@Serializer(forClass = Foo::class)<!>
object ExternalSerializer
<!EXTERNAL_SERIALIZER_USELESS!>@Serializer(forClass = Foo::class)<!>
object UselessExternalSerializer : KSerializer<Foo> {
override val descriptor: SerialDescriptor
get() {
TODO()
}
override fun serialize(encoder: Encoder, value: Foo) {
TODO()
}
override fun deserialize(decoder: Decoder): Foo {
TODO()
}
}
@@ -10,8 +10,6 @@ import java.util.*
@Serializer(forClass = Date::class)
object DateSerializer : KSerializer<Date> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("java.util.Date", PrimitiveKind.STRING)
override fun serialize(encoder: Encoder, value: Date) {
TODO()
}