// ĠTODO : Ġmut ed Ġautomatically , Ġinvestigate Ġshould Ġit Ġbe Ġran Ġfor ĠJS Ġor Ġnot Ċ // ĠIG NORE _ BACKEND : ĠJS , ĠN ATIVE Ċ Ċ // ĠWITH _ REF LECT Ċ Ċ import Ġkotlin . reflect . K Property Ċ import Ġkotlin . reflect . K Mutable Property Ċ import Ġkotlin . reflect . K Mutable Property 1 Ċ import Ġkotlin . reflect . full .* Ċ import Ġkotlin . reflect . jvm .* Ċ Ċ object ĠDelegate Ġ{ ĊĠĠĠ Ġoperator Ġfun ĠgetValue ( th iz : ĠMy , Ġproperty : ĠK Property < *> ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( property Ġ! is ĠK Mutable Property <* >) Ġreturn Ġ" Fail : Ġproperty Ġis Ġnot Ġa ĠK Mutable Property " ĊĠĠĠĠĠĠĠ Ġproperty Ġas ĠK Mutable Property 1 < My , ĠString > ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty . set ( th iz , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" Fail : Ġproperty . set Ġshould Ġcause ĠIllegal Callable AccessException " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠIllegal Callable AccessException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOK ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġproperty . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġproperty . set ( th iz , Ġ"") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" OK " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun ĠsetValue ( th iz : ĠMy , Ġproperty : ĠK Property <* >, Ġvalue : ĠString ) Ġ{ ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠMy Ġ{ ĊĠĠĠ Ġvar Ġdelegate : ĠString Ġby ĠDelegate ĊĠĠĠĠĠĠĠ Ġprivate Ġset Ċ } Ċ Ċ fun Ġbox () Ġ= ĠMy (). delegate Ċ