/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 1 7 Ġ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 . u ast . values Ċ Ċ interface ĠU Value Ġ: ĠU Operand Ġ{ ĊĊĠĠĠ Ġfun Ġmerge ( other : ĠU Value ): ĠU Value ĊĊĠĠĠ Ġval Ġdependencies : ĠSet < U Dependency > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġempty Set () ĊĊĠĠĠ Ġfun Ġto Constant (): ĠU Constant ? ĊĊĠĠĠ Ġval Ġreachable : ĠBoolean ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠUN RE ACH ABLE : ĠU Value Ġ= ĠU Nothing Value () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠU Value . to Possible Constants (): ĠSet < U Constant > Ġ{ ĊĠĠĠ Ġval Ġresults Ġ= Ġmutable Set Of < U Constant >() ĊĠĠĠ Ġto Possible Constants ( results ) ĊĠĠĠ Ġreturn Ġresults Ċ } Ċ Ċ private Ġfun ĠU Value . to Possible Constants ( result : ĠMutable Set < U Constant >) Ġ{ ĊĠĠĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠU Dependent Value Ġ-> Ġvalue . to Possible Constants ( result ) ĊĠĠĠĠĠĠĠ Ġis ĠU Phi Value Ġ-> Ġvalues . forEach Ġ{ Ġit . to Possible Constants ( result ) Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġto Constant ()?. let Ġ{ Ġresult . add ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ