// Ġ! LANGUAGE : Ġ+ Suspend Functions In Fun Interfaces Ġ+ Jvm Ir Enabled ByDefault Ċ // ĠTARGET _ BACKEND : ĠJVM Ċ // ĠIG NORE _ BACKEND : ĠJVM Ċ // ĠIG NORE _ LIGHT _ ANAL YS IS Ċ // ĠJVM _ TARGET : Ġ 1 . 8 Ċ // ĠSAM _ CONVERSION S : ĠIN DY Ċ // ĠWITH _ RUNTIME Ċ // ĠWITH _ COR OUT IN ES Ċ import Ġkotlin . coroutines .* Ċ Ċ var Ġc : ĠContinu ation < Unit >? Ġ= Ġnull Ċ Ċ suspend Ġfun Ġsuspend Me () Ġ= Ġsuspend Coroutine < Unit > Ġ{ Ġcontinuation Ġ-> ĊĠĠĠ Ġc Ġ= Ġcontinuation Ċ } Ċ Ċ fun Ġbuilder ( c : Ġsuspend Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġc . start Coroutine ( object : ĠContinu ation < Unit > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġcontext Ġ= ĠEmpty Coroutine Context ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġresume With ( result : ĠResult < Unit >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . get OrThrow () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ } Ċ Ċ fun Ġinterface ĠS uspend Foo Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġfoo () Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġvar Ġtest Ġ= Ġ"" ĊĠĠĠ Ġval Ġlambda Ġ= ĠS uspend Foo Ġ{ ĊĠĠĠĠĠĠĠ Ġsuspend Me () ĊĠĠĠĠĠĠĠ Ġtest Ġ+= Ġ" O " ĊĠĠĠĠĠĠĠ Ġsuspend Me () ĊĠĠĠĠĠĠĠ Ġtest Ġ+= Ġ" K " ĊĠĠĠ Ġ} ĊĠĠĠ Ġbuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġlambda . foo () ĊĠĠĠ Ġ} ĊĠĠĠ Ġc ?. resume ( Unit ) ĊĠĠĠ Ġc ?. resume ( Unit ) ĊĠĠĠ Ġreturn Ġtest Ċ } Ċ