Added support of external serializers to the FIR
Co-authored-by: Leonid Startsev <leonid.startsev@jetbrains.com> Merge-request: KT-MR-7334 Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
817afcd4af
commit
5a1c2c56bd
-3
@@ -1,3 +0,0 @@
|
||||
An operation is not implemented: Support @Serializer(for=...) supertype generation
|
||||
kotlin.NotImplementedError: An operation is not implemented: Support @Serializer(for=...) supertype generation
|
||||
at org.jetbrains.kotlinx.serialization.compiler.fir.SerializationFirSupertypesExtension.computeAdditionalSupertypes(SerializationFirSupertypesExtension.kt:39)
|
||||
@@ -1,9 +0,0 @@
|
||||
// SKIP_TXT
|
||||
|
||||
// FILE: test.kt
|
||||
import kotlinx.serialization.*
|
||||
|
||||
class Foo(i: Int, val j: Int)
|
||||
|
||||
@Serializer(forClass = Foo::class)
|
||||
object ExternalSerializer
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_TXT
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
// This test enshures that analysis ends up without compiler exceptions
|
||||
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
class Digest() {
|
||||
@Serializer(forClass = Digest::class)
|
||||
companion <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>object<!> : KSerializer<Digest> {}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// This test enshures that analysis ends up without compiler exceptions
|
||||
|
||||
import kotlinx.serialization.*
|
||||
|
||||
Vendored
-18
@@ -1,18 +0,0 @@
|
||||
// WITH_STDLIB
|
||||
// SKIP_TXT
|
||||
|
||||
import kotlinx.serialization.*
|
||||
|
||||
class Bar
|
||||
@Serializer(forClass = Bar::class)
|
||||
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>object BarSerializer<!>: KSerializer<Bar>
|
||||
|
||||
class Baz
|
||||
@Serializer(forClass = Baz::class)
|
||||
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>object BazSerializer<!>: KSerializer<Baz>
|
||||
|
||||
@Serializable
|
||||
class Foo1(@Polymorphic val i: Baz)
|
||||
|
||||
@Serializable
|
||||
class Foo2(val li: MutableList<@Serializable(with = BazSerializer::class) Baz>)
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// WITH_STDLIB
|
||||
// SKIP_TXT
|
||||
|
||||
|
||||
+3
-3
@@ -5,13 +5,13 @@ import kotlinx.serialization.*
|
||||
|
||||
class Bar
|
||||
@Serializer(forClass = Bar::class)
|
||||
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>object BarSerializer<!>: KSerializer<Bar>
|
||||
object BarSerializer: KSerializer<Bar>
|
||||
|
||||
class Baz
|
||||
@Serializer(forClass = Baz::class)
|
||||
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>object BazSerializer<!>: KSerializer<Baz>
|
||||
object BazSerializer: KSerializer<Baz>
|
||||
@Serializer(forClass = Baz::class)
|
||||
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>object NullableBazSerializer<!>: KSerializer<Baz?>
|
||||
object NullableBazSerializer: KSerializer<Baz?>
|
||||
|
||||
<!SERIALIZER_TYPE_INCOMPATIBLE!>@Serializable(with = BazSerializer::class)<!>
|
||||
class Biz(val i: Int)
|
||||
|
||||
Reference in New Issue
Block a user