// ĠIG NORE _ BACKEND : ĠJS _ IR Ċ // ĠIG NORE _ BACKEND : ĠJVM _ IR Ċ // ĠWITH _ RUNTIME Ċ // ĠWITH _ COR OUT IN ES Ċ // ĠCOMMON _ COR OUT IN ES _ TEST Ċ // ĠIG NORE _ BACKEND : ĠN ATIVE Ċ import Ġhelpers .* Ċ import ĠCOR OUT IN ES _ PACKAGE .* Ċ import ĠCOR OUT IN ES _ PACKAGE . intr insics .* Ċ Ċ class ĠA Ġ{ ĊĠĠĠ Ġvar Ġresult Ġ= Ġmutable ListOf (" O ", Ġ" K ", Ġnull ) ĊĠĠĠ Ġsuspend Ġfun Ġfoo (): ĠString ? Ġ= Ġsuspend Coroutine Un intercept ed Or Return Ġ{ Ġx Ġ-> ĊĠĠĠĠĠĠĠ Ġx . resume ( result . remove At ( 0 )) ĊĠĠĠĠĠĠĠ ĠCOR OUT INE _ SUS PEN DED ĊĠĠĠ Ġ} Ċ } Ċ Ċ var Ġresult Ġ= Ġ"" Ċ Ċ suspend Ġfun Ġappend ( ignore : ĠString , Ġx : ĠString ) Ġ{ ĊĠĠĠ Ġresult Ġ+= Ġx Ċ } Ċ Ċ fun Ġbuilder ( c : Ġsuspend Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġc . start Coroutine ( Empty Continuation ) Ċ } Ċ Ċ suspend Ġfun Ġbar () Ġ{ ĊĠĠĠ Ġval Ġa Ġ= ĠA () ĊĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġappend (" ignore ", Ġa . foo () Ġ?: Ġbreak ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġbuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġbar () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġresult Ċ } ĊĊ