// ĠIG NORE _ BACKEND _ FI R : ĠJVM _ IR Ċ // ĠSKIP _ JDK 6 Ċ // ĠTARGET _ BACKEND : ĠJVM Ċ // ĠFULL _ JDK Ċ // ĠWITH _ REF LECT Ċ Ċ package Ġtest Ċ Ċ annotation Ġclass ĠAnno ( val Ġvalue : ĠString ) Ċ Ċ interface ĠTest Ġ{ ĊĠĠĠ Ġfun Ġfoo (@ Anno (" OK ") Ġa : ĠString ) Ġ= Ġ" 1 2 3 " Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġtest Method Ġ= ĠClass . forName (" test . Test \$ Default Imp ls "). declared Methods . single () ĊĠĠĠ Ġ// return Ġ(:: test . parameters . single (). annotations . single () Ġas ĠSimple ). value ĊĠĠĠ Ġval Ġreceiver Annotations Ġ= Ġ( test Method . parameters [ 0 ]). annotations ĊĠĠĠ Ġif Ġ( receiver Annotations . isNotEmpty ()) Ġreturn Ġ" fail : Ġreceiver Ġparameter Ġshould Ġnot Ġhave Ġany Ġannotations , Ġbut : Ġ${ receiver Annotations . join ToString () }" ĊĊĠĠĠ Ġval Ġvalue 2 Ġ= Ġ(( test Method . parameters [ 1 ]). annotations . single () Ġas ĠAnno ). value ĊĊĠĠĠ Ġreturn Ġvalue 2 Ċ } Ċ