package Ġkotlinx . ast . common . map Ċ Ċ import Ġkotlinx . ast . common . Ast Result Ċ import Ġkotlinx . ast . common . ast . Ast Ċ import Ġkotlinx . ast . common . filter . Tree Filter Ċ Ċ interface ĠTree Mapper < State > Ġ{ ĊĠĠĠ Ġval Ġfilter : ĠTree Filter ĊĠĠĠ Ġval Ġconverter : ĠTree Converter < State > ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġ< State > Ġinvoke ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter : ĠTree Filter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverter : Ġ( TreeMap Context < State >, ĠAst ) Ġ-> ĠAst Result < State , ĠList < Ast >> ? ĊĠĠĠĠĠĠĠ Ġ): ĠTree Mapper < State > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDefault Tree Mapper ( filter , ĠTree Converter Ġ{ Ġcontext , Ġast Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconverter ( context , Ġast ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠDefault Tree Mapper < State >( ĊĠĠĠ Ġoverride Ġval Ġfilter : ĠTree Filter , ĊĠĠĠ Ġoverride Ġval Ġconverter : ĠTree Converter < State > Ċ ) Ġ: ĠTree Mapper < State > Ċ