// Ġ! LANGUAGE : Ġ+ Inline Classes Ċ // ĠIG NORE _ BACKEND _ FI R : ĠJVM _ IR Ċ Ċ inline Ġclass ĠResult < T >( val Ġa : ĠAny ?) Ċ Ċ fun Ġresult Of Int To Result Of Int ( r : ĠResult < Int >): ĠResult < Int > Ġ{ ĊĠĠĠ Ġreturn Ġr Ċ } Ċ Ċ fun Ġ< T > Ġid Result ( r : ĠResult < T >): ĠResult < T > Ġ= Ġr Ċ Ċ fun ĠResult < Int >. extension (): ĠResult < Int > Ġ= Ġthis Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġr Ġ= ĠResult < Int >( null ) ĊĊĠĠĠ Ġresult Of Int To Result Of Int ( r ) ĊĠĠĠ Ġresult Of Int To Result Of Int ( Result < Int >( null )) ĊĊĠĠĠ Ġval Ġnon Null 1 Ġ= Ġresult Of Int To Result Of Int ( r ) ĊĠĠĠ Ġval Ġnon Null 2 Ġ= Ġresult Of Int To Result Of Int ( Result < Int >( null )) ĊĊĠĠĠ Ġresult Of Int To Result Of Int ( non Null 1 ) ĊĊĠĠĠ Ġif Ġ( non Null 1 . a Ġ!= Ġnull ) Ġreturn Ġ" fail " ĊĠĠĠ Ġif Ġ( non Null 2 . a Ġ!= Ġnull ) Ġreturn Ġ" fail " ĊĊĠĠĠ Ġif Ġ( result Of Int To Result Of Int ( r ). a Ġ!= Ġnull ) Ġreturn Ġ" fail " ĊĊĠĠĠ Ġid Result ( Result < String >( null )) ĊĊĠĠĠ Ġval Ġid Ġ= Ġid Result ( r ) ĊĠĠĠ Ġif Ġ( id . a Ġ!= Ġnull ) Ġreturn Ġ" fail " ĊĊĠĠĠ Ġr . extension () ĊĠĠĠ ĠResult < Int >( null ). extension () ĊĊĠĠĠ Ġreturn Ġ" OK " Ċ }