package Ġdev . in mo . s di Ċ Ċ import Ġcom . github . mat fax . klass index . Index Annotated Ċ import Ġcom . github . mat fax . klass index . K lass Index Ċ import Ġkotlin . reflect . K Class Ċ Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ @ Target ( Annotation Target . CLASS ) Ċ @ Index Annotated Ċ actual Ġannotation Ġclass ĠS DI Included Ġactual Ġconstructor ( actual Ġval Ġcustom Names : ĠArray < String >) Ċ Ċ internal Ġactual Ġfun Ġget Classes For In cluding In S DI (): ĠList < Pair < K Class <* >, ĠList < String >>> Ġ= ĠK lass Index . get Annotated ( ĊĠĠĠ ĠS DI Included :: class Ċ ). map Ġ{ ĊĠĠĠ Ġit . let Ġ{ ĊĠĠĠĠĠĠĠ Ġit Ġto Ġit . annotations . flatMap Ġ{ Ġ( it Ġas ? ĠS DI Included ) Ġ? . custom Names Ġ? . toList () Ġ?: Ġempty List () Ġ} ĊĠĠĠ Ġ} Ċ } Ċ