package Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . kotlin Ċ Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . Expression Adapter Initializer Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . Runtime Adapter Initializer Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . Scalar Info Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . Identifier . custom Scalar Adapters Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . Identifier . type Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . Resolver ClassName Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . Resolver Entry Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . Resolver Key Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . Resolver Key Kind Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . kotlin . adapter . obj Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir Enum Type Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir Input ObjectType Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir ListType Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir Model Type Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir Named Type Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir NonNull Type Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir Optional Type Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir Scalar Type Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir Type Ċ import Ġcom . squareup . kotlin po et . ClassName Ċ import Ġcom . squareup . kotlin po et . Code Block Ċ import Ġcom . squareup . kotlin po et . Member Name Ċ import Ġcom . squareup . kotlin po et . Parameterized TypeName . Companion . parameter ized By Ċ import Ġcom . squareup . kotlin po et . TypeName ĊĊ Ċ class ĠKotlin Resolver ( entries : ĠList < Resolver Entry >, Ġval Ġnext : ĠKotlin Resolver ?, Ġprivate Ġval Ġscalar Mapping : ĠMap < String , ĠScalar Info >) Ġ{ ĊĠ Ġfun Ġresolve ( key : ĠResolver Key ): ĠClass Name ? Ġ= ĠclassNames [ key ] Ġ?: Ġnext ?. resolve ( key ) ĊĊĠ Ġprivate Ġvar ĠclassNames Ġ= Ġentries . associate By ( ĊĠĠĠĠĠ Ġkey Selector Ġ= Ġ{ Ġit . key Ġ}, ĊĠĠĠĠĠ Ġvalue Transform Ġ= Ġ{ Ġit . className . to Kotlin Po et ClassName () Ġ} ĊĠ Ġ). to Mutable Map () ĊĊĠ Ġprivate Ġfun ĠResolver ClassName . to Kotlin Po et ClassName () Ġ= ĠClass Name ( packageName , Ġsimple Names ) ĊĊĠ Ġprivate Ġfun Ġresolve ( kind : ĠResolver Key Kind , Ġid : ĠString ) Ġ= Ġresolve ( Resolver Key ( kind , Ġid )) ĊĠ Ġprivate Ġfun Ġresolve And Assert ( kind : ĠResolver Key Kind , Ġid : ĠString ): ĠClass Name Ġ{ ĊĠĠĠ Ġval Ġresult Ġ= Ġresolve ( Resolver Key ( kind , Ġid )) ĊĊĠĠĠ Ġcheck ( result Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġ" Cannot Ġresolve Ġ$ kind ($ id )" ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult ĊĠ Ġ} ĊĊĠ Ġfun Ġcan Resolve Schema Type ( name : ĠString ) Ġ= Ġresolve ( Resolver Key ( Resolver Key Kind . Schema Type , Ġname )) Ġ!= Ġnull ĊĊĠ Ġprivate Ġfun Ġregister ( kind : ĠResolver Key Kind , Ġid : ĠString , ĠclassName : ĠClass Name ) Ġ= ĠclassNames . put ( Resolver Key ( kind , Ġid ), ĠclassName ) ĊĊĠ Ġfun Ġresolve Ir Type ( type : ĠIr Type , Ġoverride : Ġ( Ir Type ) Ġ-> ĠType Name ? Ġ= Ġ{ Ġnull Ġ}): ĠType Name Ġ{ ĊĠĠĠ Ġif Ġ( type Ġis ĠIr NonNull Type ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġresolve Ir Type ( type . of Type , Ġoverride ). copy ( nullable Ġ= Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ( type )?. let Ġ{ ĊĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠ Ġtype Ġis ĠIr NonNull Type Ġ-> Ġerror ("") Ġ// Ġmake Ġthe Ġcompiler Ġhappy , Ġthis Ġcase Ġis Ġhandled Ġas Ġa Ġfast Ġpath ĊĠĠĠĠĠ Ġtype Ġis ĠIr Optional Type Ġ-> ĠKotlin Symbols . Optional . parameter ized By ( resolve Ir Type ( type . of Type , Ġoverride )) ĊĠĠĠĠĠ Ġtype Ġis ĠIr ListType Ġ-> ĠKotlin Symbols . List . parameter ized By ( resolve Ir Type ( type . of Type , Ġoverride )) ĊĠĠĠĠĠ Ġtype Ġis ĠIr Scalar Type Ġ-> Ġresolve Ir Scalar Type ( type ) ĊĠĠĠĠĠ Ġtype Ġis ĠIr Model Type Ġ-> Ġresolve And Assert ( Resolver Key Kind . Model , Ġtype . path ) ĊĠĠĠĠĠ Ġtype Ġis ĠIr Named Type Ġ-> Ġresolve And Assert ( Resolver Key Kind . Schema Type , Ġtype . name ) ĊĠĠĠĠĠ Ġelse Ġ-> Ġerror ("$ type Ġis Ġnot Ġa Ġschema Ġtype ") ĊĠĠĠ Ġ}. copy ( nullable Ġ= Ġtrue ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġresolve Ir Scalar Type ( type : ĠIr Scalar Type ): ĠClass Name Ġ{ ĊĠĠĠ Ġ// ĠTry Ġmapping Ġfirst , Ġthen Ġbuilt - ins , Ġthen Ġfallback Ġto ĠAny ĊĠĠĠ Ġreturn Ġresolve Scalar Ta get ( type . name ) Ġ?: Ġwhen Ġ( type . name ) Ġ{ ĊĠĠĠĠĠ Ġ" String " Ġ-> ĠKotlin Symbols . String ĊĠĠĠĠĠ Ġ" Float " Ġ-> ĠKotlin Symbols . Double ĊĠĠĠĠĠ Ġ" Int " Ġ-> ĠKotlin Symbols . Int ĊĠĠĠĠĠ Ġ" Boolean " Ġ-> ĠKotlin Symbols . Boolean ĊĠĠĠĠĠ Ġ" ID " Ġ-> ĠKotlin Symbols . String ĊĠĠĠĠĠ Ġelse Ġ-> ĠKotlin Symbols . Any ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġresolve Scalar Ta get ( name : ĠString ): ĠClass Name ? Ġ{ ĊĠĠĠ Ġreturn Ġscalar Mapping . get ( name )?. target Name ?. let Ġ{ ĊĠĠĠĠĠ ĠClass Name . best Guess ( it ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġadapter Initializer ( type : ĠIr Type , Ġrequires Buffer ing : ĠBoolean ): ĠCode Block Ġ{ ĊĠĠĠ Ġif Ġ( type Ġ! is ĠIr NonNull Type ) Ġ{ ĊĠĠĠĠĠ Ġ// ĠDon 't Ġhard code Ġthe Ġadapter Ġwhen Ġthe Ġscalar Ġis Ġmapped Ġto Ġa Ġuser - defined Ġtype ĊĠĠĠĠĠ Ġval Ġscalar Without Custom Mapping Ġ= Ġtype Ġis ĠIr Scalar Type Ġ&& Ġ! scalar Mapping . containsKey ( type . name ) ĊĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġtype Ġis ĠIr Scalar Type Ġ&& Ġtype . name Ġ== Ġ" ID " Ġ&& Ġscalar Without Custom Mapping Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . Nullable String Adapter ) ĊĠĠĠĠĠĠĠ Ġtype Ġis ĠIr Scalar Type Ġ&& Ġtype . name Ġ== Ġ" Boolean " Ġ&& Ġscalar Without Custom Mapping Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . Nullable Boolean Adapter ) ĊĠĠĠĠĠĠĠ Ġtype Ġis ĠIr Scalar Type Ġ&& Ġtype . name Ġ== Ġ" String " Ġ&& Ġscalar Without Custom Mapping Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . Nullable String Adapter ) ĊĠĠĠĠĠĠĠ Ġtype Ġis ĠIr Scalar Type Ġ&& Ġtype . name Ġ== Ġ" Int " Ġ&& Ġscalar Without Custom Mapping Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . Nullable Int Adapter ) ĊĠĠĠĠĠĠĠ Ġtype Ġis ĠIr Scalar Type Ġ&& Ġtype . name Ġ== Ġ" Float " Ġ&& Ġscalar Without Custom Mapping Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . Nullable Double Adapter ) ĊĠĠĠĠĠĠĠ Ġtype Ġis ĠIr Scalar Type Ġ&& Ġresolve Scalar Ta get ( type . name ) Ġ== Ġnull Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠCode Block . of ("% M ", ĠKotlin Symbols . Nullable Any Adapter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġnullable Fun Ġ= ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" nullable ") ĊĠĠĠĠĠĠĠĠĠ ĠCode Block . of ("% L .% M ()", Ġadapter Initializer ( Ir NonNull Type ( type ), Ġrequires Buffer ing ), Ġnullable Fun ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnon Nullable Adapter Initializer ( type . of Type , Ġrequires Buffer ing ) ĊĠ Ġ} ĊĊĠ Ġfun Ġresolve Compiled Type ( name : ĠString ): ĠCode Block Ġ{ ĊĠĠĠ Ġval Ġbuiltin Ġ= Ġwhen Ġ( name ) Ġ{ ĊĠĠĠĠĠ Ġ"__ Schema " Ġ-> ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" Compiled Schema Type ") ĊĠĠĠĠĠ Ġ"__ Type " Ġ-> ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" Compiled Type Type ") ĊĠĠĠĠĠ Ġ"__ Field " Ġ-> ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" Compiled FieldType ") ĊĠĠĠĠĠ Ġ"__ Input Value " Ġ-> ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" Compiled Input ValueType ") ĊĠĠĠĠĠ Ġ"__ EnumValue " Ġ-> ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" Compiled Enum ValueType ") ĊĠĠĠĠĠ Ġ"__ Directive " Ġ-> ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" Compiled Directive Type ") ĊĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( builtin Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġreturn ĠCode Block . of ("% M ", Ġbuiltin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn ĠCode Block . of ("% T .$ type ", Ġresolve And Assert ( Resolver Key Kind . Schema Type , Ġname )) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġnon Nullable Adapter Initializer ( type : ĠIr Type , Ġrequires Buffer ing : ĠBoolean ): ĠCode Block Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠ Ġtype Ġis ĠIr NonNull Type Ġ-> Ġerror ("") ĊĠĠĠĠĠ Ġtype Ġis ĠIr ListType Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Fun Ġ= ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" list ") ĊĠĠĠĠĠĠĠ ĠCode Block . of ("% L .% M ()", Ġadapter Initializer ( type . of Type , Ġrequires Buffer ing ), Ġlist Fun ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġtype Ġis ĠIr Scalar Type Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġnon Nullable Scalar Adapter Initializer ( type ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġtype Ġis ĠIr Enum Type Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠCode Block . of ("% T ", Ġresolve And Assert ( Resolver Key Kind . Schema Type Adapter , Ġtype . name )) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġtype Ġis ĠIr Input ObjectType Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠCode Block . of ("% T ", Ġresolve And Assert ( Resolver Key Kind . Schema Type Adapter , Ġtype . name )). obj ( requires Buffer ing ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġtype Ġis ĠIr Model Type Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠCode Block . of ("% T ", Ġresolve And Assert ( Resolver Key Kind . Model Adapter , Ġtype . path )). obj ( requires Buffer ing ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġtype Ġis ĠIr Optional Type Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoptional Fun Ġ= ĠMember Name (" com . ap ol log raph ql . apollo 3 . api ", Ġ" optional ") ĊĠĠĠĠĠĠĠ ĠCode Block . of ("% L .% M ()", Ġadapter Initializer ( type . of Type , Ġrequires Buffer ing ), Ġoptional Fun ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġerror (" Cannot Ġcreate Ġan Ġadapter Ġfor Ġ$ type ") ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġnon Nullable Scalar Adapter Initializer ( type : ĠIr Scalar Type ): ĠCode Block Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( val Ġadapter Initializer Ġ= Ġscalar Mapping [ type . name ]?. adapter Initializer ) Ġ{ ĊĠĠĠĠĠ Ġis ĠExpression Adapter Initializer Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠCode Block . of ( adapter Initializer . expression ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġis ĠRuntime Adapter Initializer Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġresolve Scalar Ta get ( type . name ) ĊĠĠĠĠĠĠĠ ĠCode Block . of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ custom Scalar Adapters . response Adapter For <% T >( % L )", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Compiled Type ( type . name ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( type . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" Boolean " Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . Boolean Adapter ) ĊĠĠĠĠĠĠĠĠĠ Ġ" ID " Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . String Adapter ) ĊĠĠĠĠĠĠĠĠĠ Ġ" String " Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . String Adapter ) ĊĠĠĠĠĠĠĠĠĠ Ġ" Int " Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . Int Adapter ) ĊĠĠĠĠĠĠĠĠĠ Ġ" Float " Ġ-> ĠCode Block . of ("% M ", ĠKotlin Symbols . Double Adapter ) ĊĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġresolve Scalar Ta get ( type . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( target Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode Block . of ("% M ", ĠKotlin Symbols . Any Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode Block . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ custom Scalar Adapters . response Adapter For <% T >( % L )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Compiled Type ( type . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġresolve Model ( path : ĠString ) Ġ= Ġresolve And Assert ( Resolver Key Kind . Model , Ġpath ) ĊĊĠ Ġfun Ġregister Model Adapter ( path : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Model Adapter , Ġpath , ĠclassName ) ĊĠ Ġfun Ġresolve Model Adapter ( path : ĠString ) Ġ= Ġresolve And Assert ( Resolver Key Kind . Model Adapter , Ġpath ) ĊĊĠ Ġfun Ġregister Enum Adapter ( name : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Schema Type Adapter , Ġname , ĠclassName ) ĊĠ Ġfun Ġregister Input Object Adapter ( name : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Schema Type Adapter , Ġname , ĠclassName ) ĊĊĠ Ġfun Ġregister Operation ( name : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Operation , Ġname , ĠclassName ) ĊĠ Ġfun Ġresolve Operation ( name : ĠString ) Ġ= Ġresolve And Assert ( Resolver Key Kind . Operation , Ġname ) ĊĊĠ Ġfun Ġregister Operation Variables Adapter ( ĊĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠ ĠclassName : ĠClass Name , ĊĠ Ġ) Ġ= Ġregister ( Resolver Key Kind . Operation Variables Adapter , Ġname , ĠclassName ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠMight Ġbe Ġnull Ġif Ġthere Ġare Ġno Ġvariable ĊĠĠ Ġ*/ ĊĠ Ġfun Ġresolve Operation Variables Adapter ( name : ĠString ) Ġ= Ġresolve ( Resolver Key Kind . Operation Variables Adapter , Ġname ) ĊĊĠ Ġfun Ġregister Operation Selections ( name : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Operation Selections , Ġname , ĠclassName ) ĊĠ Ġfun Ġresolve Operation Selections ( name : ĠString ) Ġ= Ġresolve And Assert ( Resolver Key Kind . Operation Selections , Ġname ) ĊĊĠ Ġfun Ġregister Fragment ( name : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Fragment , Ġname , ĠclassName ) ĊĊĠ Ġfun Ġresolve Fragment ( name : ĠString ) Ġ= Ġresolve And Assert ( Resolver Key Kind . Fragment , Ġname ) ĊĊĠ Ġfun Ġregister Fragment Variables Adapter ( ĊĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠ ĠclassName : ĠClass Name , ĊĠ Ġ) Ġ= Ġregister ( Resolver Key Kind . Fragment Variables Adapter , Ġname , ĠclassName ) ĊĊĠ Ġfun Ġresolve Fragment Variables Adapter ( name : ĠString ) Ġ= Ġresolve ( Resolver Key Kind . Fragment Variables Adapter , Ġname ) ĊĊĠ Ġfun Ġregister Fragment Selections ( name : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Fragment Selections , Ġname , ĠclassName ) ĊĠ Ġfun Ġresolve Fragment Selections ( name : ĠString ) Ġ= Ġresolve And Assert ( Resolver Key Kind . Fragment Selections , Ġname ) ĊĊĠ Ġfun Ġentries () Ġ= ĠclassNames . map Ġ{ ĠResolver Entry ( it . key , ĠResolver ClassName ( it . value . packageName , Ġit . value . simple Names )) Ġ} ĊĠ Ġfun Ġresolve Schema Type ( name : ĠString ) Ġ= Ġresolve And Assert ( Resolver Key Kind . Schema Type , Ġname ) ĊĠ Ġfun Ġregister Schema Type ( name : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Schema Type , Ġname , ĠclassName ) ĊĠ Ġfun Ġregister Model ( path : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Model , Ġpath , ĠclassName ) ĊĊĠ Ġfun Ġregister Test Builder ( path : ĠString , ĠclassName : ĠClass Name ) Ġ= Ġregister ( Resolver Key Kind . Test Builder , Ġpath , ĠclassName ) ĊĠ Ġfun Ġresolve Test Builder ( path : ĠString ) Ġ= Ġresolve And Assert ( Resolver Key Kind . Test Builder , Ġpath ) Ċ } Ċ