11 writes to _directMetadata
Microsoft.Build (11)
Instance\ProjectItemInstance.cs (11)
808_directMetadata = (directMetadata == null || directMetadata.Count == 0) ? null : directMetadata; // If the metadata was all removed, toss the dictionary 1051_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1397destinationAsTaskItem._directMetadata = _directMetadata?.DeepClone(); // copy on write! 1505translator.TranslateDictionary(ref _directMetadata, ProjectMetadataInstance.FactoryForDeserialization); 1516_directMetadata = null; 1746_directMetadata = new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1751_directMetadata = null; 1793_directMetadata = metadata.DeepClone(); // Copy on write ! 1810_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1832_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1841_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>();
27 references to _directMetadata
Microsoft.Build (27)
Instance\ProjectItemInstance.cs (27)
1010get { return (_directMetadata == null) ? 0 : _directMetadata.Count; } 1021var list = _itemDefinitions != null ? MetadataCollection : _directMetadata; 1052_directMetadata.ImportProperties(metadata.Select(kvp => new ProjectMetadataInstance(kvp.Key, kvp.Value, allowItemSpecModifiers: true))); 1109return (_directMetadata == null) ? new CopyOnWritePropertyDictionary<ProjectMetadataInstance>() : _directMetadata.DeepClone(); // copy on write! 1138if (_directMetadata != null) 1140foreach (ProjectMetadataInstance metadatum in _directMetadata) 1291if (_directMetadata != null) 1293metadatum = _directMetadata[metadataName]; 1351_directMetadata?.Remove(metadataName); 1392if (destinationItem is TaskItem destinationAsTaskItem && destinationAsTaskItem._directMetadata == null) 1397destinationAsTaskItem._directMetadata = _directMetadata?.DeepClone(); // copy on write! 1513if (_directMetadata?.Count == 0) 1593if (_directMetadata is not null) 1595foreach (ProjectMetadataInstance metadatum in _directMetadata) 1645if ((_directMetadata?.Contains(name) == true) || 1734if (translator.TranslateNullable(_directMetadata)) 1747_directMetadata.ImportProperties(metaData); 1765if (_directMetadata != null) 1767value = _directMetadata[name]; 1791if (_directMetadata == null) 1797_directMetadata.ImportProperties(metadata); 1812_directMetadata.Set(metadatum); 1834_directMetadata.Set(metadatum); 1847_directMetadata.ImportProperties(metadata); 2054return new ProjectItemInstance(_project, ItemType, includeEscaped, includeBeforeWildcardExpansionEscaped, source._taskItem._directMetadata, itemDefinitionsClone, definingProject);