package Ġio . fluid sonic . json Ċ Ċ import Ġkotlin . reflect .* Ċ import Ġkotlin . reflect . jvm . internal .* Ċ Ċ // Ġfrom Ġkotlin - reflect , Ġmodified , Ġprobably Ġwrong Ġin Ġsome Ġedge Ġcases , Ġclose Ġenough Ġin Ġorder Ġto Ġavoid Ġkotlin - reflect Ġdependency Ġfor Ġnow ĊĊ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġ[ K Class ] Ġinstance Ġrepresenting Ġthe Ġruntime Ġclass Ġto Ġwhich Ġthis Ġtype Ġis Ġer ased Ġto Ġon ĠJVM . Ċ Ġ*/ Ċ @ Since Kotlin (" 1 . 1 ") Ċ public Ġval ĠK Type . jvm Er asure : ĠK Class < *> Ċ ĉ get () Ġ= Ġclassifier ?. jvm Er asure Ġ?: Ġthrow ĠKotlin Reflection Internal Error (" Cannot Ġcalculate ĠJVM Ġer asure Ġfor Ġtype : Ġ$ this ") ĊĊ Ċ internal Ġval ĠK Classifier . jvm Er asure : ĠK Class < *> Ċ ĉ get () Ġ= Ġwhen Ġ( this ) Ġ{ Ċĉ ĉ is ĠK Class < *> Ġ-> Ġthis Ċĉ ĉ is ĠK Type Parameter Ġ-> Ġ{ Ċĉĉ ĉ val Ġbounds Ġ= Ġupper Bounds Ċĉĉ ĉ val Ġrepresentative Bound E ras ures Ġ= Ġbounds . map NotNull Ġ{ Ġit . classifier ?. jvm Er asure Ġ} Ċĉĉ ĉ represent ative Bound E ras ures . first OrNull Ġ{ Ġ!( it . java . is Interface Ġ|| Ġit . java . is Annotation ) Ġ} Ċĉĉĉ ĉ ?: Ġrepresentative Bound E ras ures . first OrNull () Ċĉĉĉ ĉ ?: ĠAny :: class Ċĉ ĉ } Ċĉ ĉ else Ġ-> Ġthrow ĠKotlin Reflection Internal Error (" Cannot Ġcalculate ĠJVM Ġer asure Ġfor Ġtype : Ġ$ this ") Ċ ĉ } Ċ