// ĠFULL _ JDK Ċ // ĠWITH _ RUNTIME Ċ // ĠTARGET _ BACKEND : ĠJVM Ċ Ċ // ĠMODULE : Ġlib Ċ // ĠFILE : ĠJ . java Ċ public Ġclass ĠJ Ġ{ ĊĠĠĠ Ġpublic Ġinterface ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠ Ġvoid Ġaccept ( String Ġp ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġstatic Ġvoid Ġinvoke With Null ( Consumer Ġx ) Ġ{ ĊĠĠĠĠĠĠĠ Ġx . accept ( null ); ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠMODULE : Ġmain ( lib ) Ċ // ĠFILE : ĠKotlin . kt Ċ inline Ġfun Ġmake Runnable ( cross inline Ġlambda : Ġ() Ġ-> ĠUnit ) Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlambda () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġmake Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ . invoke With Null ( object Ġ: ĠJ . Consumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġaccept ( t : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ}. run () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠNullPointerException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" OK " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġ" fail : Ġexception Ġexpected " Ċ } Ċ