Add checker for companion objects inside serializable class:

Warning for old FE, error in FIR

#KT-54441 Fixed

Merged-by: Leonid Startsev <leonid.startsev@jetbrains.com>
This commit is contained in:
Leonid Startsev
2022-10-20 10:18:04 +00:00
committed by Space Team
parent 3832c6a520
commit 4cf50d7d23
12 changed files with 238 additions and 8 deletions
@@ -0,0 +1,39 @@
// FIR_IDENTICAL
// SKIP_TXT
// FILE: test.kt
import kotlinx.serialization.*
class Bar
<!COMPANION_OBJECT_AS_CUSTOM_SERIALIZER_DEPRECATED!>@Serializable<!>
class Foo1 {
@Serializer(Foo1::class)
companion object
}
@Serializable
class Foo2 {
<!COMPANION_OBJECT_SERIALIZER_INSIDE_OTHER_SERIALIZABLE_CLASS!>@Serializer(Bar::class)<!>
companion object
}
@Serializer(Foo3::class)
object Foo3Ser
@Serializable(Foo3Ser::class)
class Foo3 {
<!COMPANION_OBJECT_SERIALIZER_INSIDE_OTHER_SERIALIZABLE_CLASS!>@Serializer(Bar::class)<!>
companion object
}
@Serializable(Foo4.Companion::class)
class Foo4 {
@Serializer(Foo4::class)
companion object
}
class NonSerializableFoo {
<!COMPANION_OBJECT_SERIALIZER_INSIDE_NON_SERIALIZABLE_CLASS!>@Serializer(Bar::class)<!>
companion object
}