126 references to ItemSpecModifiers
Microsoft.Build (81)
BackEnd\BuildManager\BuildManager.cs (1)
1131ItemSpecModifiers.ClearDefiningProjectCache();
BackEnd\Components\RequestBuilder\IntrinsicTasks\MSBuild.cs (1)
699outputItemFromTarget.SetMetadata(ItemMetadataNames.msbuildSourceProjectFile, projects[i].GetMetadata(ItemSpecModifiers.FullPath));
Construction\ProjectMetadataElement.cs (1)
108ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name);
Definition\BuiltInMetadata.cs (7)
22internal static int MetadataCount => ItemSpecModifiers.All.Length; 27internal static ImmutableArray<string> MetadataNames => ItemSpecModifiers.All; 49ref ItemSpecModifiers.Cache cache) 62ref ItemSpecModifiers.Cache cache) 64if (ItemSpecModifiers.TryGetModifierKind(name, out ItemSpecModifierKind modifierKind)) 83ref ItemSpecModifiers.Cache cache) 86: ItemSpecModifiers.GetItemSpecModifier(evaluatedIncludeEscaped, modifierKind, currentDirectory, definingProjectEscaped, ref cache);
Definition\ProjectItem.cs (6)
105private ItemSpecModifiers.Cache _cachedModifiers; 302public int MetadataCount => Metadata.Count + ItemSpecModifiers.All.Length; 456if (ItemSpecModifiers.IsItemSpecModifier(name)) 581ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name); 639ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name); 852=> ItemSpecModifiers.TryGetModifierKind(name, out ItemSpecModifierKind modifierKind)
Definition\ProjectItemDefinition.cs (1)
154ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name);
Evaluation\Conditionals\Scanner.cs (1)
477bool isItemSpecModifier = ItemSpecModifiers.IsItemSpecModifier(expression);
Evaluation\Expander.ItemExpander.cs (1)
141if (ItemSpecModifiers.IsDerivableItemSpecModifier(functionName))
Evaluation\Expander.ItemExpander.Transforms.cs (36)
51[$"%({ItemSpecModifiers.FullPath})"] = ItemSpecModifiers.FullPath, 52[$"%({ItemSpecModifiers.RootDir})"] = ItemSpecModifiers.RootDir, 53[$"%({ItemSpecModifiers.Filename})"] = ItemSpecModifiers.Filename, 54[$"%({ItemSpecModifiers.Extension})"] = ItemSpecModifiers.Extension, 55[$"%({ItemSpecModifiers.RelativeDir})"] = ItemSpecModifiers.RelativeDir, 56[$"%({ItemSpecModifiers.Directory})"] = ItemSpecModifiers.Directory, 57[$"%({ItemSpecModifiers.RecursiveDir})"] = ItemSpecModifiers.RecursiveDir, 58[$"%({ItemSpecModifiers.Identity})"] = ItemSpecModifiers.Identity, 59[$"%({ItemSpecModifiers.ModifiedTime})"] = ItemSpecModifiers.ModifiedTime, 60[$"%({ItemSpecModifiers.CreatedTime})"] = ItemSpecModifiers.CreatedTime, 61[$"%({ItemSpecModifiers.AccessedTime})"] = ItemSpecModifiers.AccessedTime, 62[$"%({ItemSpecModifiers.DefiningProjectFullPath})"] = ItemSpecModifiers.DefiningProjectFullPath, 63[$"%({ItemSpecModifiers.DefiningProjectDirectory})"] = ItemSpecModifiers.DefiningProjectDirectory, 64[$"%({ItemSpecModifiers.DefiningProjectName})"] = ItemSpecModifiers.DefiningProjectName, 65[$"%({ItemSpecModifiers.DefiningProjectExtension})"] = ItemSpecModifiers.DefiningProjectExtension, 122string definingProjectEscaped = item.Item.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 124result = ItemSpecModifiers.GetItemSpecModifier(item.Value, functionName, directoryToUse, definingProjectEscaped); 677if (singleMatch.Type == MetadataMatchType.ExactSingle && !ItemSpecModifiers.IsItemSpecModifier(match.Name)) 972if (ItemSpecModifiers.IsDerivableItemSpecModifier(match.Name)) 980string definingProjectEscaped = sourceOfMetadata.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 982value = ItemSpecModifiers.GetItemSpecModifier(itemSpec, match.Name, directoryToUse, definingProjectEscaped);
Evaluation\Expander.MetadataExpander.cs (1)
225bool isBuiltInMetadata = ItemSpecModifiers.IsItemSpecModifier(metadataName);
Evaluation\ProjectParser.cs (2)
379if (ItemSpecModifiers.IsItemSpecModifier(name) || XMakeElements.ReservedItemNames.Contains(name)) 400ProjectErrorUtilities.VerifyThrowInvalidProject(!ItemSpecModifiers.IsItemSpecModifier(element.Name), element.Location, "ItemSpecModifierCannotBeCustomMetadata", element.Name);
Instance\ProjectItemInstance.cs (9)
822private ItemSpecModifiers.Cache _cachedModifiers; 977List<string> names = new List<string>(capacity: metadataCollection.Count + ItemSpecModifiers.All.Length); 984foreach (string name in ItemSpecModifiers.All) 1827ItemSpecModifiers.IsItemSpecModifier(name) || 2025if (!ItemSpecModifiers.IsDerivableItemSpecModifier(name)) 2038.Where(item => !ItemSpecModifiers.IsDerivableItemSpecModifier(item.Key)); 2094=> ItemSpecModifiers.TryGetModifierKind(name, out ItemSpecModifierKind modifierKind) 2191if (_itemSpecModifiersIndex < ItemSpecModifiers.All.Length) 2193Current = ItemSpecModifiers.All[_itemSpecModifiersIndex];
Instance\ProjectMetadataInstance.cs (1)
245if (ItemSpecModifiers.IsItemSpecModifier(name))
src\msbuild\src\Shared\TaskParameter.cs (13)
564private ItemSpecModifiers.Cache _cachedModifiers; 574_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 595_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 617string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 621_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 626string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 630_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 677foreach (string name in ItemSpecModifiers.All) 696return count + ItemSpecModifiers.All.Length; 742ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 756ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 863if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 867return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers);
Microsoft.Build.Tasks.Core (20)
AssemblyDependency\ReferenceTable.cs (1)
883name = item.GetMetadata(ItemSpecModifiers.Filename);
AssignLinkMetadata.cs (3)
47string definingProject = item.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath); 48string definingProjectDirectory = item.GetMetadata(ItemSpecModifiers.DefiningProjectDirectory); 49string fullPath = item.GetMetadata(ItemSpecModifiers.FullPath);
CreateItem.cs (2)
120if (ItemSpecModifiers.IsItemSpecModifier(nameAndValue.Key)) 197newItem.SetMetadata(ItemSpecModifiers.RecursiveDir, match.wildcardDirectoryPart);
MSBuild.cs (1)
641outputItemFromTarget.SetMetadata(ItemMetadataNames.msbuildSourceProjectFile, projects[i].GetMetadata(ItemSpecModifiers.FullPath));
src\msbuild\src\Shared\TaskParameter.cs (13)
564private ItemSpecModifiers.Cache _cachedModifiers; 574_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 595_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 617string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 621_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 626string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 630_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 677foreach (string name in ItemSpecModifiers.All) 696return count + ItemSpecModifiers.All.Length; 742ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 756ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 863if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 867return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers);
Microsoft.Build.Utilities.Core (11)
TaskItem.cs (11)
55private ItemSpecModifiers.Cache _cachedModifiers; 133if (!ItemSpecModifiers.IsDerivableItemSpecModifier(key)) 156_definingProject = EscapingUtilities.Escape(sourceItem.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 161_definingProject = sourceItemAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 220int count = (_metadata?.Count ?? 0) + ItemSpecModifiers.All.Length; 229foreach (string name in ItemSpecModifiers.All) 242public int MetadataCount => (_metadata?.Count ?? 0) + ItemSpecModifiers.All.Length; 277ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), 313ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), 508if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 512return ItemSpecModifiers.GetItemSpecModifier(_itemSpec, modifierKind, null, _definingProject, ref _cachedModifiers);
MSBuild (14)
JsonOutputFormatter.cs (1)
104foreach (string metadatumName in ItemSpecModifiers.All)
src\msbuild\src\Shared\TaskParameter.cs (13)
564private ItemSpecModifiers.Cache _cachedModifiers; 574_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 595_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 617string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 621_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 626string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 630_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 677foreach (string name in ItemSpecModifiers.All) 696return count + ItemSpecModifiers.All.Length; 742ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 756ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 863if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 867return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers);