// ĠTODO : Ġmut ed Ġautomatically , Ġinvestigate Ġshould Ġit Ġbe Ġran Ġfor ĠJS Ġor Ġnot Ċ // ĠIG NORE _ BACKEND : ĠJS , ĠN ATIVE Ċ Ċ // ĠWITH _ RUNTIME Ċ Ċ package Ġz zz Ċ import Ġjava . lang . reflect . Field Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . reflect . K Property 0 Ċ Ċ @ Jvm Field Ġpublic Ġval Ġpublic Field Ġ= Ġ" 1 "; Ċ @ Jvm Field Ġinternal Ġval Ġinternal Field Ġ= Ġ" 2 "; Ċ Ċ fun Ġtest Accessors () Ġ{ ĊĠĠĠ Ġval Ġk Property : ĠK Property 0 < String > Ġ= Ġ:: public Field ĊĠĠĠ Ġcheck Accessor ( k Property , Ġ" 1 ") ĊĠĠĠ Ġcheck Accessor (:: internal Field , Ġ" 2 ") Ċ } ĊĊ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġtest Accessors () ĊĠĠĠ Ġreturn Ġ" OK " Ċ } Ċ Ċ public Ġfun Ġ< T , ĠR > Ġcheck Accessor ( prop : ĠK Property 0 < T >, Ġvalue : ĠR ) Ġ{ ĊĠĠĠ ĠassertEquals < Any ? >( prop . get (), Ġvalue , Ġ" Property Ġ${ prop } Ġhas Ġwrong Ġvalue ") Ċ } Ċ