[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:
committed by
Space Team
parent
3124154aef
commit
c9b8160f1e
@@ -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()
|
||||
}
|
||||
|
||||
+1
-1
@@ -181,7 +181,7 @@ FILE: serializerViaCompanion.kt
|
||||
public final val i: R|kotlin/Int| = R|<local>/i|
|
||||
public get(): R|kotlin/Int|
|
||||
|
||||
@R|kotlinx/serialization/Serializer|(forClass = <getClass>(Q|com/example/FullyOverridden|)) public final companion object Companion : R|kotlinx/serialization/KSerializer<com/example/FullyOverridden>| {
|
||||
public final companion object Companion : R|kotlinx/serialization/KSerializer<com/example/FullyOverridden>| {
|
||||
private constructor(): R|com/example/FullyOverridden.Companion| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
+1
-1
@@ -67,8 +67,8 @@ data class PartiallyWithoutType(val i: Int) {
|
||||
|
||||
@Serializable(FullyOverridden.Companion::class)
|
||||
data class FullyOverridden(val i: Int) {
|
||||
@Serializer(forClass = FullyOverridden::class)
|
||||
companion object : KSerializer<FullyOverridden> {
|
||||
|
||||
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("FullyOverridden", PrimitiveKind.STRING)
|
||||
|
||||
override fun serialize(encoder: Encoder, value: FullyOverridden) {
|
||||
|
||||
Reference in New Issue
Block a user