226 references to ItemSpecModifiers
Microsoft.Build (71)
BackEnd\Components\RequestBuilder\IntrinsicTasks\MSBuild.cs (1)
714
outputItemFromTarget.SetMetadata(ItemMetadataNames.msbuildSourceProjectFile, projects[i].GetMetadata(
ItemSpecModifiers
.FullPath));
Construction\ProjectMetadataElement.cs (1)
107
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name);
Definition\BuiltInMetadata.cs (5)
26
{ return
ItemSpecModifiers
.All.Length; }
36
{ return
ItemSpecModifiers
.All; }
75
Debug.Assert(
ItemSpecModifiers
.IsItemSpecModifier(name));
78
if (String.Equals(name,
ItemSpecModifiers
.RecursiveDir, StringComparison.OrdinalIgnoreCase))
84
value =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, evaluatedIncludeEscaped, definingProjectEscaped, name, ref fullPath);
Definition\ProjectItem.cs (5)
306
{ return Metadata.Count +
ItemSpecModifiers
.All.Length; }
461
if (
ItemSpecModifiers
.IsItemSpecModifier(name))
586
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name);
644
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name);
860
if (
ItemSpecModifiers
.IsItemSpecModifier(name))
Definition\ProjectItemDefinition.cs (1)
154
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name);
Evaluation\Conditionals\Scanner.cs (1)
478
bool isItemSpecModifier =
ItemSpecModifiers
.IsItemSpecModifier(expression);
Evaluation\Expander.cs (38)
31
using ItemSpecModifiers = Microsoft.Build.Framework.
ItemSpecModifiers
;
1162
bool isBuiltInMetadata =
ItemSpecModifiers
.IsItemSpecModifier(metadataName);
1957
if (
ItemSpecModifiers
.IsDerivableItemSpecModifier(functionName))
2458
[$"%({
ItemSpecModifiers
.FullPath})"] =
ItemSpecModifiers
.FullPath,
2459
[$"%({
ItemSpecModifiers
.RootDir})"] =
ItemSpecModifiers
.RootDir,
2460
[$"%({
ItemSpecModifiers
.Filename})"] =
ItemSpecModifiers
.Filename,
2461
[$"%({
ItemSpecModifiers
.Extension})"] =
ItemSpecModifiers
.Extension,
2462
[$"%({
ItemSpecModifiers
.RelativeDir})"] =
ItemSpecModifiers
.RelativeDir,
2463
[$"%({
ItemSpecModifiers
.Directory})"] =
ItemSpecModifiers
.Directory,
2464
[$"%({
ItemSpecModifiers
.RecursiveDir})"] =
ItemSpecModifiers
.RecursiveDir,
2465
[$"%({
ItemSpecModifiers
.Identity})"] =
ItemSpecModifiers
.Identity,
2466
[$"%({
ItemSpecModifiers
.ModifiedTime})"] =
ItemSpecModifiers
.ModifiedTime,
2467
[$"%({
ItemSpecModifiers
.CreatedTime})"] =
ItemSpecModifiers
.CreatedTime,
2468
[$"%({
ItemSpecModifiers
.AccessedTime})"] =
ItemSpecModifiers
.AccessedTime,
2469
[$"%({
ItemSpecModifiers
.DefiningProjectFullPath})"] =
ItemSpecModifiers
.DefiningProjectFullPath,
2470
[$"%({
ItemSpecModifiers
.DefiningProjectDirectory})"] =
ItemSpecModifiers
.DefiningProjectDirectory,
2471
[$"%({
ItemSpecModifiers
.DefiningProjectName})"] =
ItemSpecModifiers
.DefiningProjectName,
2472
[$"%({
ItemSpecModifiers
.DefiningProjectExtension})"] =
ItemSpecModifiers
.DefiningProjectExtension,
2556
string definingProjectEscaped = item.Value.GetMetadataValueEscaped(
ItemSpecModifiers
.DefiningProjectFullPath);
2558
result =
ItemSpecModifiers
.GetItemSpecModifier(directoryToUse, item.Key, definingProjectEscaped, functionName);
3316
if (
ItemSpecModifiers
.IsDerivableItemSpecModifier(match.Name))
3324
string definingProjectEscaped = sourceOfMetadata.GetMetadataValueEscaped(
ItemSpecModifiers
.DefiningProjectFullPath);
3326
value =
ItemSpecModifiers
.GetItemSpecModifier(directoryToUse, itemSpec, definingProjectEscaped, match.Name);
Evaluation\ProjectParser.cs (2)
379
if (
ItemSpecModifiers
.IsItemSpecModifier(name) || XMakeElements.ReservedItemNames.Contains(name))
400
ProjectErrorUtilities.VerifyThrowInvalidProject(!
ItemSpecModifiers
.IsItemSpecModifier(element.Name), element.Location, "ItemSpecModifierCannotBeCustomMetadata", element.Name);
Instance\ProjectItemInstance.cs (8)
977
List<string> names = new List<string>(capacity: metadataCollection.Count +
ItemSpecModifiers
.All.Length);
984
names.AddRange(
ItemSpecModifiers
.All);
1820
ItemSpecModifiers
.IsItemSpecModifier(name) ||
2015
if (!
ItemSpecModifiers
.IsDerivableItemSpecModifier(name))
2028
.Where(item => !
ItemSpecModifiers
.IsDerivableItemSpecModifier(item.Key));
2087
if (
ItemSpecModifiers
.IsItemSpecModifier(name))
2188
if (_itemSpecModifiersIndex <
ItemSpecModifiers
.All.Length)
2190
Current =
ItemSpecModifiers
.All[_itemSpecModifiersIndex];
Instance\ProjectMetadataInstance.cs (1)
244
foreach (string itemSpecModifier in
ItemSpecModifiers
.All)
TaskParameter.cs (8)
575
_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(
ItemSpecModifiers
.DefiningProjectFullPath);
596
_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(
ItemSpecModifiers
.DefiningProjectFullPath));
647
metadataNames.AddRange(
ItemSpecModifiers
.All);
663
return count +
ItemSpecModifiers
.All.Length;
709
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName);
723
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName);
832
if (
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName))
836
metadataValue =
ItemSpecModifiers
.GetItemSpecModifier(null, _escapedItemSpec, _escapedDefiningProject, metadataName, ref _fullPath);
Microsoft.Build.Engine.UnitTests (6)
Instance\TaskItem_Tests.cs (2)
63
Assert.Equal(item.GetMetadata(
ItemSpecModifiers
.DefiningProjectFullPath), deserializedItem.GetMetadata(
ItemSpecModifiers
.DefiningProjectFullPath));
TestComparers\TaskItemComparer.cs (4)
53
if (!
ItemSpecModifiers
.IsItemSpecModifier(metadataName) ||
54
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName))
65
if (!
ItemSpecModifiers
.IsItemSpecModifier(metadataName) ||
66
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName))
Microsoft.Build.Framework.UnitTests (84)
FileUtilities_Tests.cs (84)
36
string modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, "foo", String.Empty,
ItemSpecModifiers
.RecursiveDir, ref cache);
40
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, "foo", String.Empty,
ItemSpecModifiers
.ModifiedTime, ref cache);
44
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, @"foo\goo", String.Empty,
ItemSpecModifiers
.RelativeDir, ref cache);
48
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, @"foo\goo", String.Empty,
ItemSpecModifiers
.RelativeDir, ref cache);
54
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty,
ItemSpecModifiers
.FullPath, ref cache);
58
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty,
ItemSpecModifiers
.RootDir, ref cache);
61
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty,
ItemSpecModifiers
.Filename, ref cache);
64
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty,
ItemSpecModifiers
.Extension, ref cache);
67
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty,
ItemSpecModifiers
.Directory, ref cache);
70
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty,
ItemSpecModifiers
.Identity, ref cache);
75
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, projectPath,
ItemSpecModifiers
.DefiningProjectDirectory, ref cache);
78
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, projectPath,
ItemSpecModifiers
.DefiningProjectExtension, ref cache);
81
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, projectPath,
ItemSpecModifiers
.DefiningProjectFullPath, ref cache);
84
modifier =
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, itemSpec, projectPath,
ItemSpecModifiers
.DefiningProjectName, ref cache);
179
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, @"http://www.microsoft.com", String.Empty,
ItemSpecModifiers
.RootDir, ref cache);
343
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("FullPath")); // "test 1"
344
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("RootDir")); // "test 2"
345
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("Filename")); // "test 3"
346
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("Extension")); // "test 4"
347
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("RelativeDir")); // "test 5"
348
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("Directory")); // "test 6"
349
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("RecursiveDir")); // "test 7"
350
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("Identity")); // "test 8"
351
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("ModifiedTime")); // "test 9"
352
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("CreatedTime")); // "test 10"
353
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("AccessedTime")); // "test 11"
356
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("fullPath")); // "test 21"
357
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("rootDir")); // "test 22"
358
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("filename")); // "test 23"
359
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("extension")); // "test 24"
360
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("relativeDir")); // "test 25"
361
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("directory")); // "test 26"
362
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("recursiveDir")); // "test 27"
363
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("identity")); // "test 28"
364
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("modifiedTime")); // "test 29"
365
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("createdTime")); // "test 30"
366
Assert.True(
ItemSpecModifiers
.IsItemSpecModifier("accessedTime")); // "test 31"
370
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("rootxxx")); // "test 41"
371
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Rootxxx")); // "test 42"
372
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("xxxxxxx")); // "test 43"
374
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("filexxxx")); // "test 44"
375
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Filexxxx")); // "test 45"
376
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("idenxxxx")); // "test 46"
377
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Idenxxxx")); // "test 47"
378
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("xxxxxxxx")); // "test 48"
380
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("extenxxxx")); // "test 49"
381
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Extenxxxx")); // "test 50"
382
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("direcxxxx")); // "test 51"
383
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Direcxxxx")); // "test 52"
384
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("xxxxxxxxx")); // "test 53"
386
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("xxxxxxxxxx")); // "test 54"
388
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("relativexxx")); // "test 55"
389
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Relativexxx")); // "test 56"
390
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("createdxxxx")); // "test 57"
391
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Createdxxxx")); // "test 58"
392
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("xxxxxxxxxxx")); // "test 59"
394
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("recursivexxx")); // "test 60"
395
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Recursivexxx")); // "test 61"
396
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("accessedxxxx")); // "test 62"
397
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Accessedxxxx")); // "test 63"
398
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("modifiedxxxx")); // "test 64"
399
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("Modifiedxxxx")); // "test 65"
400
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier("xxxxxxxxxxxx")); // "test 66"
402
Assert.False(
ItemSpecModifiers
.IsItemSpecModifier(null)); // "test 67"
408
Assert.True(
ItemSpecModifiers
.IsDerivableItemSpecModifier("Filename"));
409
Assert.False(
ItemSpecModifiers
.IsDerivableItemSpecModifier("RecursiveDir"));
410
Assert.False(
ItemSpecModifiers
.IsDerivableItemSpecModifier("recursivedir"));
445
Assert.Equal(@"c:\",
ItemSpecModifiers
.GetItemSpecModifier(currentDirectory, fullPath, String.Empty,
ItemSpecModifiers
.RootDir, ref cache));
Microsoft.Build.Tasks.Core (15)
AssemblyDependency\ReferenceTable.cs (1)
873
name = item.GetMetadata(
ItemSpecModifiers
.Filename);
AssignLinkMetadata.cs (3)
47
string definingProject = item.GetMetadata(
ItemSpecModifiers
.DefiningProjectFullPath);
48
string definingProjectDirectory = item.GetMetadata(
ItemSpecModifiers
.DefiningProjectDirectory);
49
string fullPath = item.GetMetadata(
ItemSpecModifiers
.FullPath);
CreateItem.cs (2)
120
if (
ItemSpecModifiers
.IsItemSpecModifier(nameAndValue.Key))
197
newItem.SetMetadata(
ItemSpecModifiers
.RecursiveDir, match.wildcardDirectoryPart);
MSBuild.cs (1)
657
outputItemFromTarget.SetMetadata(ItemMetadataNames.msbuildSourceProjectFile, projects[i].GetMetadata(
ItemSpecModifiers
.FullPath));
TaskParameter.cs (8)
575
_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(
ItemSpecModifiers
.DefiningProjectFullPath);
596
_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(
ItemSpecModifiers
.DefiningProjectFullPath));
647
metadataNames.AddRange(
ItemSpecModifiers
.All);
663
return count +
ItemSpecModifiers
.All.Length;
709
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName);
723
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName);
832
if (
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName))
836
metadataValue =
ItemSpecModifiers
.GetItemSpecModifier(null, _escapedItemSpec, _escapedDefiningProject, metadataName, ref _fullPath);
Microsoft.Build.Utilities.Core (10)
TaskItem.cs (10)
133
if (!
ItemSpecModifiers
.IsDerivableItemSpecModifier(key))
156
_definingProject = EscapingUtilities.EscapeWithCaching(sourceItem.GetMetadata(
ItemSpecModifiers
.DefiningProjectFullPath));
161
_definingProject = sourceItemAsITaskItem2.GetMetadataValueEscaped(
ItemSpecModifiers
.DefiningProjectFullPath);
220
int count = (_metadata?.Count ?? 0) +
ItemSpecModifiers
.All.Length;
229
metadataNames.AddRange(
ItemSpecModifiers
.All);
239
public int MetadataCount => (_metadata?.Count ?? 0) +
ItemSpecModifiers
.All.Length;
274
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsItemSpecModifier(metadataName),
310
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName),
507
if (
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName))
511
metadataValue =
ItemSpecModifiers
.GetItemSpecModifier(null, _itemSpec, _definingProject, metadataName, ref _fullPath);
Microsoft.Build.Utilities.UnitTests (31)
TaskItem_Tests.cs (31)
44
to.GetMetadata(
ItemSpecModifiers
.Filename).ShouldBe("Monkey");
45
to.GetMetadata(
ItemSpecModifiers
.Extension).ShouldBe(".txt");
46
to.GetMetadata(
ItemSpecModifiers
.RelativeDir).ShouldBe(string.Empty);
91
taskItem.MetadataNames.Cast<string>().ShouldBeSetEquivalentTo(
ItemSpecModifiers
.All);
92
taskItem.MetadataCount.ShouldBe(
ItemSpecModifiers
.All.Length);
97
taskItem.MetadataNames.Cast<string>().ShouldBeSetEquivalentTo(
ItemSpecModifiers
.All.Concat(new[] { "m" }));
98
taskItem.MetadataCount.ShouldBe(
ItemSpecModifiers
.All.Length + 1);
116
h[
ItemSpecModifiers
.Filename] = "foo";
117
h[
ItemSpecModifiers
.Extension] = "bar";
123
t.GetMetadata(
ItemSpecModifiers
.Filename).ShouldBe("bamboo");
124
t.GetMetadata(
ItemSpecModifiers
.Extension).ShouldBe(".baz");
137
t.SetMetadata(
ItemSpecModifiers
.FullPath, "bazbaz");
157
t.RemoveMetadata(
ItemSpecModifiers
.RootDir);
172
t.MetadataCount.ShouldBe(
ItemSpecModifiers
.All.Length);
176
t.MetadataCount.ShouldBe(
ItemSpecModifiers
.All.Length + 1);
184
from.GetMetadata(
ItemSpecModifiers
.FullPath).ShouldBe(
195
from.GetMetadata(
ItemSpecModifiers
.RootDir).ShouldBe(Path.GetPathRoot(from.GetMetadata(
ItemSpecModifiers
.FullPath)));
203
from.GetMetadata(
ItemSpecModifiers
.Filename).ShouldBe("Monkey");
211
from.GetMetadata(
ItemSpecModifiers
.Extension).ShouldBe(".txt");
219
from.GetMetadata(
ItemSpecModifiers
.RelativeDir).Length.ShouldBe(0);
227
from.GetMetadata(
ItemSpecModifiers
.Directory).ShouldBe(NativeMethodsShared.IsWindows ? @"subdir\" : "subdir/");
235
from.GetMetadata(
ItemSpecModifiers
.Directory).ShouldBe(@"subdir\");
244
from.GetMetadata(
ItemSpecModifiers
.RecursiveDir).Length.ShouldBe(0);
252
from.GetMetadata(
ItemSpecModifiers
.Identity).ShouldBe("Monkey.txt");
261
from.GetMetadata(
ItemSpecModifiers
.ModifiedTime).Length.ShouldBeGreaterThan(0);
263
from.GetMetadata(
ItemSpecModifiers
.CreatedTime).Length.ShouldBeGreaterThan(0);
265
from.GetMetadata(
ItemSpecModifiers
.AccessedTime).Length.ShouldBeGreaterThan(0);
269
from.GetMetadata(
ItemSpecModifiers
.ModifiedTime).Length.ShouldBe(0);
271
from.GetMetadata(
ItemSpecModifiers
.CreatedTime).Length.ShouldBe(0);
273
from.GetMetadata(
ItemSpecModifiers
.AccessedTime).Length.ShouldBe(0);
MSBuild (9)
JsonOutputFormatter.cs (1)
104
foreach (string metadatumName in
ItemSpecModifiers
.All)
TaskParameter.cs (8)
575
_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(
ItemSpecModifiers
.DefiningProjectFullPath);
596
_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(
ItemSpecModifiers
.DefiningProjectFullPath));
647
metadataNames.AddRange(
ItemSpecModifiers
.All);
663
return count +
ItemSpecModifiers
.All.Length;
709
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName);
723
ErrorUtilities.VerifyThrowArgument(!
ItemSpecModifiers
.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName);
832
if (
ItemSpecModifiers
.IsDerivableItemSpecModifier(metadataName))
836
metadataValue =
ItemSpecModifiers
.GetItemSpecModifier(null, _escapedItemSpec, _escapedDefiningProject, metadataName, ref _fullPath);