Beispiel #1
0
        private int Count(ScopeNode node)
        {
            if (node == null)
            {
                return(0);
            }
            var sum = node.Messages.Count;

            foreach (var child in node.Children)
            {
                sum += Count(child);
            }
            return(sum);
        }
Beispiel #2
0
 private ScopeNode CollapseHelper(ScopeNode node)
 {
     if (node == null)
     {
         return(node);
     }
     for (int i = 0; i < node.Children.Count; i++)
     {
         node.Children[i] = CollapseHelper(node.Children[i]);
     }
     node.Children.RemoveAll(c => c == null);
     if (node.Children.Count == 0 && node.Messages.Count == 0)
     {
         return(null);
     }
     else
     {
         return(node);
     }
 }