package Ġcom . github . kr 3 2 8 . ka idl . resolver Ċ Ċ import Ġcom . google . devtools . k sp . symbol . KS Annotation Ċ import Ġcom . google . devtools . k sp . symbol . KS Declaration Ċ import Ġcom . squareup . kotlin po et . ClassName Ċ Ċ fun ĠK S Declaration . getAnnotation ByName ( name : ĠClass Name ): ĠK S Annotation ? Ġ{ ĊĠĠĠ Ġreturn Ġannotations ĊĠĠĠĠĠĠĠ Ġ. first OrNull Ġ{ Ġit . annotation Type . resolve (). declaration . qualified Name !!. asString () Ġ== Ġname . canonical Name Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT > ĠK S Annotation . getValue ( key : ĠString ?): ĠT ? Ġ{ ĊĠĠĠ Ġreturn Ġarguments . first OrNull Ġ{ Ġit . name ?. asString () Ġ== Ġkey Ġ} Ġas ĠT Ċ } Ċ