public SyntaxSearchWindowViewModel() { var tree = new InheritanceTree(typeof(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode)); var nodes = tree.GetTreeNodes(); SyntaxTypes = nodes.Select(n => new SyntaxTypeViewModel(n.depth, n.type)).ToArray(); _engine = new SyntaxSearchEngine(tree); }
public SyntaxNodeCache(InheritanceTree typeTree, IEnumerable <SyntaxNode> nodes) { _typeTree = typeTree; _syntaxNodes = _typeTree.GetTreeNodes().Select(n => n.type).ToDictionary(t => t, _ => new List <SyntaxNode>()); foreach (var node in nodes) { _syntaxNodes[node.GetType()].Add(node); } }