/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 - 2 0 2 2 ĠR ick ĠBus ar ow Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġmodule check . api . context Ċ Ċ import Ġmodule check . parsing . gradle . Source SetName Ċ import Ġmodule check . parsing . source . An vil Scope Name Ċ import Ġmodule check . parsing . source . Declaration Name Ċ import Ġmodule check . project . Mc Project Ċ import Ġmodule check . project . Project Context Ċ import Ġmodule check . utils . Safe Cache Ċ Ċ data Ġclass ĠAn vil Scope Merge s ( ĊĠ Ġprivate Ġval Ġdelegate : ĠSafe Cache < Source SetName , ĠMap < An vil Scope Name , ĠSet < Declaration Name >> >, ĊĠ Ġprivate Ġval Ġproject : ĠMc Project Ċ ) Ġ: ĠProject Context . Element Ġ{ ĊĊĠ Ġoverride Ġval Ġkey : ĠProject Context . Key < An vil Scope Merge s > ĊĠĠĠ Ġget () Ġ= ĠKey ĊĊĠ Ġsuspend Ġfun Ġall (): ĠList < Map < An vil Scope Name , ĠSet < Declaration Name >>> Ġ{ ĊĠĠĠ Ġreturn Ġproject . source Sets . keys . map Ġ{ Ġget ( it ) Ġ} ĊĠ Ġ} ĊĊĠ Ġsuspend Ġfun Ġget ( source SetName : ĠSource SetName ): ĠMap < An vil Scope Name , ĠSet < Declaration Name >> Ġ{ ĊĠĠĠ Ġreturn Ġdelegate . get Or Put ( source SetName ) Ġ{ ĊĠĠĠĠĠ Ġproject . an vil Graph (). get ( source SetName ) ĊĠĠĠĠĠĠĠ Ġ. map Values Ġ{ Ġ(_, Ġdeclarations ) Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġdeclarations . mer ges ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . value . isNotEmpty () Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject ĠKey Ġ: ĠProject Context . Key < An vil Scope Merge s > Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġoperator Ġfun Ġinvoke ( project : ĠMc Project ): ĠAn vil Scope Merge s Ġ{ ĊĠĠĠĠĠ Ġreturn ĠAn vil Scope Merge s ( Safe Cache (), Ġproject ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠProject Context . an vil Scope Merge s (): ĠAn vil Scope Merge s Ġ= Ġget ( An vil Scope Merge s ) Ċ Ċ suspend Ġfun ĠProject Context . an vil Scope Merge s For Source SetName ( ĊĠ Ġsource SetName : ĠSource SetName Ċ ): ĠMap < An vil Scope Name , ĠSet < Declaration Name >> Ġ= Ġanv il Scope Merge s (). get ( source SetName ) Ċ