private static void GatherNodes(SyntaxNodeOrToken node, HashSet <GreenNode> hashSet) { hashSet.Add(node.UnderlyingNode); foreach (var child in node.ChildNodesAndTokens()) { GatherNodes(child, hashSet); } }
private static void GetRebuiltNodes(SyntaxNodeOrToken newNode, HashSet <GreenNode> hashSet, ArrayBuilder <SyntaxNodeOrToken> nodes) { if (hashSet.Contains(newNode.UnderlyingNode)) { return; } nodes.Add(newNode); foreach (var child in newNode.ChildNodesAndTokens()) { GetRebuiltNodes(child, hashSet, nodes); } }