29 references to MetadataNode
Microsoft.CodeAnalysis.Workspaces (29)
FindSymbols\SymbolTree\SymbolTreeInfo.Node.cs (2)
24private readonly struct BuilderNode(string name, int parentIndex, MultiDictionary<MetadataNode, ParameterTypeInfo>.ValueSet parameterTypeInfos = default) 30public readonly MultiDictionary<MetadataNode, ParameterTypeInfo>.ValueSet ParameterTypeInfos = parameterTypeInfos;
FindSymbols\SymbolTree\SymbolTreeInfo_Metadata.cs (27)
256private readonly OrderPreservingMultiDictionary<MetadataNode, MetadataNode> _parentToChildren = OrderPreservingMultiDictionary<MetadataNode, MetadataNode>.GetInstance(); 257private readonly MetadataNode _rootNode = MetadataNode.Allocate(name: ""); 269private readonly MultiDictionary<MetadataNode, ParameterTypeInfo> _extensionMethodToParameterTypeInfo = []; 336foreach (var child in children) 337MetadataNode.Free(child); 340MetadataNode.Free(_rootNode); 365MetadataNode parentNode, 374var childNode = MetadataNode.Allocate(nodeName); 701var currentNode = _rootNode; 705var childNode = GetOrCreateChildNode(currentNode, simpleName); 710private readonly MetadataNode GetOrCreateChildNode( 711MetadataNode currentNode, string simpleName) 713if (_parentToChildren.TryGetValue(currentNode, static (childNode, simpleName) => childNode.Name == simpleName, simpleName, out var childNode)) 722var newChildNode = MetadataNode.Allocate(simpleName); 738MetadataNode parentNode, 742foreach (var child in _parentToChildren[parentNode]) 790private static readonly ObjectPool<MetadataNode> s_pool = SharedPools.Default<MetadataNode>(); 798public static MetadataNode Allocate(string name) 800var node = s_pool.Allocate(); 806public static void Free(MetadataNode node)