// ĠTARGET _ BACKEND : ĠJVM Ċ // ĠCOMMON _ COR OUT IN ES _ TEST Ċ // ĠWITH _ RUNTIME Ċ // ĠWITH _ COR OUT IN ES Ċ // ĠNO _ CHECK _ L AMBDA _ IN LIN ING Ċ // ĠCHECK _ STATE _ MACHINE Ċ Ċ // ĠFILE : Ġinline Me . kt Ċ Ċ package Ġtest Ċ Ċ inline Ġsuspend Ġfun Ġinline Me ( cross inline Ġc : Ġsuspend Ġ() Ġ-> ĠUnit ) Ġ{ Ġc (); Ġc () Ġ} Ċ Ċ inline Ġsuspend Ġfun Ġinline Me 2 ( c : Ġsuspend Ġ() Ġ-> ĠUnit ) Ġ{ Ġc (); Ġc () Ġ} Ċ Ċ // ĠFILE : ĠA . java Ċ Ċ import Ġtest . Inline Me Kt ; Ċ import Ġhelpers . Coroutine Util Kt ; Ċ import Ġhelpers . Empty Continuation ; Ċ import Ġkotlin . jvm . functions . Function 1 ; Ċ import ĠCOR OUT IN ES _ PACKAGE . Continuation ; Ċ import Ġkotlin . Unit ; Ċ Ċ public Ġclass ĠA Ġ{ ĊĠĠĠ Ġstatic ĠFunction 1 < Continuation <? Ġsuper ĠUnit >, ĠObject > Ġcallback Ġ= Ġnew ĠFunction 1 < Continuation <? Ġsuper ĠUnit >, ĠObject >() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Override ĊĠĠĠĠĠĠĠ Ġpublic ĠObject Ġinvoke ( Continuation <? Ġsuper ĠUnit > Ġcontinuation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCor outine Util Kt . getState Machine Checker (). suspend Here ( continu ation ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}; ĊĠĠĠ Ġpublic Ġstatic Ġvoid Ġcall ( Continuation <? Ġsuper ĠUnit > Ġcont ) Ġ{ ĊĠĠĠĠĠĠĠ ĠInline Me Kt . inline Me ( callback , Ġcont ); ĊĠĠĠ Ġ} ĊĠĠĠ Ġpublic Ġstatic Ġvoid Ġcall 2 ( Continuation <? Ġsuper ĠUnit > Ġcont ) Ġ{ ĊĠĠĠĠĠĠĠ ĠInline Me Kt . inline Me 2 ( callback , Ġcont ); ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠFILE : Ġbox . kt Ċ Ċ import Ġtest .* Ċ import Ġhelpers .* Ċ import ĠCOR OUT IN ES _ PACKAGE .* Ċ import ĠCOR OUT IN ES _ PACKAGE . intr insics .* Ċ Ċ fun Ġbuilder ( c : Ġsuspend Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġc . start Coroutine ( Check StateMachine Continuation ) Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ ĠA . call ( Check StateMachine Continuation ) ĊĠĠĠ ĠState Machine Checker . check ( 2 ) ĊĠĠĠ ĠState Machine Checker . reset () ĊĊĠĠĠ Ġbuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġinline Me Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠState Machine Checker . suspend Here () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠState Machine Checker . suspend Here () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ ĠState Machine Checker . check ( 4 ) ĊĠĠĠ ĠState Machine Checker . reset () ĊĊĠĠĠ ĠA . call 2 ( Check StateMachine Continuation ) ĊĠĠĠ ĠState Machine Checker . check ( 2 ) ĊĊĠĠĠ ĠState Machine Checker . reset () ĊĠĠĠ Ġbuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġinline Me 2 Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠState Machine Checker . suspend Here () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠState Machine Checker . suspend Here () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ ĠState Machine Checker . check ( 4 ) ĊĠĠĠ Ġreturn Ġ" OK " Ċ }