package Ġorg . jetbrains . kotlin . kon an . library Ċ Ċ import Ġorg . jetbrains . kotlin . kon an . Compiler Version Ċ import Ġorg . jetbrains . kotlin . kon an . file . File Ċ import Ġorg . jetbrains . kotlin . kon an . library . impl . Kon an Library Impl Ċ import Ġorg . jetbrains . kotlin . kon an . library . impl . create Kon an Library Ċ import Ġorg . jetbrains . kotlin . kon an . target . Distribution Ċ import Ġorg . jetbrains . kotlin . kon an . target . Kon an Target Ċ import Ġorg . jetbrains . kotlin . library .* Ċ import Ġorg . jetbrains . kotlin . library . impl . create Kotlin Library Ċ import Ġorg . jetbrains . kotlin . util . Dummy Logger Ċ import Ġorg . jetbrains . kotlin . util . Logger Ċ Ċ const Ġval ĠK ON AN _ STD LIB _ NAME Ġ= Ġ" stdlib " Ċ Ċ interface ĠSearch Path Resolver With Target < L : ĠKotlin Library >: ĠSearch Path Resolver With Attributes < L > Ġ{ ĊĠĠĠ Ġval Ġtarget : ĠKon an Target Ċ } Ċ Ċ fun Ġdefault Resolver ( ĊĠĠĠĠĠĠĠ Ġrepositories : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġtarget : ĠKon an Target , ĊĠĠĠĠĠĠĠ Ġdistribution : ĠDistribution Ġ= ĠDistribution (), ĊĠĠĠĠĠĠĠ Ġcompatible Compiler Versions : ĠList < Compiler Version > Ġ= Ġempty List () Ċ ): ĠSearch Path Resolver With Target < Kon an Library > Ġ= Ġdefault Resolver ( repositories , Ġempty List (), Ġtarget , Ġdistribution , Ġcompatible Compiler Versions ) Ċ Ċ fun Ġdefault Resolver ( ĊĠĠĠ Ġrepositories : ĠList < String >, ĊĠĠĠ Ġdirect Lib s : ĠList < String >, ĊĠĠĠ Ġtarget : ĠKon an Target , ĊĠĠĠ Ġdistribution : ĠDistribution , ĊĠĠĠ Ġcompatible Compiler Versions : ĠList < Compiler Version > Ġ= Ġempty List (), ĊĠĠĠ Ġlogger : ĠLogger Ġ= ĠDummy Logger , ĊĠĠĠ Ġskip Current Dir : ĠBoolean Ġ= Ġfalse Ċ ): ĠSearch Path Resolver With Target < Kon an Library > Ġ= ĠKon an Library Pro per Resolver ( ĊĠĠĠĠĠĠĠ Ġrepositories , ĊĠĠĠĠĠĠĠ Ġdirect Lib s , ĊĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠ ĠlistOf ( Kotlin Ab i Version . CURRENT ), ĊĠĠĠĠĠĠĠ Ġcompatible Compiler Versions , ĊĠĠĠĠĠĠĠ Ġdistribution . k lib , ĊĠĠĠĠĠĠĠ Ġdistribution . local Kon an Dir . absolute Path , ĊĠĠĠĠĠĠĠ Ġskip Current Dir , ĊĠĠĠĠĠĠĠ Ġlogger Ċ ) Ċ Ċ fun Ġresolver ByName ( ĊĠĠĠ Ġrepositories : ĠList < String >, ĊĠĠĠ Ġdirect Lib s : ĠList < String > Ġ= Ġempty List (), ĊĠĠĠ Ġdistribution K lib : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġlocal Kotlin Dir : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġskip Current Dir : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġlogger : ĠLogger Ċ ): ĠSearch Path Resolver < Kotlin Library > Ġ= ĊĠĠĠ Ġobject Ġ: ĠKotlin Library Search Path Resolver < Kotlin Library >( ĊĠĠĠĠĠĠĠ Ġrepositories , ĊĠĠĠĠĠĠĠ Ġdirect Lib s , ĊĠĠĠĠĠĠĠ Ġdistribution K lib , ĊĠĠĠĠĠĠĠ Ġlocal Kotlin Dir , ĊĠĠĠĠĠĠĠ Ġskip Current Dir , ĊĠĠĠĠĠĠĠ Ġlogger ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġlibrary Builder ( file : ĠFile , Ġis Default : ĠBoolean ) Ġ= Ġcreate Kon an Library ( file , Ġnull , Ġis Default ) ĊĠĠĠ Ġ} Ċ Ċ internal Ġclass ĠKon an Library Pro per Resolver ( ĊĠĠĠ Ġrepositories : ĠList < String >, ĊĠĠĠ Ġdirect Lib s : ĠList < String >, ĊĠĠĠ Ġoverride Ġval Ġtarget : ĠKon an Target , ĊĠĠĠ Ġknown Ab i Versions : ĠList < Kotlin Ab i Version > ?, ĊĠĠĠ Ġknown Compiler Versions : ĠList < Compiler Version > ?, ĊĠĠĠ Ġdistribution K lib : ĠString ?, ĊĠĠĠ Ġlocal Kon an Dir : ĠString ?, ĊĠĠĠ Ġskip Current Dir : ĠBoolean , ĊĠĠĠ Ġoverride Ġval Ġlogger : ĠLogger Ċ ) Ġ: ĠKotlin Library Pro per Resolver With Attributes < Kon an Library >( ĊĠĠĠ Ġrepositories , Ġdirect Lib s , ĊĠĠĠ Ġknown Ab i Versions , ĊĠĠĠ Ġknown Compiler Versions , ĊĠĠĠ Ġdistribution K lib , ĊĠĠĠ Ġlocal Kon an Dir , ĊĠĠĠ Ġskip Current Dir , ĊĠĠĠ Ġlogger , ĊĠĠĠ ĠlistOf ( K LIB _ INTER OP _ IR _ PROVIDER _ IDENTIFIER ) Ċ ), Ġ ĠSearch Path Resolver With Target < Kon an Library > Ċ { ĊĠĠĠ Ġoverride Ġfun Ġlibrary Builder ( file : ĠFile , Ġis Default : ĠBoolean ) Ġ= Ġcreate Kon an Library ( file , Ġtarget , Ġis Default ) ĊĊĠĠĠ Ġoverride Ġval Ġdist Platform Head : ĠFile ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdistribution K lib ?. File ()?. child (" platform ") ?. child ( target . visible Name ) ĊĊĠĠĠ Ġoverride Ġfun Ġlibrary Match ( candidate : ĠKon an Library , Ġun resolved : ĠUn resolved Library ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresolver Target Ġ= Ġthis . target ĊĠĠĠĠĠĠĠ Ġval Ġcandidate Path Ġ= Ġcandidate . library File . absolute Path ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! candidate . target List . contains ( resolver Target . visible Name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warning (" sk ipping Ġ$ candidate Path . ĠThe Ġtarget Ġdoesn 't Ġmatch . ĠExpected Ġ'$ resolver Target ', Ġfound Ġ${ candidate . target List }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . library Match ( candidate , Ġun resolved ) ĊĠĠĠ Ġ} Ċ } ĊĊ