// ĠIG NORE _ BACKEND : ĠJVM Ċ // ĠWITH _ RUNTIME Ċ Ċ val Ġ< T > ĠT . foo Ġget () Ġ= Ġ 4 2 Ċ Ċ class ĠA Ċ Ċ inline Ġclass ĠZ ( val Ġx : ĠInt ) Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġtest 1 Ġ= ĠA :: foo . get ( A ()) ĊĠĠĠ Ġif Ġ( test 1 Ġ!= Ġ 4 2 ) Ġthrow ĠException (" test 1 : Ġ$ test 1 ") ĊĊĠĠĠ Ġval Ġtest 2 Ġ= ĠString :: foo . get ("") ĊĠĠĠ Ġif Ġ( test 2 Ġ!= Ġ 4 2 ) Ġthrow ĠException (" test 2 : Ġ$ test 2 ") ĊĊĠĠĠ Ġval Ġtest 3 Ġ= ĠInt :: foo . get ( 1 ) ĊĠĠĠ Ġif Ġ( test 3 Ġ!= Ġ 4 2 ) Ġthrow ĠException (" test 3 : Ġ$ test 3 ") ĊĊĠĠĠ Ġval Ġtest 4 Ġ= ĠZ :: foo . get ( Z ( 1 )) ĊĠĠĠ Ġif Ġ( test 4 Ġ!= Ġ 4 2 ) Ġthrow ĠException (" test 4 : Ġ$ test 4 ") ĊĊĠĠĠ Ġreturn Ġ" OK " Ċ }