From 7e32e2e9b9fe5e2bd797611514953cfef82f454c Mon Sep 17 00:00:00 2001 From: Leonid Startsev Date: Thu, 22 Nov 2018 17:05:50 +0300 Subject: [PATCH] Increase priority of @ContextualSerialization annotation on types --- .../compiler/backend/common/TypeUtil.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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 84df00669e9..fd8ae98359a 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 @@ -101,13 +101,13 @@ fun AbstractSerialGenerator.findTypeSerializerOrContext( if (annotations.hasAnnotation(SerializationAnnotations.contextualFqName) || kType in contextualKClassListInCurrentFile) module.getClassFromSerializationPackage(SpecialBuiltins.contextSerializer) else - throw CompilationException( - "Serializer for element of type $kType has not been found.\n" + - "To use context serializer as fallback, explicitly annotate element with @ContextualSerializer", - null, - sourceElement - ) - return findTypeSerializer(module, kType) ?: getContextualSerializer() + null + return getContextualSerializer() ?: findTypeSerializer(module, kType) ?: throw CompilationException( + "Serializer for element of type $kType has not been found.\n" + + "To use context serializer as fallback, explicitly annotate element with @ContextualSerializer", + null, + sourceElement + ) } fun findTypeSerializer(module: ModuleDescriptor, kType: KotlinType): ClassDescriptor? {