package Ġorg . jetbrains . du kat . common Lower ings Ċ Ċ import Ġorg . jetbrains . du kat . ast Common . Name Entity Ċ import Ġorg . jetbrains . du kat . ast Model . Function Model Ċ import Ġorg . jetbrains . du kat . ast Model . Module Model Ċ import Ġorg . jetbrains . du kat . ast Model . Source Set Model Ċ import Ġorg . jetbrains . du kat . ast Model . TopLevel Model Ċ Ċ private Ġfun ĠTop Level Model . is White List ed ( names : ĠSet < Name Entity >): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġwhen ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠFunction Model Ġ-> Ġnames . contains ( extend ?. name ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnames . contains ( name ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠModule Model . white List ( names : ĠSet < Name Entity >): ĠModule Model Ġ{ ĊĠĠĠ Ġreturn Ġcopy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġdeclarations . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . is White List ed ( names ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsub modules Ġ= Ġsub modules . map Ġ{ Ġit . white List ( names ) Ġ} ĊĠĠĠ Ġ) Ċ } Ċ Ċ fun ĠSource Set Model . white List ( names : ĠSet < Name Entity >): ĠSource Set Model Ġ{ ĊĠĠĠ Ġreturn Ġcopy ( sources Ġ= Ġsources . map Ġ{ Ġsource Ġ-> ĊĠĠĠĠĠĠĠ Ġsource . copy ( root Ġ= Ġsource . root . white List ( names )) ĊĠĠĠ Ġ}) Ċ }