// ĠIG NORE _ BACKEND : ĠJVM _ IR Ċ // ĠWITH _ COR OUT IN ES Ċ // ĠCOMMON _ COR OUT IN ES _ TEST Ċ Ċ import Ġhelpers .* Ċ import ĠCOR OUT IN ES _ PACKAGE .* Ċ import ĠCOR OUT IN ES _ PACKAGE . intr insics .* Ċ Ċ var Ġresult Ġ= Ġ" fail " Ċ Ċ interface ĠS uspend Interface Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġfoo ( v : ĠString ) Ċ } Ċ Ċ class ĠDelegate Ġ: ĠS uspend Interface Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġfoo ( v : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġv ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠDecor ator ( parent : ĠS uspend Interface ) Ġ: ĠS uspend Interface Ġby Ġparent Ċ Ċ fun Ġexecute ( c : Ġsuspend Ġ() Ġ-> ĠUnit ) Ġ= Ġc . start Coroutine ( Empty Continuation ) Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĊĠĠĠ Ġexecute Ġ{ ĊĠĠĠĠĠĠĠ ĠDecor ator ( Delegate ()). foo (" OK ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġresult Ċ }