3 instantiations of SyntaxNodeKey
Microsoft.VisualStudio.LanguageServices.Implementation (3)
CodeModel\AbstractCodeModelService.cs (1)
120var key = new SyntaxNodeKey(name, ordinal);
CodeModel\InternalElements\AbstractKeyedCodeElement.cs (1)
43_nodeKey = new SyntaxNodeKey(name, -1);
CodeModel\SyntaxNodeKey.cs (1)
22public static readonly SyntaxNodeKey Empty = new SyntaxNodeKey();
91 references to SyntaxNodeKey
Microsoft.VisualStudio.LanguageServices.CSharp (1)
CodeModel\CSharpCodeModelService.cs (1)
543var nodeKey = GetNodeKey(node);
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (2)
CodeModel\AbstractFileCodeElementTests.cs (2)
14using SyntaxNodeKey = Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.SyntaxNodeKey; 65WpfTestRunner.RequireWpfFact($"Tests create {nameof(CodeElement)}s which use the affinitized {nameof(CleanableWeakComHandleTable<SyntaxNodeKey, CodeElement>)}");
Microsoft.VisualStudio.LanguageServices.Implementation (87)
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);
CodeModel\Collections\BasesCollection.cs (3)
29SyntaxNodeKey nodeKey, 37private readonly SyntaxNodeKey _nodeKey; 43SyntaxNodeKey nodeKey,
CodeModel\Collections\InheritsImplementsCollection.cs (3)
27SyntaxNodeKey nodeKey) 34private readonly SyntaxNodeKey _nodeKey; 40SyntaxNodeKey nodeKey)
CodeModel\Collections\NamespaceCollection.cs (4)
27SyntaxNodeKey nodeKey) 34private readonly SyntaxNodeKey _nodeKey; 40SyntaxNodeKey nodeKey) 56get { return _nodeKey == SyntaxNodeKey.Empty; }
CodeModel\Collections\TypeCollection.cs (3)
28SyntaxNodeKey nodeKey) 35private readonly SyntaxNodeKey _nodeKey; 41SyntaxNodeKey nodeKey)
CodeModel\FileCodeModel.cs (10)
61private readonly CleanableWeakComHandleTable<SyntaxNodeKey, EnvDTE.CodeElement> _codeElementTable; 90_codeElementTable = new CleanableWeakComHandleTable<SyntaxNodeKey, EnvDTE.CodeElement>(state.ThreadingContext); 201internal void UpdateCodeElementNodeKey(AbstractKeyedCodeElement keyedElement, SyntaxNodeKey oldNodeKey, SyntaxNodeKey newNodeKey) 227internal void OnCodeElementCreated(SyntaxNodeKey nodeKey, EnvDTE.CodeElement element) 240internal void OnCodeElementDeleted(SyntaxNodeKey nodeKey) 245var nodeKey = CodeModelService.TryGetNodeKey(node); 464internal SyntaxNode LookupNode(SyntaxNodeKey nodeKey) 638get { return NamespaceCollection.Create(this.State, this, this, SyntaxNodeKey.Empty); } 808var nodeKey = keyedElement.NodeKey;
CodeModel\GlobalNodeKey.cs (2)
13public readonly SyntaxNodeKey NodeKey; 16public GlobalNodeKey(SyntaxNodeKey nodeKey, SyntaxPath path)
CodeModel\ICodeModelService.cs (4)
70SyntaxNodeKey GetNodeKey(SyntaxNode node); 71SyntaxNodeKey TryGetNodeKey(SyntaxNode node); 72SyntaxNode LookupNode(SyntaxNodeKey nodeKey, SyntaxTree syntaxTree); 73bool TryLookupNode(SyntaxNodeKey nodeKey, SyntaxTree syntaxTree, [NotNullWhen(true)] out SyntaxNode? node);
CodeModel\InternalElements\AbstractCodeMember.cs (1)
24SyntaxNodeKey nodeKey,
CodeModel\InternalElements\AbstractCodeType.cs (1)
24SyntaxNodeKey nodeKey,
CodeModel\InternalElements\AbstractKeyedCodeElement.cs (4)
21private SyntaxNodeKey _nodeKey; 27SyntaxNodeKey nodeKey, 47internal SyntaxNodeKey NodeKey 74var newNodeKey = CodeModelService.GetNodeKey(node);
CodeModel\InternalElements\CodeClass.cs (2)
29SyntaxNodeKey nodeKey, 54SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeDelegate.cs (2)
21SyntaxNodeKey nodeKey, 45SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeEnum.cs (2)
19SyntaxNodeKey nodeKey, 43SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeEvent.cs (2)
22SyntaxNodeKey nodeKey, 46SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeFunction.cs (2)
25SyntaxNodeKey nodeKey, 49SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeFunctionDeclareDecl.cs (2)
24SyntaxNodeKey nodeKey, 48SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeFunctionWithEventHandler.cs (2)
19SyntaxNodeKey nodeKey, 43SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeInterface.cs (2)
20SyntaxNodeKey nodeKey, 44SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeNamespace.cs (2)
24SyntaxNodeKey nodeKey, 48SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeProperty.cs (2)
23SyntaxNodeKey nodeKey, 47SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeStruct.cs (2)
21SyntaxNodeKey nodeKey, 45SyntaxNodeKey nodeKey,
CodeModel\InternalElements\CodeVariable.cs (2)
21SyntaxNodeKey nodeKey, 45SyntaxNodeKey nodeKey,
CodeModel\SyntaxNodeKey.cs (8)
17internal readonly struct SyntaxNodeKey : IEquatable<SyntaxNodeKey> 22public static readonly SyntaxNodeKey Empty = new SyntaxNodeKey(); 37public bool Equals(SyntaxNodeKey other) 45if (obj is SyntaxNodeKey key) 74public static bool operator ==(SyntaxNodeKey left, SyntaxNodeKey right) 77public static bool operator !=(SyntaxNodeKey left, SyntaxNodeKey right)
Microsoft.VisualStudio.LanguageServices.Test.Utilities2 (1)
CodeModel\CodeModelTestHelpers.vb (1)
151WpfTestRunner.RequireWpfFact($"{NameOf(GetCodeElementAtCursor)} creates {NameOf(EnvDTE.CodeElement)}s and thus uses the affinited {NameOf(CleanableWeakComHandleTable(Of SyntaxNodeKey, EnvDTE.CodeElement))}")