@@ -59,7 +59,13 @@ interface XmlSerializationPolicy {
59
59
fun isListEluded (serializerParent : SafeParentInfo , tagParent : SafeParentInfo ): Boolean
60
60
fun isTransparentPolymorphic (serializerParent : SafeParentInfo , tagParent : SafeParentInfo ): Boolean
61
61
62
+ fun serialTypeNameToQName (typeNameInfo : DeclaredNameInfo , parentNamespace : Namespace ): QName =
63
+ serialNameToQName(typeNameInfo.serialName, parentNamespace)
62
64
65
+ fun serialUseNameToQName (useNameInfo : DeclaredNameInfo , parentNamespace : Namespace ): QName =
66
+ serialNameToQName(useNameInfo.serialName, parentNamespace)
67
+
68
+ @Deprecated(" It is recommended to override serialTypeNameToQName and serialUseNameToQName instead" )
63
69
fun serialNameToQName (serialName : String , parentNamespace : Namespace ): QName
64
70
65
71
data class DeclaredNameInfo (val serialName : String , val annotatedName : QName ? )
@@ -180,11 +186,11 @@ open class DefaultXmlSerializationPolicy(
180
186
serialKind == PolymorphicKind .OPEN ||
181
187
typeNameInfo.serialName == " kotlin.Unit" || // Unit needs a special case
182
188
parentSerialKind is PolymorphicKind // child of explict polymorphic uses predefined names
183
- -> serialNameToQName (useName.serialName , parentNamespace)
189
+ -> serialUseNameToQName (useName, parentNamespace)
184
190
185
191
typeNameInfo.annotatedName != null -> typeNameInfo.annotatedName
186
192
187
- else -> serialNameToQName (typeNameInfo.serialName , parentNamespace)
193
+ else -> serialTypeNameToQName (typeNameInfo, parentNamespace)
188
194
}
189
195
}
190
196
0 commit comments