/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġkotlinx . serialization Ċ Ċ import Ġkotlin . reflect . K Class Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ actual Ġfun Ġ< T : ĠAny > ĠK Class < T >. serializer (): ĠK Serializer < T > Ġ= Ġthis . java ĊĠĠĠĠĠĠĠ Ġ. declared Classes . filter Ġ{ Ġit . simple Name Ġ== Ġ(" \$ serializer ") Ġ}. single OrNull () ĊĠĠĠĠĠĠĠ Ġ? . getField (" INSTANCE ") ?. get ( null ) Ġas ? ĠK Serializer < T > ĊĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠSerialization Exception (" Can 't Ġlocate Ġcompanion Ġserializer Ġfor Ġclass Ġ$ this ") Ċ Ċ actual Ġfun ĠString . to Utf 8 Bytes () Ġ= Ġthis . toByteArray ( Charsets . UTF _ 8 ) Ċ actual Ġfun Ġstring From Utf 8 Bytes ( bytes : ĠByteArray ) Ġ= ĠString ( bytes , ĠChar sets . UTF _ 8 ) Ċ Ċ actual Ġfun Ġ< E : ĠEnum < E >> Ġenum FromName ( enum Class : ĠK Class < E >, Ġvalue : ĠString ): ĠE Ġ= Ġjava . lang . Enum . valueOf ( enum Class . java , Ġvalue ) Ċ actual Ġfun Ġ< E : ĠEnum < E >> Ġenum From Ordinal ( enum Class : ĠK Class < E >, Ġordinal : ĠInt ): ĠE Ġ= Ġenum Class . java . enum Constants [ ordinal ] Ċ Ċ actual Ġfun Ġ< E : ĠEnum < E >> ĠK Class < E >. enum ClassName (): ĠString Ġ= Ġthis . qualified Name Ġ?: Ġ"" Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ actual Ġfun Ġ< T : ĠAny , ĠE : ĠT ?> ĠArrayList < E >. to Native Array ( e Class : ĠK Class < T >): ĠArray < E > Ġ= Ġto Array ( java . lang . reflect . Array . newInstance ( e Class . java , Ġsize ) Ġas ĠArray < E >)