131 references to ItemSpecModifiers
Microsoft.Build (82)
BackEnd\BuildManager\BuildManager.cs (1)
1180ItemSpecModifiers.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)
148if (ItemSpecModifiers.IsDerivableItemSpecModifier(functionName))
Evaluation\Expander.ItemExpander.Transforms.cs (35)
52[$"%({ItemSpecModifiers.FullPath})"] = ItemSpecModifiers.FullPath, 53[$"%({ItemSpecModifiers.RootDir})"] = ItemSpecModifiers.RootDir, 54[$"%({ItemSpecModifiers.Filename})"] = ItemSpecModifiers.Filename, 55[$"%({ItemSpecModifiers.Extension})"] = ItemSpecModifiers.Extension, 56[$"%({ItemSpecModifiers.RelativeDir})"] = ItemSpecModifiers.RelativeDir, 57[$"%({ItemSpecModifiers.Directory})"] = ItemSpecModifiers.Directory, 58[$"%({ItemSpecModifiers.RecursiveDir})"] = ItemSpecModifiers.RecursiveDir, 59[$"%({ItemSpecModifiers.Identity})"] = ItemSpecModifiers.Identity, 60[$"%({ItemSpecModifiers.ModifiedTime})"] = ItemSpecModifiers.ModifiedTime, 61[$"%({ItemSpecModifiers.CreatedTime})"] = ItemSpecModifiers.CreatedTime, 62[$"%({ItemSpecModifiers.AccessedTime})"] = ItemSpecModifiers.AccessedTime, 63[$"%({ItemSpecModifiers.DefiningProjectFullPath})"] = ItemSpecModifiers.DefiningProjectFullPath, 64[$"%({ItemSpecModifiers.DefiningProjectDirectory})"] = ItemSpecModifiers.DefiningProjectDirectory, 65[$"%({ItemSpecModifiers.DefiningProjectName})"] = ItemSpecModifiers.DefiningProjectName, 66[$"%({ItemSpecModifiers.DefiningProjectExtension})"] = ItemSpecModifiers.DefiningProjectExtension, 123string definingProjectEscaped = item.Item.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 125result = ItemSpecModifiers.GetItemSpecModifier(item.Value, functionName, directoryToUse, definingProjectEscaped); 751if (singleMatch.Type == MetadataMatchType.ExactSingle && !ItemSpecModifiers.IsItemSpecModifier(firstMatch.Name)) 1071definingProjectEscaped = sourceOfMetadata.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 1075value = ItemSpecModifiers.GetItemSpecModifier(itemSpec, modifierKind, directoryToUse, definingProjectEscaped);
Evaluation\Expander.ItemExpander.Transforms.MetadataMatch.cs (1)
29IsDerivableItemSpecModifier = ItemSpecModifiers.TryGetDerivableModifierKind(name, out _modifierKind);
Evaluation\Expander.MetadataExpander.cs (1)
203bool isBuiltInMetadata = ItemSpecModifiers.IsItemSpecModifier(metadataName);
Evaluation\ProjectParser.cs (2)
390if (ItemSpecModifiers.IsItemSpecModifier(name) || XMakeElements.ReservedItemNames.Contains(name)) 411ProjectErrorUtilities.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 (14)
586private ItemSpecModifiers.Cache _cachedModifiers; 601_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 622_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 643string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 647_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 652string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 656_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 704foreach (string name in ItemSpecModifiers.All) 723return count + ItemSpecModifiers.All.Length; 770ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "CannotChangeItemSpecModifiers", metadataName); 791ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "CannotChangeItemSpecModifiers", metadataName); 903if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 907return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers); 933_customEscapedMetadata.TryGetValue(ItemSpecModifiers.RecursiveDir, out string escapedRecursiveDir);
Microsoft.Build.Framework (3)
BuiltInMetadataExpander.cs (3)
40ref ItemSpecModifiers.Cache cache) 70: ItemSpecModifiers.GetItemSpecModifier(escapedItemSpec, kind, currentDirectory: null, escapedDefiningProject, ref cache)); 151return ItemSpecModifiers.TryGetModifierKind(value.Substring(start, end - start), out kind);
Microsoft.Build.Tasks.Core (21)
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 (14)
586private ItemSpecModifiers.Cache _cachedModifiers; 601_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 622_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 643string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 647_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 652string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 656_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 704foreach (string name in ItemSpecModifiers.All) 723return count + ItemSpecModifiers.All.Length; 770ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "CannotChangeItemSpecModifiers", metadataName); 791ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "CannotChangeItemSpecModifiers", metadataName); 903if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 907return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers); 933_customEscapedMetadata.TryGetValue(ItemSpecModifiers.RecursiveDir, out string escapedRecursiveDir);
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 (14)
src\msbuild\src\Shared\TaskParameter.cs (14)
586private ItemSpecModifiers.Cache _cachedModifiers; 601_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 622_escapedDefiningProject = EscapingUtilities.Escape(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), cache: true); 643string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 647_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 652string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 656_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 704foreach (string name in ItemSpecModifiers.All) 723return count + ItemSpecModifiers.All.Length; 770ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "CannotChangeItemSpecModifiers", metadataName); 791ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "CannotChangeItemSpecModifiers", metadataName); 903if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 907return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers); 933_customEscapedMetadata.TryGetValue(ItemSpecModifiers.RecursiveDir, out string escapedRecursiveDir);