@ file : Use Context ual Serialization ( Context ual Test . Cont :: class ) Ċ Ċ package Ġkotlinx . serialization . test Ċ Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . Use Context ual Serialization Ċ import Ġkotlinx . serialization . descriptors . Primitive Kind Ċ import Ġkotlinx . serialization . descriptors . Primitive Serial Descriptor Ċ import Ġkotlinx . serialization . descriptors . Serial Descriptor Ċ import Ġkotlinx . serialization . encode ToString Ċ import Ġkotlinx . serialization . encoding . Decoder Ċ import Ġkotlinx . serialization . encoding . Encoder Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġkotlinx . serialization . modules . Serial izers Module Ċ import Ġkotlinx . serialization . modules . context ual Ċ Ċ class ĠContext ual Test Ġ{ ĊĠĠĠ Ġdata Ġclass ĠCont ( val Ġi : ĠInt ) ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠDate Holder ( val Ġcont : ĠCont ?) ĊĊĠĠĠ Ġobject ĠDate Serializer : ĠK Serializer < Cont > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠCont Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCont ( decoder . decode Int ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor Ġ= ĠPrimitive Serial Descriptor (" Cont Serializer ", ĠPrimitive Kind . INT ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġvalue : ĠCont ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġencoder . encode Int ( value . i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġmodule Ġ= ĠSerial izers Module Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext ual ( Date Serializer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ kotlin . test . Test ĊĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJson Ġ{ Ġserializers Module Ġ= Ġmodule Ġ} ĊĊĠĠĠĠĠĠĠ Ġprintln ( json . encode ToString ( Date Holder ( Cont ( 4 2 )))) ĊĠĠĠ Ġ} Ċ } Ċ