package Ġcom . de de . n ativ et ools . util Ċ Ċ import Ġjava . lang . reflect . Field Ċ import Ġjava . lang . reflect . Method ĊĊ Ċ fun Ġ< T > ĠClass < T >. method ( name : ĠString , Ġvar arg Ġparameter Types : ĠClass < *> ): ĠMethod Ġ{ ĊĠĠĠ Ġreturn Ġthis . getMethod ( name , Ġ* parameter Types ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġis Accessible Ġ= Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠClass < T >. declared Method ( name : ĠString , Ġvar arg Ġparameter Types : ĠClass < *> ): ĠMethod Ġ{ ĊĠĠĠ Ġreturn Ġthis . getDeclared Method ( name , Ġ* parameter Types ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġis Accessible Ġ= Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠClass < T >. declared Field ( name : ĠString ): ĠField Ġ{ ĊĠĠĠ Ġreturn Ġthis . getDeclared Field ( name ). apply Ġ{ Ġis Accessible Ġ= Ġtrue Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAnnotation > ĠAny . annotation (): ĠT ? Ġ{ ĊĠĠĠ Ġreturn Ġthis . java Class . getAnnotation ( T :: class . java ) Ċ }