/* Ċ Ġ* ĠCopyright Ġ 2 0 0 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 . debugger Ċ Ċ import Ġcom . intellij . x debugger . frame . X Composite Node Ċ import Ġcom . intellij . x debugger . frame . X Value Children List Ċ import Ġcom . intellij . x debugger . frame . X Value Group Ċ import Ġorg . jetbrains . concurrency . done Ċ import Ġorg . jetbrains . concurrency . error IfNot Message Ċ import Ġorg . jetbrains . debugger . values . Function Value Ċ import Ġorg . jetbrains . rpc . LOG Ċ import Ġjava . util .* Ċ Ċ internal Ġclass ĠFunction Scopes Value Group ( private Ġval Ġfunction Value : ĠFunction Value , Ġprivate Ġval Ġvariable Context : ĠVariable Context ) Ġ: ĠX Value Group (" Function Ġscopes ") Ġ{ ĊĠ Ġoverride Ġfun Ġcompute Children ( node : ĠX Composite Node ) Ġ{ ĊĠĠĠ Ġnode . set Already Sorted ( true ) ĊĊĠĠĠ Ġfunction Value . resolve () ĊĠĠĠĠĠ Ġ. done ( node ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġscopes Ġ= Ġit . scopes ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( scopes Ġ== Ġnull Ġ|| Ġscopes . size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode . add Children ( X Value Children List . EMPTY , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate And Add Scope List ( node , ĠArrays . asList (* scopes ), Ġvariable Context , Ġnull ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ. rejected Ġ{ ĊĠĠĠĠĠĠĠ ĠLOG . error IfNot Message ( it ) ĊĠĠĠĠĠĠĠ Ġnode . set ErrorMessage ( it . message !! ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} Ċ }