package Ġorg . proto k ru ft Ċ Ċ import Ġcom . squareup . kotlin po et . ClassName Ċ import Ġcom . squareup . kotlin po et . as ClassName Ċ import Ġorg . reflection s . Reflection s Ċ Ċ fun ĠScan Classpath For ( pkg : ĠString , Ġclazz : ĠClass < *> ): Ġ() Ġ-> ĠList < ClassName > Ġ= Ġ{ ĊĠĠĠ ĠReflection s ( pkg ). getSub Types Of ( clazz ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . kotlin Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By Ġ{ Ġit . qualified Name Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . as ClassName () Ġ} Ċ } Ċ Ċ fun ĠClass Name . to Simple Names () Ġ= Ġreflection Name (). run Ġ{ ĊĠĠĠ Ġif Ġ( contains ("$ ")) Ġsubstring After ("$ "). replace ("$ ", Ġ"") Ġelse Ġsimple Name Ċ }. replace (".", Ġ"") Ċ