287 references to ItemSpecModifiers
Microsoft.Build (81)
BackEnd\BuildManager\BuildManager.cs (1)
1108ItemSpecModifiers.ClearDefiningProjectCache();
BackEnd\Components\RequestBuilder\IntrinsicTasks\MSBuild.cs (1)
714outputItemFromTarget.SetMetadata(ItemMetadataNames.msbuildSourceProjectFile, projects[i].GetMetadata(ItemSpecModifiers.FullPath));
Construction\ProjectMetadataElement.cs (1)
107ErrorUtilities.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)
478bool isItemSpecModifier = ItemSpecModifiers.IsItemSpecModifier(expression);
Evaluation\Expander.cs (38)
29using ItemSpecModifiers = Microsoft.Build.Framework.ItemSpecModifiers; 1167bool isBuiltInMetadata = ItemSpecModifiers.IsItemSpecModifier(metadataName); 1962if (ItemSpecModifiers.IsDerivableItemSpecModifier(functionName)) 2463[$"%({ItemSpecModifiers.FullPath})"] = ItemSpecModifiers.FullPath, 2464[$"%({ItemSpecModifiers.RootDir})"] = ItemSpecModifiers.RootDir, 2465[$"%({ItemSpecModifiers.Filename})"] = ItemSpecModifiers.Filename, 2466[$"%({ItemSpecModifiers.Extension})"] = ItemSpecModifiers.Extension, 2467[$"%({ItemSpecModifiers.RelativeDir})"] = ItemSpecModifiers.RelativeDir, 2468[$"%({ItemSpecModifiers.Directory})"] = ItemSpecModifiers.Directory, 2469[$"%({ItemSpecModifiers.RecursiveDir})"] = ItemSpecModifiers.RecursiveDir, 2470[$"%({ItemSpecModifiers.Identity})"] = ItemSpecModifiers.Identity, 2471[$"%({ItemSpecModifiers.ModifiedTime})"] = ItemSpecModifiers.ModifiedTime, 2472[$"%({ItemSpecModifiers.CreatedTime})"] = ItemSpecModifiers.CreatedTime, 2473[$"%({ItemSpecModifiers.AccessedTime})"] = ItemSpecModifiers.AccessedTime, 2474[$"%({ItemSpecModifiers.DefiningProjectFullPath})"] = ItemSpecModifiers.DefiningProjectFullPath, 2475[$"%({ItemSpecModifiers.DefiningProjectDirectory})"] = ItemSpecModifiers.DefiningProjectDirectory, 2476[$"%({ItemSpecModifiers.DefiningProjectName})"] = ItemSpecModifiers.DefiningProjectName, 2477[$"%({ItemSpecModifiers.DefiningProjectExtension})"] = ItemSpecModifiers.DefiningProjectExtension, 2561string definingProjectEscaped = item.Value.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 2563result = ItemSpecModifiers.GetItemSpecModifier(item.Key, functionName, directoryToUse, definingProjectEscaped); 3321if (ItemSpecModifiers.IsDerivableItemSpecModifier(match.Name)) 3329string definingProjectEscaped = sourceOfMetadata.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 3331value = ItemSpecModifiers.GetItemSpecModifier(itemSpec, match.Name, directoryToUse, definingProjectEscaped);
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) 1823ItemSpecModifiers.IsItemSpecModifier(name) || 2018if (!ItemSpecModifiers.IsDerivableItemSpecModifier(name)) 2031.Where(item => !ItemSpecModifiers.IsDerivableItemSpecModifier(item.Key)); 2087=> ItemSpecModifiers.TryGetModifierKind(name, out ItemSpecModifierKind modifierKind) 2184if (_itemSpecModifiersIndex < ItemSpecModifiers.All.Length) 2186Current = ItemSpecModifiers.All[_itemSpecModifiersIndex];
Instance\ProjectMetadataInstance.cs (1)
245if (ItemSpecModifiers.IsItemSpecModifier(name))
TaskParameter.cs (13)
565private ItemSpecModifiers.Cache _cachedModifiers; 575_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 596_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath)); 618string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 622_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 627string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 631_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 673foreach (string name in ItemSpecModifiers.All) 692return count + ItemSpecModifiers.All.Length; 738ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 752ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 859if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 863return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers);
Microsoft.Build.Engine.UnitTests (6)
Instance\TaskItem_Tests.cs (2)
63Assert.Equal(item.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), deserializedItem.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath));
TestComparers\TaskItemComparer.cs (4)
53if (!ItemSpecModifiers.IsItemSpecModifier(metadataName) || 54ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName)) 65if (!ItemSpecModifiers.IsItemSpecModifier(metadataName) || 66ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName))
Microsoft.Build.Framework.UnitTests (71)
FileUtilities_Tests.cs (71)
35ItemSpecModifiers.Cache cache = default; 36string modifier = ItemSpecModifiers.GetItemSpecModifier("foo", ItemSpecModifierKind.RecursiveDir, currentDirectory, String.Empty, ref cache); 40modifier = ItemSpecModifiers.GetItemSpecModifier("foo", ItemSpecModifierKind.ModifiedTime, currentDirectory, String.Empty, ref cache); 44modifier = ItemSpecModifiers.GetItemSpecModifier(@"foo\goo", ItemSpecModifierKind.RelativeDir, currentDirectory, String.Empty, ref cache); 48modifier = ItemSpecModifiers.GetItemSpecModifier(@"foo\goo", ItemSpecModifierKind.RelativeDir, currentDirectory, String.Empty, ref cache); 54modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.FullPath, currentDirectory, String.Empty, ref cache); 58modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.RootDir, currentDirectory, String.Empty, ref cache); 61modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.Filename, currentDirectory, String.Empty, ref cache); 64modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.Extension, currentDirectory, String.Empty, ref cache); 67modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.Directory, currentDirectory, String.Empty, ref cache); 70modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.Identity, currentDirectory, String.Empty, ref cache); 75modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.DefiningProjectDirectory, currentDirectory, projectPath, ref cache); 78modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.DefiningProjectExtension, currentDirectory, projectPath, ref cache); 81modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.DefiningProjectFullPath, currentDirectory, projectPath, ref cache); 84modifier = ItemSpecModifiers.GetItemSpecModifier(itemSpec, ItemSpecModifierKind.DefiningProjectName, currentDirectory, projectPath, ref cache); 178ItemSpecModifiers.GetItemSpecModifier(@"http://www.microsoft.com", ItemSpecModifiers.RootDir, currentDirectory, String.Empty); 342Assert.True(ItemSpecModifiers.IsItemSpecModifier("FullPath")); // "test 1" 343Assert.True(ItemSpecModifiers.IsItemSpecModifier("RootDir")); // "test 2" 344Assert.True(ItemSpecModifiers.IsItemSpecModifier("Filename")); // "test 3" 345Assert.True(ItemSpecModifiers.IsItemSpecModifier("Extension")); // "test 4" 346Assert.True(ItemSpecModifiers.IsItemSpecModifier("RelativeDir")); // "test 5" 347Assert.True(ItemSpecModifiers.IsItemSpecModifier("Directory")); // "test 6" 348Assert.True(ItemSpecModifiers.IsItemSpecModifier("RecursiveDir")); // "test 7" 349Assert.True(ItemSpecModifiers.IsItemSpecModifier("Identity")); // "test 8" 350Assert.True(ItemSpecModifiers.IsItemSpecModifier("ModifiedTime")); // "test 9" 351Assert.True(ItemSpecModifiers.IsItemSpecModifier("CreatedTime")); // "test 10" 352Assert.True(ItemSpecModifiers.IsItemSpecModifier("AccessedTime")); // "test 11" 355Assert.True(ItemSpecModifiers.IsItemSpecModifier("fullPath")); // "test 21" 356Assert.True(ItemSpecModifiers.IsItemSpecModifier("rootDir")); // "test 22" 357Assert.True(ItemSpecModifiers.IsItemSpecModifier("filename")); // "test 23" 358Assert.True(ItemSpecModifiers.IsItemSpecModifier("extension")); // "test 24" 359Assert.True(ItemSpecModifiers.IsItemSpecModifier("relativeDir")); // "test 25" 360Assert.True(ItemSpecModifiers.IsItemSpecModifier("directory")); // "test 26" 361Assert.True(ItemSpecModifiers.IsItemSpecModifier("recursiveDir")); // "test 27" 362Assert.True(ItemSpecModifiers.IsItemSpecModifier("identity")); // "test 28" 363Assert.True(ItemSpecModifiers.IsItemSpecModifier("modifiedTime")); // "test 29" 364Assert.True(ItemSpecModifiers.IsItemSpecModifier("createdTime")); // "test 30" 365Assert.True(ItemSpecModifiers.IsItemSpecModifier("accessedTime")); // "test 31" 369Assert.False(ItemSpecModifiers.IsItemSpecModifier("rootxxx")); // "test 41" 370Assert.False(ItemSpecModifiers.IsItemSpecModifier("Rootxxx")); // "test 42" 371Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxx")); // "test 43" 373Assert.False(ItemSpecModifiers.IsItemSpecModifier("filexxxx")); // "test 44" 374Assert.False(ItemSpecModifiers.IsItemSpecModifier("Filexxxx")); // "test 45" 375Assert.False(ItemSpecModifiers.IsItemSpecModifier("idenxxxx")); // "test 46" 376Assert.False(ItemSpecModifiers.IsItemSpecModifier("Idenxxxx")); // "test 47" 377Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxx")); // "test 48" 379Assert.False(ItemSpecModifiers.IsItemSpecModifier("extenxxxx")); // "test 49" 380Assert.False(ItemSpecModifiers.IsItemSpecModifier("Extenxxxx")); // "test 50" 381Assert.False(ItemSpecModifiers.IsItemSpecModifier("direcxxxx")); // "test 51" 382Assert.False(ItemSpecModifiers.IsItemSpecModifier("Direcxxxx")); // "test 52" 383Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxxx")); // "test 53" 385Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxxxx")); // "test 54" 387Assert.False(ItemSpecModifiers.IsItemSpecModifier("relativexxx")); // "test 55" 388Assert.False(ItemSpecModifiers.IsItemSpecModifier("Relativexxx")); // "test 56" 389Assert.False(ItemSpecModifiers.IsItemSpecModifier("createdxxxx")); // "test 57" 390Assert.False(ItemSpecModifiers.IsItemSpecModifier("Createdxxxx")); // "test 58" 391Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxxxxx")); // "test 59" 393Assert.False(ItemSpecModifiers.IsItemSpecModifier("recursivexxx")); // "test 60" 394Assert.False(ItemSpecModifiers.IsItemSpecModifier("Recursivexxx")); // "test 61" 395Assert.False(ItemSpecModifiers.IsItemSpecModifier("accessedxxxx")); // "test 62" 396Assert.False(ItemSpecModifiers.IsItemSpecModifier("Accessedxxxx")); // "test 63" 397Assert.False(ItemSpecModifiers.IsItemSpecModifier("modifiedxxxx")); // "test 64" 398Assert.False(ItemSpecModifiers.IsItemSpecModifier("Modifiedxxxx")); // "test 65" 399Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxxxxxx")); // "test 66" 401Assert.False(ItemSpecModifiers.IsItemSpecModifier(null)); // "test 67" 407Assert.True(ItemSpecModifiers.IsDerivableItemSpecModifier("Filename")); 408Assert.False(ItemSpecModifiers.IsDerivableItemSpecModifier("RecursiveDir")); 409Assert.False(ItemSpecModifiers.IsDerivableItemSpecModifier("recursivedir")); 442ItemSpecModifiers.Cache cache = new() { FullPath = fullPath }; 444Assert.Equal(@"c:\", ItemSpecModifiers.GetItemSpecModifier(fullPath, ItemSpecModifierKind.RootDir, currentDirectory, String.Empty, ref cache));
Microsoft.Build.Tasks.Core (20)
AssemblyDependency\ReferenceTable.cs (1)
873name = 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)
657outputItemFromTarget.SetMetadata(ItemMetadataNames.msbuildSourceProjectFile, projects[i].GetMetadata(ItemSpecModifiers.FullPath));
TaskParameter.cs (13)
565private ItemSpecModifiers.Cache _cachedModifiers; 575_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 596_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath)); 618string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 622_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 627string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 631_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 673foreach (string name in ItemSpecModifiers.All) 692return count + ItemSpecModifiers.All.Length; 738ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 752ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 859if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 863return 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.EscapeWithCaching(sourceItem.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath)); 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);
Microsoft.Build.Utilities.UnitTests (31)
TaskItem_Tests.cs (31)
44to.GetMetadata(ItemSpecModifiers.Filename).ShouldBe("Monkey"); 45to.GetMetadata(ItemSpecModifiers.Extension).ShouldBe(".txt"); 46to.GetMetadata(ItemSpecModifiers.RelativeDir).ShouldBe(string.Empty); 91taskItem.MetadataNames.Cast<string>().ShouldBeSetEquivalentTo(ItemSpecModifiers.All); 92taskItem.MetadataCount.ShouldBe(ItemSpecModifiers.All.Length); 97taskItem.MetadataNames.Cast<string>().ShouldBeSetEquivalentTo(ItemSpecModifiers.All.Concat(new[] { "m" })); 98taskItem.MetadataCount.ShouldBe(ItemSpecModifiers.All.Length + 1); 116h[ItemSpecModifiers.Filename] = "foo"; 117h[ItemSpecModifiers.Extension] = "bar"; 123t.GetMetadata(ItemSpecModifiers.Filename).ShouldBe("bamboo"); 124t.GetMetadata(ItemSpecModifiers.Extension).ShouldBe(".baz"); 137t.SetMetadata(ItemSpecModifiers.FullPath, "bazbaz"); 157t.RemoveMetadata(ItemSpecModifiers.RootDir); 172t.MetadataCount.ShouldBe(ItemSpecModifiers.All.Length); 176t.MetadataCount.ShouldBe(ItemSpecModifiers.All.Length + 1); 184from.GetMetadata(ItemSpecModifiers.FullPath).ShouldBe( 195from.GetMetadata(ItemSpecModifiers.RootDir).ShouldBe(Path.GetPathRoot(from.GetMetadata(ItemSpecModifiers.FullPath))); 203from.GetMetadata(ItemSpecModifiers.Filename).ShouldBe("Monkey"); 211from.GetMetadata(ItemSpecModifiers.Extension).ShouldBe(".txt"); 219from.GetMetadata(ItemSpecModifiers.RelativeDir).Length.ShouldBe(0); 227from.GetMetadata(ItemSpecModifiers.Directory).ShouldBe(NativeMethodsShared.IsWindows ? @"subdir\" : "subdir/"); 235from.GetMetadata(ItemSpecModifiers.Directory).ShouldBe(@"subdir\"); 244from.GetMetadata(ItemSpecModifiers.RecursiveDir).Length.ShouldBe(0); 252from.GetMetadata(ItemSpecModifiers.Identity).ShouldBe("Monkey.txt"); 261from.GetMetadata(ItemSpecModifiers.ModifiedTime).Length.ShouldBeGreaterThan(0); 263from.GetMetadata(ItemSpecModifiers.CreatedTime).Length.ShouldBeGreaterThan(0); 265from.GetMetadata(ItemSpecModifiers.AccessedTime).Length.ShouldBeGreaterThan(0); 269from.GetMetadata(ItemSpecModifiers.ModifiedTime).Length.ShouldBe(0); 271from.GetMetadata(ItemSpecModifiers.CreatedTime).Length.ShouldBe(0); 273from.GetMetadata(ItemSpecModifiers.AccessedTime).Length.ShouldBe(0);
MSBuild (14)
JsonOutputFormatter.cs (1)
104foreach (string metadatumName in ItemSpecModifiers.All)
TaskParameter.cs (13)
565private ItemSpecModifiers.Cache _cachedModifiers; 575_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 596_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath)); 618string recursiveDirEscaped = copyFromForRecursiveDir.GetMetadataValueEscaped(ItemSpecModifiers.RecursiveDir); 622_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = recursiveDirEscaped; 627string recursiveDir = copyFrom.GetMetadata(ItemSpecModifiers.RecursiveDir); 631_customEscapedMetadata[ItemSpecModifiers.RecursiveDir] = EscapingUtilities.Escape(recursiveDir); 673foreach (string name in ItemSpecModifiers.All) 692return count + ItemSpecModifiers.All.Length; 738ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 752ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 859if (ItemSpecModifiers.TryGetDerivableModifierKind(metadataName, out ItemSpecModifierKind modifierKind)) 863return ItemSpecModifiers.GetItemSpecModifier(_escapedItemSpec, modifierKind, null, _escapedDefiningProject, ref _cachedModifiers);
MSBuild.Benchmarks (53)
DefiningProjectModifiersBenchmark.cs (16)
122last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectFullPath); 123last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectDirectory); 124last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectName); 125last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectExtension); 145last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectDirectory); 165last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectName); 166last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectExtension); 186last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectFullPath); 208last = item.GetMetadataValue(ItemSpecModifiers.DefiningProjectDirectory); 227last = item.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath); 228last = item.GetMetadata(ItemSpecModifiers.DefiningProjectDirectory); 229last = item.GetMetadata(ItemSpecModifiers.DefiningProjectName); 230last = item.GetMetadata(ItemSpecModifiers.DefiningProjectExtension); 247last = _taskItemsWithDefiningProject[i].GetMetadata(ItemSpecModifiers.DefiningProjectName); 248last = _taskItemsWithDefiningProject[i].GetMetadata(ItemSpecModifiers.DefiningProjectExtension); 266last = item.GetMetadata(ItemSpecModifiers.DefiningProjectDirectory);
ItemSpecModifiersBenchmark.cs (13)
31_recursiveDirModifier = ItemSpecModifiers.RecursiveDir; 52foreach (string modifier in ItemSpecModifiers.All) 54if (ItemSpecModifiers.IsItemSpecModifier(modifier)) 61if (ItemSpecModifiers.IsItemSpecModifier("SomeCustomMetadata")) 76=> ItemSpecModifiers.IsDerivableItemSpecModifier(_recursiveDirModifier); 85=> ItemSpecModifiers.GetItemSpecModifier(_itemSpec, ItemSpecModifiers.FullPath, _currentDirectory, _definingProjectEscaped); 94=> ItemSpecModifiers.GetItemSpecModifier(_itemSpec, ItemSpecModifiers.Directory, _currentDirectory, _definingProjectEscaped); 104=> ItemSpecModifiers.GetItemSpecModifier(_itemSpec, ItemSpecModifiers.ModifiedTime, _currentDirectory, _definingProjectEscaped); 114=> ItemSpecModifiers.GetItemSpecModifier(_itemSpec, ItemSpecModifiers.DefiningProjectDirectory, _currentDirectory, _definingProjectEscaped);
ItemSpecModifiersCachingBenchmark.cs (24)
81last = item.GetMetadata(ItemSpecModifiers.FullPath); 82last = item.GetMetadata(ItemSpecModifiers.RootDir); 83last = item.GetMetadata(ItemSpecModifiers.Filename); 84last = item.GetMetadata(ItemSpecModifiers.Extension); 85last = item.GetMetadata(ItemSpecModifiers.RelativeDir); 86last = item.GetMetadata(ItemSpecModifiers.Directory); 87last = item.GetMetadata(ItemSpecModifiers.Identity); 106last = item.GetMetadata(ItemSpecModifiers.Filename); 107last = item.GetMetadata(ItemSpecModifiers.Extension); 127last = _taskItems[i].GetMetadata(ItemSpecModifiers.Filename); 147last = item.GetMetadata(ItemSpecModifiers.FullPath); 148last = item.GetMetadata(ItemSpecModifiers.RootDir); 149last = item.GetMetadata(ItemSpecModifiers.Directory); 167last = item.GetMetadataValue(ItemSpecModifiers.FullPath); 168last = item.GetMetadataValue(ItemSpecModifiers.RootDir); 169last = item.GetMetadataValue(ItemSpecModifiers.Filename); 170last = item.GetMetadataValue(ItemSpecModifiers.Extension); 171last = item.GetMetadataValue(ItemSpecModifiers.RelativeDir); 172last = item.GetMetadataValue(ItemSpecModifiers.Directory); 173last = item.GetMetadataValue(ItemSpecModifiers.Identity); 191last = item.GetMetadataValue(ItemSpecModifiers.Filename); 192last = item.GetMetadataValue(ItemSpecModifiers.Extension); 213last = item.GetMetadataValue(ItemSpecModifiers.Filename); 214last = item.GetMetadataValue(ItemSpecModifiers.Extension);