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