125 references to ItemSpecModifiers
Microsoft.Build (81)
BackEnd\BuildManager\BuildManager.cs (1)
1175ItemSpecModifiers.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)
576private ItemSpecModifiers.Cache _cachedModifiers; 586_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 607_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 629string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 633_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 638string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 642_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 689foreach (string name in ItemSpecModifiers.All) 708return count + ItemSpecModifiers.All.Length; 754ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 768ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 875if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 879return 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)
576private ItemSpecModifiers.Cache _cachedModifiers; 586_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 607_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 629string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 633_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 638string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 642_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 689foreach (string name in ItemSpecModifiers.All) 708return count + ItemSpecModifiers.All.Length; 754ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 768ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 875if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 879return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers);
Microsoft.Build.Utilities.Core (11)
TaskItem.cs (11)
56private ItemSpecModifiers.Cache _cachedModifiers; 134if (!ItemSpecModifiers.IsDerivableItemSpecModifier(key)) 157_definingProject = EscapingUtilities.Escape(sourceItem.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 162_definingProject = sourceItemAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 274int count = (_metadata?.Count ?? 0) + ItemSpecModifiers.All.Length; 283foreach (string name in ItemSpecModifiers.All) 296public int MetadataCount => (_metadata?.Count ?? 0) + ItemSpecModifiers.All.Length; 331ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), 367ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), 562if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 566return ItemSpecModifiers.GetItemSpecModifier(_itemSpec, modifierKind, null, _definingProject, ref _cachedModifiers);
MSBuild (13)
src\msbuild\src\Shared\TaskParameter.cs (13)
576private ItemSpecModifiers.Cache _cachedModifiers; 586_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 607_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 629string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 633_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 638string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 642_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 689foreach (string name in ItemSpecModifiers.All) 708return count + ItemSpecModifiers.All.Length; 754ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 768ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 875if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 879return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers);