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! 1554ref _directMetadata, 1567_directMetadata = null; 1802_directMetadata = new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1807_directMetadata = null; 1849_directMetadata = metadata.DeepClone(); // Copy on write ! 1866_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1888_directMetadata ??= new CopyOnWritePropertyDictionary<ProjectMetadataInstance>(); 1897_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! 1564if (_directMetadata?.Count == 0) 1634int capacity = _itemDefinitions?.Count ?? 0 + _directMetadata?.Count ?? 0; 1645if (_directMetadata is not null) 1647foreach (ProjectMetadataInstance metadatum in (IEnumerable<ProjectMetadataInstance>)_directMetadata) 1697if ((_directMetadata?.Contains(name) == true) || 1790if (translator.TranslateNullable(_directMetadata)) 1803_directMetadata.ImportProperties(metaData); 1821if (_directMetadata != null) 1823value = _directMetadata[name]; 1847if (_directMetadata == null) 1853_directMetadata.ImportProperties(metadata); 1868_directMetadata.Set(metadatum); 1890_directMetadata.Set(metadatum); 1903_directMetadata.ImportProperties(metadata); 2161return new ProjectItemInstance(_project, ItemType, includeEscaped, includeBeforeWildcardExpansionEscaped, source._taskItem._directMetadata, itemDefinitionsClone, definingProject, useItemDefinitionsWithoutModification: false);