public void Append(GenericNode node) { var head = Head; GenericNodeTree.AddChild(ref head, ref node); Size++; }
public void Prepend(GenericNode node, Level level) { var head = Head; if (level == Level.Sibling) { node.Next = head; Head = node; } else { GenericNodeTree.PrependChild(ref head, ref node); } Size++; }
private GenericNode BuildGenericTree(CSharpNode head) { GenericNode node = CreateGenericNode(head); _size++; ProcessLinking(head); foreach (var cSharpNode in head.Children) { GenericNode child = BuildGenericTree(cSharpNode); GenericNodeTree.AddChild(ref node, ref child); _size++; } return(node); }