decodeInline

open override fun decodeInline(inlineDescriptor: SerialDescriptor): Decoder

Returns Decoder for decoding an underlying type of an inline class. inlineDescriptor describes a target inline class.

Namely, for the @Serializable inline class MyInt(val my: Int), the following sequence is used:

thisDecoder.decodeInline(MyInt.serializer().descriptor).decodeInt()

Current decoder may return any other instance of Decoder class, depending on the provided inlineDescriptor. For example, when this function is called on Json decoder with UInt.serializer().descriptor, the returned decoder is able to decode unsigned integers.

Note that this function returns Decoder instead of the CompositeDecoder because inline classes always have the single property. Calling Decoder.beginStructure on returned instance leads to an undefined behavior.