CodeModel\AbstractCodeModelService.cs (20)
42private readonly ConditionalWeakTable<SyntaxTree, IBidirectionalMap<SyntaxNodeKey, SyntaxNode>> _treeToNodeKeyMaps =
43new ConditionalWeakTable<SyntaxTree, IBidirectionalMap<SyntaxNodeKey, SyntaxNode>>();
105private IBidirectionalMap<SyntaxNodeKey, SyntaxNode> BuildNodeKeyMap(SyntaxTree syntaxTree)
108var nodeKeyMap = BidirectionalMap<SyntaxNodeKey, SyntaxNode>.Empty;
120var key = new SyntaxNodeKey(name, ordinal);
127private IBidirectionalMap<SyntaxNodeKey, SyntaxNode> GetNodeKeyMap(SyntaxTree syntaxTree)
130public SyntaxNodeKey GetNodeKey(SyntaxNode node)
132var nodeKey = TryGetNodeKey(node);
142public SyntaxNodeKey TryGetNodeKey(SyntaxNode node)
145if (!nodeKeyMap.TryGetKey(node, out var nodeKey))
147return SyntaxNodeKey.Empty;
153public SyntaxNode LookupNode(SyntaxNodeKey nodeKey, SyntaxTree syntaxTree)
164public bool TryLookupNode(SyntaxNodeKey nodeKey, SyntaxTree syntaxTree, [NotNullWhen(true)] out SyntaxNode? node)
337.FirstOrDefault(n => TryGetNodeKey(n) != SyntaxNodeKey.Empty);
364var nodeKey = parentNode.AncestorsAndSelf()
366.FirstOrDefault(nk => nk != SyntaxNodeKey.Empty);
368if (nodeKey == SyntaxNodeKey.Empty)
407.FirstOrDefault(n => TryGetNodeKey(n) != SyntaxNodeKey.Empty);
434.FirstOrDefault(n => TryGetNodeKey(n) != SyntaxNodeKey.Empty);
453.FirstOrDefault(n => TryGetNodeKey(n) != SyntaxNodeKey.Empty);