示例#1
0
        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);
            }
        }
 public SyntaxSearchEngine(InheritanceTree typeTree)
 {
     _typeTree = typeTree;
 }