package Ġorg . kode in . type Ċ Ċ import Ġkotlin . reflect . K Class Ċ import Ġkotlin . reflect . K Type Ċ import Ġkotlin . reflect . K Variance Ċ Ċ internal Ġfun ĠK Type . disp String ( disp : ĠK Class <* >. () Ġ-> ĠString ?): ĠString Ġ{ ĊĊĠĠĠ Ġval Ġclassifier String Ġ= Ġwhen Ġ( val Ġc Ġ= Ġclassifier ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠK Class < *> Ġ-> Ġc . disp () Ġ?: Ġreturn Ġ"( non - den ot able Ġtype )" ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġ"( non - den ot able Ġtype )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠ Ġappend ( classifier String ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( arguments . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend ('< ') ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . forEach Indexed Ġ{ Ġindex , Ġargument Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ> Ġ 0 ) Ġappend (", Ġ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( argument . variance Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ('* ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( when Ġ( argument . variance ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK Variance . IN Ġ-> Ġ" in Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK Variance . OUT Ġ-> Ġ" out Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( argument . type !!. disp String ( disp )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (' >') ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Marked Nullable ) Ġappend (' ?') ĊĠĠĠ Ġ} Ċ } Ċ