From 9e8f21cc207c0773ced6b6639d5c13e5661cc732 Mon Sep 17 00:00:00 2001 From: Leonid Startsev Date: Mon, 20 Jan 2020 18:00:40 +0300 Subject: [PATCH] Search for standard serializers in both internal and root packages To allow graduate migration of some classes (e.g. IntSerializer) from kotlinx.serialization.internal.* to kotlinx.serialization.* --- .../kotlinx/serialization/compiler/backend/common/TypeUtil.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/common/TypeUtil.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/common/TypeUtil.kt index 2fc7c073251..d29eb488eb8 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/common/TypeUtil.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/common/TypeUtil.kt @@ -214,7 +214,9 @@ fun findStandardKotlinTypeSerializer(module: ModuleDescriptor, kType: KotlinType "java.util.Map.Entry" -> "MapEntrySerializer" else -> return null } - return module.findClassAcrossModuleDependencies(ClassId(internalPackageFqName, Name.identifier(name))) + val identifier = Name.identifier(name) + return module.findClassAcrossModuleDependencies(ClassId(internalPackageFqName, identifier)) + ?: module.findClassAcrossModuleDependencies(ClassId(SerializationPackages.packageFqName, identifier)) } fun findEnumTypeSerializer(module: ModuleDescriptor, kType: KotlinType): ClassDescriptor? {