[KxSerialization] Implemented addition of annotations to the named companion

For a more efficient lookup of a companion with the functions of obtaining a serializer, a special annotation is added to the named companions.


Merge-request: KT-MR-11003
Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
This commit is contained in:
Sergey.Shanshin
2023-07-28 15:53:09 +00:00
committed by Space Team
parent 175c00e5c7
commit 6417f6456f
7 changed files with 170 additions and 0 deletions
@@ -43,6 +43,8 @@ object SerializationAnnotations {
val polymorphicFqName = FqName("kotlinx.serialization.Polymorphic")
val additionalSerializersFqName = FqName("kotlinx.serialization.UseSerializers")
val namedCompanionFqName = FqName("kotlinx.serialization.internal.NamedCompanion")
val serializableAnnotationClassId = ClassId.topLevel(serializableAnnotationFqName)
val serializerAnnotationClassId = ClassId.topLevel(serializerAnnotationFqName)
val serialNameAnnotationClassId = ClassId.topLevel(serialNameAnnotationFqName)
@@ -58,6 +60,7 @@ object SerializationAnnotations {
val contextualOnPropertyClassId = ClassId.topLevel(contextualOnPropertyFqName)
val polymorphicClassId = ClassId.topLevel(polymorphicFqName)
val additionalSerializersClassId = ClassId.topLevel(additionalSerializersFqName)
val namedCompanionClassId = ClassId.topLevel(namedCompanionFqName)
}
object SerialEntityNames {