package Ġio . fluid sonic . graphql ĊĊ Ċ internal Ġclass ĠDefault Field Resolver Context ( Ċ ĉ override Ġval Ġarguments : ĠMap < String , ĠAny ? >, Ċ ĉ override Ġval Ġexecution : ĠDefault Executor Context , Ċ ĉ override Ġval Ġfield Definition : ĠG Field Definition , Ċ ĉ private Ġval Ġparent : ĠAny , Ċ ĉ override Ġval Ġparent Type : ĠG ObjectType , Ċ ) Ġ: ĠG Field Resolver Context Ġ{ ĊĊ ĉ @ Suppress (" UN CHECK ED _ CAST ") Ċ ĉ override Ġsuspend Ġfun Ġnext (): ĠAny ? Ġ= Ċĉ ĉ when Ġ( val Ġresolver Ġ= Ġfield Definition . resolver Ġas ĠG Field Resolver < Any > ?) Ġ{ Ċĉĉ ĉ null Ġ-> Ġerror (" No Ġresolver Ġis Ġset Ġfor Ġfield Ġ'${ parent Type . name }.${ field Definition . name }'. ") Ċĉĉ ĉ else Ġ-> Ġexecution . with ExceptionHandler ( origin Ġ= Ġ{ ĠG Exception Origin . Field Resolver ( resolver Ġ= Ġresolver , Ġcontext Ġ= Ġthis ) Ġ}) Ġ{ Ċĉĉĉ ĉ resolver . resolve Field ( parent , Ġcontext Ġ= ĠNext ()) Ċĉĉ ĉ } Ċĉ ĉ } ĊĊĊ ĉ private Ġinner Ġclass ĠNext Ġ: ĠG Field Resolver Context Ġby Ġthis Ġ{ ĊĊĉ ĉ override Ġsuspend Ġfun Ġnext () Ġ= Ċĉĉ ĉ error (" Resolver Ġof Ġfield Ġ'${ parent Type . name }.${ field Definition . name }' Ġcannot Ġdelegate Ġresolution Ġany Ġfurther .") Ċ ĉ } Ċ } Ċ