/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 9 Ġ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 Ċ Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . jetbrains . kotlin . fir . expressions . impl . F ir Unknown Type Expression Ċ import Ġorg . jetbrains . kotlin . fir . visitor s . F ir Transformer Ċ import Ġorg . jetbrains . kotlin . fir . visitor s . F ir Visitor Ċ Ċ abstract Ġclass ĠF ir Binary Logic Expression ( psi : ĠPsi Element ?) Ġ: ĠF ir Unknown Type Expression ( psi ) Ġ{ ĊĠĠĠ Ġabstract Ġval Ġleft Operand : ĠF ir Expression ĊĠĠĠ Ġabstract Ġval Ġright Operand : ĠF ir Expression ĊĠĠĠ Ġabstract Ġval Ġkind : ĠOperation Kind ĊĊĠĠĠ Ġoverride Ġfun Ġ< R , ĠD > Ġaccept ( visitor : ĠF ir Visitor < R , ĠD >, Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisitor . visit Binary Logic Expression ( this , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< R , ĠD > Ġaccept Children ( visitor : ĠF ir Visitor < R , ĠD >, Ġdata : ĠD ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . accept Children ( visitor , Ġdata ) ĊĠĠĠĠĠĠĠ Ġleft Operand . accept ( visitor , Ġdata ) ĊĠĠĠĠĠĠĠ Ġright Operand . accept ( visitor , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġ< D > Ġtransform Left Operand ( transformer : ĠF ir Transformer < D >, Ġdata : ĠD ): ĠF ir Binary Logic Expression ĊĠĠĠ Ġabstract Ġfun Ġ< D > Ġtransform Right Operand ( transformer : ĠF ir Transformer < D >, Ġdata : ĠD ): ĠF ir Binary Logic Expression ĊĠĠĠ Ġabstract Ġfun Ġ< D > Ġtransform Rest Children ( transformer : ĠF ir Transformer < D >, Ġdata : ĠD ): ĠF ir Binary Logic Expression ĊĊĠĠĠ Ġenum Ġclass ĠOperation Kind ( val Ġtoken : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAND (" && "), ĠOR (" || ") ĊĠĠĠ Ġ} Ċ }