package Ġcom . ba el . d ads . processor . ext Ċ Ċ import Ġjavax . lang . model . element . Annotation Mirror Ċ import Ġjavax . lang . model . element . Element Ċ import Ġjavax . lang . model . element . Type Element Ċ import Ġjavax . lang . model . type . Type Mirror Ċ import Ġjavax . lang . model . util . Types Ċ import Ġkotlin . reflect . K Property Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠEr ick Sum argo Ġon Ġ 0 1 / 0 1 / 2 1 . Ċ Ġ*/ Ċ Ċ fun ĠAnnotation Mirror . to Element (): ĠElement Ġ{ ĊĠĠĠ Ġreturn Ġannotation Type . as Element () Ċ } Ċ Ċ fun ĠAnnotation Mirror . parameter Of ( type Utils : ĠTypes , Ġparameter : ĠK Property < *> ): ĠType Element ? Ġ{ ĊĠĠĠ Ġval Ġtype Mirror Ġ= Ġelement Values ?. entries ?. first OrNull Ġ{ Ġ( element , Ġ_) Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . simple Name . toString () Ġ== Ġparameter . name ĊĠĠĠ Ġ} ?. value ?. value Ġas ? ĠType Mirror ĊĠĠĠ Ġreturn Ġtype Utils . as Element ( type Mirror ) Ġas ĠType Element Ċ } Ċ