/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . Ġ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 . types Ċ Ċ import Ġorg . jetbrains . kotlin . fir . declarations . F ir Value Parameter Ċ import Ġorg . jetbrains . kotlin . fir . visitor s . F ir Visitor Ċ Ċ interface ĠF ir FunctionType Ġ: ĠF ir Type With Null ability Ġ{ ĊĠĠĠ Ġval Ġreceiver Type : ĠF ir Type ? ĊĊĠĠĠ Ġ// ĠMay Ġbe Ġit Ġshould Ġinherit ĠF ir Function ? ĊĠĠĠ Ġval Ġvalue Parameters : ĠList < F ir Value Parameter > ĊĊĠĠĠ Ġval ĠreturnType : ĠF ir Type ĊĊĠĠĠ Ġoverride Ġfun Ġ< R , ĠD > Ġaccept ( visitor : ĠF ir Visitor < R , ĠD >, Ġdata : ĠD ): ĠR Ġ= ĊĠĠĠĠĠĠĠ Ġvisitor . visit FunctionType ( this , Ġdata ) ĊĊĠĠĠ Ġoverride Ġfun Ġ< R , ĠD > Ġaccept Children ( visitor : ĠF ir Visitor < R , ĠD >, Ġdata : ĠD ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreceiver Type ?. accept ( visitor , Ġdata ) ĊĠĠĠĠĠĠĠ Ġsuper . accept Children ( visitor , Ġdata ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( parameter Ġin Ġvalue Parameters ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameter . accept ( visitor , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }