/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 6 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . backend . jvm . intr insics Ċ Ċ import Ġorg . jetbrains . kotlin . backend . jvm . codegen . Block Info Ċ import Ġorg . jetbrains . kotlin . backend . jvm . codegen . Boolean Value Ċ import Ġorg . jetbrains . kotlin . backend . jvm . codegen . Expression Code gen Ċ import Ġorg . jetbrains . kotlin . backend . jvm . codegen . coerce To Boolean Ċ import Ġorg . jetbrains . kotlin . ir . expressions . Ir Function Access Expression Ċ import Ġorg . jetbrains . org . object web . asm . Label Ċ Ċ object ĠNot Ġ: ĠIntr insic Method () Ġ{ ĊĠĠĠ Ġclass ĠBoolean Neg ation ( val Ġvalue : ĠBoolean Value ) Ġ: ĠBoolean Value ( value . codegen ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġjump If False ( target : ĠLabel ) Ġ= Ġvalue . jump If True ( target ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġjump If True ( target : ĠLabel ) Ġ= Ġvalue . jump If False ( target ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdiscard () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . discard () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinvoke ( expression : ĠIr Function Access Expression , Ġcodegen : ĠExpression Code gen , Ġdata : ĠBlock Info ) Ġ= ĊĠĠĠĠĠĠĠ ĠBoolean Neg ation ( expression . dispatch Receiver !!. accept ( codegen , Ġdata ). coerce To Boolean ()) Ċ } Ċ