11 writes to _directMetadata
Microsoft.Build (11)
Instance\ProjectItemInstance.cs (11)
843_directMetadata = (directMetadata == null || directMetadata.Count == 0) ? null : directMetadata; // If the metadata was all removed, toss the dictionary 1088_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1436destinationAsTaskItem._directMetadata = _directMetadata?.DeepClone(); // copy on write! 1560ref _directMetadata, 1573_directMetadata = null; 1808_directMetadata = new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1813_directMetadata = null; 1855_directMetadata = metadata.DeepClone(); // Copy on write ! 1872_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1894_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1903_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>();
28 references to _directMetadata
Microsoft.Build (28)
Instance\ProjectItemInstance.cs (28)
1047get { return (_directMetadata == null) ? 0 : _directMetadata.Count; } 1058var list = _itemDefinitions != null ? MetadataCollection : _directMetadata; 1089_directMetadata.ImportProperties(metadata.Select(kvp => new ProjectMetadataInstance(kvp.Key, kvp.Value, allowItemSpecModifiers: true))); 1148return (_directMetadata == null) ? new CopyOnWritePropertyDictionary<ProjectMetadataInstance>() : _directMetadata.DeepClone(); // copy on write! 1177if (_directMetadata != null) 1179foreach (ProjectMetadataInstance metadatum in (IEnumerable<ProjectMetadataInstance>)_directMetadata) 1329if (_directMetadata != null) 1331string escapedValue = _directMetadata.GetEscapedValue(metadataName); 1390_directMetadata?.Remove(metadataName); 1431if (destinationItem is TaskItem destinationAsTaskItem && destinationAsTaskItem._directMetadata == null) 1436destinationAsTaskItem._directMetadata = _directMetadata?.DeepClone(); // copy on write! 1570if (_directMetadata?.Count == 0) 1640int capacity = _itemDefinitions?.Count ?? 0 + _directMetadata?.Count ?? 0; 1651if (_directMetadata is not null) 1653foreach (ProjectMetadataInstance metadatum in (IEnumerable<ProjectMetadataInstance>)_directMetadata) 1703if ((_directMetadata?.Contains(name) == true) || 1796if (translator.TranslateNullable(_directMetadata)) 1809_directMetadata.ImportProperties(metaData); 1827if (_directMetadata != null) 1829value = _directMetadata[name]; 1853if (_directMetadata == null) 1859_directMetadata.ImportProperties(metadata); 1874_directMetadata.Set(metadatum); 1896_directMetadata.Set(metadatum); 1909_directMetadata.ImportProperties(metadata); 2167return new ProjectItemInstance(_project, ItemType, includeEscaped, includeBeforeWildcardExpansionEscaped, source._taskItem._directMetadata, itemDefinitionsClone, definingProject, useItemDefinitionsWithoutModification: false);