/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . fir . expressions . impl Ċ Ċ import Ġorg . jetbrains . kotlin . fir . F ir Source Element Ċ import Ġorg . jetbrains . kotlin . fir . declarations . F ir Value Parameter Ċ import Ġorg . jetbrains . kotlin . fir . expressions . F ir ArgumentList Ċ import Ġorg . jetbrains . kotlin . fir . expressions . F ir Expression Ċ import Ġorg . jetbrains . kotlin . fir . visitor s . F ir Transformer Ċ import Ġorg . jetbrains . kotlin . fir . visitor s . F ir Visitor Ċ import Ġorg . jetbrains . kotlin . fir . visitor s . transform Single Ċ Ċ class ĠF ir Part ially Resolved ArgumentList Ġinternal Ġconstructor ( ĊĠĠĠ Ġoverride Ġvar Ġsource : ĠF ir Source Element ?, ĊĠĠĠ Ġprivate Ġvar Ġ_ mapping : ĠLinkedHashMap < F ir Expression , ĠF ir Value Parameter ?> Ċ ) Ġ: ĠF ir ArgumentList () Ġ{ ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġval Ġmapping : ĠLinkedHashMap < F ir Expression , ĠF ir Value Parameter > Ġ= ĊĠĠĠĠĠĠĠ Ġ_ mapping . filter Values Ġ{ Ġit Ġ!= Ġnull Ġ} Ġas ĠLinkedHashMap < F ir Expression , ĠF ir Value Parameter > ĊĊĊĠĠĠ Ġoverride Ġval Ġarguments : ĠList < F ir Expression > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ mapping . keys . toList () ĊĊĠĠĠ Ġoverride Ġfun Ġ< R , ĠD > Ġaccept Children ( visitor : ĠF ir Visitor < R , ĠD >, Ġdata : ĠD ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ mapping . forEach Ġ{ Ġ( k , Ġ_) Ġ-> Ġk . accept ( visitor , Ġdata ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< D > Ġtransform Children ( transformer : ĠF ir Transformer < D >, Ġdata : ĠD ): ĠF ir Part ially Resolved ArgumentList Ġ{ ĊĠĠĠĠĠĠĠ Ġtransform Arguments ( transformer , Ġdata ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< D > Ġtransform Arguments ( transformer : ĠF ir Transformer < D >, Ġdata : ĠD ): ĠF ir Part ially Resolved ArgumentList Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ mapping Ġ= Ġ_ mapping . map Keys Ġ{ Ġ( k , Ġ_) Ġ-> Ġk . transform Single ( transformer , Ġdata ) Ġ} Ġas ĠLinkedHashMap < F ir Expression , ĠF ir Value Parameter ?> ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ } Ċ