summaryrefslogtreecommitdiff
path: root/runtime/commonMain/src/kotlinx/serialization/ElementWise.kt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/commonMain/src/kotlinx/serialization/ElementWise.kt')
-rw-r--r--runtime/commonMain/src/kotlinx/serialization/ElementWise.kt11
1 files changed, 3 insertions, 8 deletions
diff --git a/runtime/commonMain/src/kotlinx/serialization/ElementWise.kt b/runtime/commonMain/src/kotlinx/serialization/ElementWise.kt
index b41b6137..57fe8bed 100644
--- a/runtime/commonMain/src/kotlinx/serialization/ElementWise.kt
+++ b/runtime/commonMain/src/kotlinx/serialization/ElementWise.kt
@@ -22,12 +22,6 @@ abstract class ElementValueEncoder : Encoder, CompositeEncoder {
*/
open fun encodeElement(desc: SerialDescriptor, index: Int): Boolean = true
- /**
- * Encodes that following value is not null.
- * No-op by default.
- */
- override fun encodeNotNullMark() {}
-
open fun encodeValue(value: Any): Unit
= throw SerializationException("Non-serializable ${value::class} is not supported by ${this::class} encoder")
@@ -52,8 +46,6 @@ abstract class ElementValueEncoder : Encoder, CompositeEncoder {
override fun encodeEnum(enumDescriptor: SerialDescriptor, index: Int) = encodeValue(index)
// Delegating implementation of CompositeEncoder
-
- final override fun encodeNonSerializableElement(descriptor: SerialDescriptor, index: Int, value: Any) { if (encodeElement(descriptor, index)) encodeValue(value) }
final override fun encodeUnitElement(descriptor: SerialDescriptor, index: Int) { if (encodeElement(descriptor, index)) encodeUnit() }
final override fun encodeBooleanElement(descriptor: SerialDescriptor, index: Int, value: Boolean) { if (encodeElement(descriptor, index)) encodeBoolean(value) }
final override fun encodeByteElement(descriptor: SerialDescriptor, index: Int, value: Byte) { if (encodeElement(descriptor, index)) encodeByte(value) }
@@ -109,6 +101,9 @@ abstract class ElementValueDecoder : Decoder, CompositeDecoder {
return this
}
+ override fun endStructure(descriptor: SerialDescriptor) {
+ }
+
final override fun decodeUnitElement(desc: SerialDescriptor, index: Int) = decodeUnit()
final override fun decodeBooleanElement(descriptor: SerialDescriptor, index: Int): Boolean = decodeBoolean()
final override fun decodeByteElement(descriptor: SerialDescriptor, index: Int): Byte = decodeByte()