diff options
Diffstat (limited to 'core/commonMain/src/kotlinx/serialization/encoding/AbstractDecoder.kt')
-rw-r--r-- | core/commonMain/src/kotlinx/serialization/encoding/AbstractDecoder.kt | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/core/commonMain/src/kotlinx/serialization/encoding/AbstractDecoder.kt b/core/commonMain/src/kotlinx/serialization/encoding/AbstractDecoder.kt index 8e2799c9..ffe6dd37 100644 --- a/core/commonMain/src/kotlinx/serialization/encoding/AbstractDecoder.kt +++ b/core/commonMain/src/kotlinx/serialization/encoding/AbstractDecoder.kt @@ -34,7 +34,7 @@ public abstract class AbstractDecoder : Decoder, CompositeDecoder { override fun decodeString(): String = decodeValue() as String override fun decodeEnum(enumDescriptor: SerialDescriptor): Int = decodeValue() as Int - override fun decodeInline(inlineDescriptor: SerialDescriptor): Decoder = this + override fun decodeInline(descriptor: SerialDescriptor): Decoder = this // overwrite by default public open fun <T : Any?> decodeSerializableValue( @@ -74,8 +74,7 @@ public abstract class AbstractDecoder : Decoder, CompositeDecoder { index: Int, deserializer: DeserializationStrategy<T?>, previousValue: T? - ): T? { - val isNullabilitySupported = deserializer.descriptor.isNullable - return if (isNullabilitySupported || decodeNotNullMark()) decodeSerializableValue(deserializer, previousValue) else decodeNull() + ): T? = decodeIfNullable(deserializer) { + decodeSerializableValue(deserializer, previousValue) } } |