// File ĠOK . java Ċ import Ġkotlin . Metadata ; Ċ Ċ public Ġfinal Ġclass ĠOK Ġ{ Ċ } ĊĊ Ċ // File ĠMy Class . java Ċ import Ġkotlin . Metadata ; Ċ Ċ @ Ann ( ĊĠĠ Ġarg Ġ= ĠOK . class Ċ ) Ċ public Ġfinal Ġclass ĠMy Class Ġ{ Ċ } ĊĊ Ċ // File ĠMain . kt Ċ // ĠIG NORE _ BACKEND _ FI R : ĠJVM _ IR Ċ // ĠTARGET _ BACKEND : ĠJVM Ċ Ċ // ĠWITH _ REF LECT Ċ Ċ import Ġkotlin . reflect . K Class Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġarg Name Ġ= ĠMy Class :: class . java . getAnnotation ( Ann :: class . java ). arg . simple Name Ġ?: Ġ" fail Ġ 1 " ĊĠĠĠ Ġreturn Ġarg Name Ċ } ĊĊĊ Ċ // File ĠAnn . java Ċ import Ġjava . lang . annotation . RetentionPolicy ; Ċ import Ġkotlin . Metadata ; Ċ import Ġkotlin . annotation . Annotation Retention ; Ċ import Ġkotlin . annotation . Retention ; Ċ Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ @ java . lang . annotation . Retention ( RetentionPolicy . RUNTIME ) Ċ public Ġ@ interface ĠAnn Ġ{ ĊĠĠ ĠClass Ġarg (); Ċ } Ċ