1 /* 2 * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 */ 4 5 package kotlinx.serialization.internal 6 7 import kotlinx.serialization.* 8 import kotlinx.serialization.descriptors.* 9 import kotlinx.serialization.encoding.* 10 import kotlinx.serialization.modules.* 11 12 /** 13 * Encoder that does not do any operations. Its main purpose is to ignore data instead of writing it. 14 */ 15 @OptIn(ExperimentalSerializationApi::class) 16 internal object NoOpEncoder : AbstractEncoder() { 17 override val serializersModule: SerializersModule = EmptySerializersModule() 18 encodeValuenull19 public override fun encodeValue(value: Any): Unit = Unit 20 21 override fun encodeNull(): Unit = Unit 22 23 override fun encodeBoolean(value: Boolean): Unit = Unit 24 override fun encodeByte(value: Byte): Unit = Unit 25 override fun encodeShort(value: Short): Unit = Unit 26 override fun encodeInt(value: Int): Unit = Unit 27 override fun encodeLong(value: Long): Unit = Unit 28 override fun encodeFloat(value: Float): Unit = Unit 29 override fun encodeDouble(value: Double): Unit = Unit 30 override fun encodeChar(value: Char): Unit = Unit 31 override fun encodeString(value: String): Unit = Unit 32 override fun encodeEnum(enumDescriptor: SerialDescriptor, index: Int): Unit = Unit 33 } 34