29 references to MetadataNode
Microsoft.CodeAnalysis.Workspaces (29)
FindSymbols\SymbolTree\SymbolTreeInfo.Node.cs (2)
31public readonly MultiDictionary<MetadataNode, ParameterTypeInfo>.ValueSet ParameterTypeInfos; 33public BuilderNode(string name, int parentIndex, MultiDictionary<MetadataNode, ParameterTypeInfo>.ValueSet parameterTypeInfos = default)
FindSymbols\SymbolTree\SymbolTreeInfo_Metadata.cs (27)
247private readonly OrderPreservingMultiDictionary<MetadataNode, MetadataNode> _parentToChildren; 248private readonly MetadataNode _rootNode; 260private readonly MultiDictionary<MetadataNode, ParameterTypeInfo> _extensionMethodToParameterTypeInfo = new(); 271_parentToChildren = OrderPreservingMultiDictionary<MetadataNode, MetadataNode>.GetInstance(); 272_rootNode = MetadataNode.Allocate(name: ""); 339foreach (var child in children) 340MetadataNode.Free(child); 343MetadataNode.Free(_rootNode); 368MetadataNode parentNode, 377var childNode = MetadataNode.Allocate(nodeName); 704var currentNode = _rootNode; 708var childNode = GetOrCreateChildNode(currentNode, simpleName); 713private readonly MetadataNode GetOrCreateChildNode( 714MetadataNode currentNode, string simpleName) 716if (_parentToChildren.TryGetValue(currentNode, static (childNode, simpleName) => childNode.Name == simpleName, simpleName, out var childNode)) 725var newChildNode = MetadataNode.Allocate(simpleName); 741MetadataNode parentNode, 745foreach (var child in _parentToChildren[parentNode]) 793private static readonly ObjectPool<MetadataNode> s_pool = SharedPools.Default<MetadataNode>(); 801public static MetadataNode Allocate(string name) 803var node = s_pool.Allocate(); 809public static void Free(MetadataNode node)