Exemple #1
0
        private void UpdateRestores(Label l)
        {
            // current verify is branching to this label, go and update all the "will be restored" bits

            var curRoot = CurrentlyInScope.FirstOrDefault(f => !f.IsBaseless);

            curRoot = curRoot ?? CurrentlyInScope.OrderByDescending(c => c.Iteration).First();

            foreach (var kv in RestoreOnMark.AsEnumerable())
            {
                foreach (var v in kv.Value.ToList().AsEnumerable())
                {
                    if (v.BeganAt == l)
                    {
                        var replacement = curRoot.Concat(v);

                        kv.Value.Remove(v);
                        kv.Value.Add(replacement);
                    }
                }
            }
        }