Handle situation where KSerializer is absent from immediate supertypes
of the class used in @UseSerializers: Use methods to receive full list of supertypes. K1 supertypes() call returned all supertypes, while IrClass.supertypes and FirClassSymbol.resolvedSuperTypes return only immediate ones. This lead to a difference in behavior between K1 and K2, and regression after plugin backend was rewritten from descriptors to IR. #KT-55340 Fixed
This commit is contained in:
committed by
Space Team
parent
c011f0c374
commit
1c4614e93b
+2
@@ -208,6 +208,8 @@ object SerializersClassIds {
|
||||
val sealedSerializerId = ClassId(SerializationPackages.packageFqName, Name.identifier(SpecialBuiltins.sealedSerializer))
|
||||
val contextSerializerId = ClassId(SerializationPackages.packageFqName, Name.identifier(SpecialBuiltins.contextSerializer))
|
||||
val generatedSerializerId = ClassId(SerializationPackages.internalPackageFqName, SerialEntityNames.GENERATED_SERIALIZER_CLASS)
|
||||
|
||||
val setOfSpecialSerializers = setOf(contextSerializerId, polymorphicSerializerId)
|
||||
}
|
||||
|
||||
fun findStandardKotlinTypeSerializerName(typeName: String?): String? {
|
||||
|
||||
Reference in New Issue
Block a user