18 instantiations of ProjectItemInstance
Microsoft.Build (18)
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupIntrinsicTask.cs (1)
468
items.Add(new
ProjectItemInstance
(
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (4)
1497
newItem = new
ProjectItemInstance
(_projectInstance, outputTargetName, outputAsProjectItem.IncludeEscaped, parameterLocationEscaped);
1506
newItem = new
ProjectItemInstance
(_projectInstance, outputTargetName, outputAsITaskItem2.EvaluatedIncludeEscaped, parameterLocationEscaped);
1526
newItem = new
ProjectItemInstance
(_projectInstance, outputTargetName, EscapingUtilities.Escape(output.ItemSpec), parameterLocationEscaped);
1651
_batchBucket.Lookup.AddNewItem(new
ProjectItemInstance
(_projectInstance, outputTargetName, EscapingUtilities.Escape(output), EscapingUtilities.Escape(parameterLocation.File)));
Graph\GraphBuilder.cs (2)
168
new
ProjectItemInstance
(
244
var stubItem = new
ProjectItemInstance
(
Graph\ProjectInterpretation.cs (1)
289
yield return new
ProjectItemInstance
(
Instance\ProjectInstance.cs (4)
2046
ProjectItemInstance item = new
ProjectItemInstance
(this, itemType, evaluatedInclude, this.FullPath);
2069
ProjectItemInstance item = new
ProjectItemInstance
(this, itemType, evaluatedInclude, metadata, this.FullPath);
3460
var instance = new
ProjectItemInstance
(
3520
ProjectItemInstance instance = new
ProjectItemInstance
(
Instance\ProjectItemInstance.cs (6)
640
ProjectItemInstance newItem = new
ProjectItemInstance
(projectInstance);
689
return new
ProjectItemInstance
(this);
698
return new
ProjectItemInstance
(this, newProject);
2261
ProjectItemInstance item = new
ProjectItemInstance
(_project, ItemType, include, definingProject);
2294
return new
ProjectItemInstance
(_project, ItemType, evaluatedInclude, evaluatedIncludeBeforeWildcardExpansion, definingProject);
2347
return new
ProjectItemInstance
(_project, ItemType, includeEscaped, includeBeforeWildcardExpansionEscaped, source._taskItem.DirectMetadata, itemDefinitionsClone, definingProject, useItemDefinitionsWithoutModification: false);
404 references to ProjectItemInstance
dotnet (5)
Commands\Project\Convert\ProjectConvertCommand.cs (2)
355
foreach (
var
item in items)
435
foreach (
var
item in outputProject.GetItems(itemType))
Commands\Reference\List\ReferenceListCommand.cs (1)
39
foreach (
var
item in projectInstance.GetItems("ProjectReference"))
Commands\Run\VirtualProjectBuildingCommand.cs (2)
568
foreach (
var
item in projectInstance.GetItems(entry.ItemType))
629
foreach (
var
item in projectInstance.GetItems(itemName))
Microsoft.Build (378)
BackEnd\Components\Communications\LogMessagePacket.cs (1)
12
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
BackEnd\Components\Logging\ILoggingService.cs (1)
13
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
BackEnd\Components\Logging\LoggingServiceLogMethods.cs (1)
16
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
BackEnd\Components\Logging\ProjectLoggingContext.cs (4)
11
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
127
IItemDictionary<
ProjectItemInstance
> projectItems,
163
IItemDictionary<
ProjectItemInstance
> projectItems,
194
IItemDictionary<
ProjectItemInstance
> projectItems,
BackEnd\Components\Logging\TargetLoggingContext.cs (1)
8
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
BackEnd\Components\ProjectCache\CacheResult.cs (2)
128
private static
ProjectItemInstance
.TaskItem CreateTaskItem(ITaskItem2 taskItemInterface)
130
var taskItem = new
ProjectItemInstance
.TaskItem(taskItemInterface.EvaluatedIncludeEscaped, definingFileEscaped: null);
BackEnd\Components\ProjectCache\Experimental\CacheResult.cs (2)
130
private static
ProjectItemInstance
.TaskItem CreateTaskItem(ITaskItem2 taskItemInterface)
132
var taskItem = new
ProjectItemInstance
.TaskItem(taskItemInterface.EvaluatedIncludeEscaped, definingFileEscaped: null);
BackEnd\Components\ProjectCache\ProjectCacheService.cs (2)
180
ICollection<
ProjectItemInstance
> items = projectInstance.GetItems(ItemTypeNames.ProjectCachePlugin);
181
foreach (
ProjectItemInstance
item in items)
BackEnd\Components\RequestBuilder\BatchingEngine.cs (10)
144
Dictionary<string, ICollection<
ProjectItemInstance
>> itemListsToBeBatched = GetItemListsToBeBatched(consumedMetadataReferences, consumedItemReferences, lookup, elementLocation);
203
private static Dictionary<string, ICollection<
ProjectItemInstance
>> GetItemListsToBeBatched(
212
var itemListsToBeBatched = new Dictionary<string, ICollection<
ProjectItemInstance
>>(MSBuildNameIgnoreCaseComparer.Default);
254
ICollection<
ProjectItemInstance
> items = lookup.GetItems(consumedItemName);
259
foreach (
ProjectItemInstance
item in items)
299
Dictionary<string, ICollection<
ProjectItemInstance
>> itemListsToBeBatched,
311
foreach (KeyValuePair<string, ICollection<
ProjectItemInstance
>> entry in itemListsToBeBatched)
316
ICollection<
ProjectItemInstance
> items = entry.Value ?? lookup.GetItems(itemName);
322
foreach (
ProjectItemInstance
item in items)
395
ProjectItemInstance
item,
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupIntrinsicTask.cs (27)
18
using ProjectItemInstanceFactory = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem.ProjectItemInstanceFactory;
170
List<
ProjectItemInstance
> itemsToAdd = ExpandItemIntoItems(child, bucket.Expander, keepMetadata, removeMetadata, loggingContext);
205
ProjectItemInstance
.SetMetadata(metadataTable.AddedMetadata, itemsToAdd); // Add in one operation for potential copy-on-write
254
ICollection<
ProjectItemInstance
> group = bucket.Lookup.GetItems(child.ItemType);
261
List<
ProjectItemInstance
> itemsToRemove;
301
ICollection<
ProjectItemInstance
> group = bucket.Lookup.GetItems(child.ItemType);
391
private List<
ProjectItemInstance
> ExpandItemIntoItems(
393
Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander,
400
List<
ProjectItemInstance
> items = new List<
ProjectItemInstance
>();
438
IList<
ProjectItemInstance
> itemsFromSplit = expander.ExpandSingleItemVectorExpressionIntoItems(
495
foreach (
ProjectItemInstance
item in items)
522
foreach (
ProjectItemInstance
item in items)
586
private List<
ProjectItemInstance
> FindItemsMatchingSpecification(
587
ICollection<
ProjectItemInstance
> items,
590
Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander)
636
List<
ProjectItemInstance
> itemsRemoved = new List<
ProjectItemInstance
>();
638
foreach (
ProjectItemInstance
item in items)
654
private List<
ProjectItemInstance
> FindItemsMatchingMetadataSpecification(
655
ICollection<
ProjectItemInstance
> group,
657
Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander,
661
ItemSpec<ProjectPropertyInstance,
ProjectItemInstance
> itemSpec = new ItemSpec<ProjectPropertyInstance,
ProjectItemInstance
>(child.Remove, expander, child.RemoveLocation, Project.Directory, true);
663
itemSpec.Fragments.All(f => f is ItemSpec<ProjectPropertyInstance,
ProjectItemInstance
>.ItemExpressionFragment),
668
MetadataTrie<ProjectPropertyInstance,
ProjectItemInstance
> metadataSet = new MetadataTrie<ProjectPropertyInstance,
ProjectItemInstance
>(matchingOptions, matchOnMetadata, itemSpec);
BackEnd\Components\RequestBuilder\ItemBucket.cs (4)
30
private Expander<ProjectPropertyInstance,
ProjectItemInstance
> _expander;
105
_expander = new Expander<ProjectPropertyInstance,
ProjectItemInstance
>(_lookup, _lookup, new StringMetadataTable(_metadata), FileSystems.Default, loggingContext);
150
internal Expander<ProjectPropertyInstance,
ProjectItemInstance
> Expander
193
internal void AddItem(
ProjectItemInstance
item)
BackEnd\Components\RequestBuilder\Lookup.cs (75)
20
using ItemsMetadataUpdateDictionary = System.Collections.Generic.Dictionary<Microsoft.Build.Execution.
ProjectItemInstance
, Microsoft.Build.BackEnd.Lookup.MetadataModifications>;
21
using ItemTypeToItemsMetadataUpdateDictionary = System.Collections.Generic.Dictionary<string, System.Collections.Generic.Dictionary<Microsoft.Build.Execution.
ProjectItemInstance
, Microsoft.Build.BackEnd.Lookup.MetadataModifications>>;
58
internal class Lookup : IPropertyProvider<ProjectPropertyInstance>, IItemProvider<
ProjectItemInstance
>
69
private readonly IItemDictionary<
ProjectItemInstance
> _baseItems;
93
private Dictionary<
ProjectItemInstance
,
ProjectItemInstance
> _cloneTable;
102
internal Lookup(IItemDictionary<
ProjectItemInstance
> projectItems, PropertyDictionary<ProjectPropertyInstance> properties)
337
foreach (KeyValuePair<string, Dictionary<
ProjectItemInstance
, MetadataModifications>> entry in PrimaryModifyTable)
339
Dictionary<
ProjectItemInstance
, MetadataModifications> modifiesOfType;
343
foreach (KeyValuePair<
ProjectItemInstance
, MetadataModifications> modify in entry.Value)
380
foreach (KeyValuePair<string, List<
ProjectItemInstance
>> kvp in PrimaryAddTable)
388
foreach (KeyValuePair<string, List<
ProjectItemInstance
>> kvp in PrimaryRemoveTable)
396
foreach (KeyValuePair<string, Dictionary<
ProjectItemInstance
, MetadataModifications>> entry in PrimaryModifyTable)
463
public ICollection<
ProjectItemInstance
> GetItems(string itemType)
469
List<List<
ProjectItemInstance
>> allAdds = null;
470
List<List<
ProjectItemInstance
>> allRemoves = null;
471
Dictionary<
ProjectItemInstance
, MetadataModifications> allModifies = null;
472
ICollection<
ProjectItemInstance
> groupFound = null;
483
List<
ProjectItemInstance
> adds = scope.Adds[itemType];
494
List<
ProjectItemInstance
> removes = scope.Removes[itemType];
505
Dictionary<
ProjectItemInstance
, MetadataModifications> modifies;
510
allModifies ??= new Dictionary<
ProjectItemInstance
, MetadataModifications>(modifies.Count);
513
foreach (KeyValuePair<
ProjectItemInstance
, MetadataModifications> modify in modifies)
549
groupFound ??= Array.Empty<
ProjectItemInstance
>();
561
foreach (List<
ProjectItemInstance
> adds in allAdds)
570
foreach (List<
ProjectItemInstance
> removes in allRemoves)
585
List<
ProjectItemInstance
> result = new(itemsCount);
597
HashSet<
ProjectItemInstance
> removeSet = null;
601
removeSet = new HashSet<
ProjectItemInstance
>(totalRemoves);
602
foreach (List<
ProjectItemInstance
> removes in allRemoves)
604
foreach (
ProjectItemInstance
remove in removes)
620
foreach (
ProjectItemInstance
item in groupFound)
635
foreach (List<
ProjectItemInstance
> adds in allAdds)
644
foreach (
ProjectItemInstance
item in adds)
670
internal void PopulateWithItems(string itemType, ICollection<
ProjectItemInstance
> group)
681
ICollection<
ProjectItemInstance
> existing = PrimaryTable[itemType];
692
internal void PopulateWithItem(
ProjectItemInstance
item)
733
internal void AddNewItemsOfItemType(string itemType, ICollection<
ProjectItemInstance
> group, bool doNotAddDuplicates = false, Action<IList> logFunction = null)
739
foreach (
ProjectItemInstance
item in group)
752
IEnumerable<
ProjectItemInstance
> itemsToAdd = group;
757
var existingItemsHashSet = existingItems.ToHashSet(
ProjectItemInstance
.EqualityComparer);
759
var deduplicatedItemsToAdd = new List<
ProjectItemInstance
>();
760
foreach (
var
item in itemsToAdd)
775
logFunction.Invoke(itemsToAdd as List<
ProjectItemInstance
>);
779
var groupAsList = group as List<
ProjectItemInstance
>;
790
internal void AddNewItem(
ProjectItemInstance
item)
809
internal void RemoveItems(string itemType, ICollection<
ProjectItemInstance
> items)
822
IEnumerable<
ProjectItemInstance
> itemsToRemove = items.Select(RetrieveOriginalFromCloneTable);
834
internal void ModifyItems(string itemType, ICollection<
ProjectItemInstance
> group, MetadataModifications metadataChanges)
846
foreach (
ProjectItemInstance
item in group)
848
ProjectItemInstance
actualItem = RetrieveOriginalFromCloneTable(item);
866
Dictionary<
ProjectItemInstance
, MetadataModifications> modifiesOfType;
869
modifiesOfType = new Dictionary<
ProjectItemInstance
, MetadataModifications>();
873
foreach (
ProjectItemInstance
item in group)
881
ProjectItemInstance
actualItem = RetrieveOriginalFromCloneTable(item);
882
var modify = new KeyValuePair<
ProjectItemInstance
, MetadataModifications>(actualItem, metadataChangeCopy);
895
private void ApplyModifies(List<
ProjectItemInstance
> result, Dictionary<
ProjectItemInstance
, MetadataModifications> allModifies)
902
_cloneTable ??= new Dictionary<
ProjectItemInstance
,
ProjectItemInstance
>();
907
ProjectItemInstance
originalItem = result[i];
911
ProjectItemInstance
cloneItem = originalItem.DeepClone();
927
private static void ApplyMetadataModificationsToItem(MetadataModifications modificationsToApply,
ProjectItemInstance
itemToModify)
966
private
ProjectItemInstance
RetrieveOriginalFromCloneTable(
ProjectItemInstance
item)
968
ProjectItemInstance
original;
984
private void ApplyModificationsToTable(IItemDictionary<
ProjectItemInstance
> table, string itemType, ItemsMetadataUpdateDictionary modify)
986
ICollection<
ProjectItemInstance
> existing = table[itemType];
989
foreach (
ProjectItemInstance
item in existing)
1004
private void MergeModificationsIntoModificationTable(Dictionary<
ProjectItemInstance
, MetadataModifications> modifiesOfType,
1005
KeyValuePair<
ProjectItemInstance
, MetadataModifications> modify,
1042
private void MustNotBeInTable(ItemDictionarySlim table,
ProjectItemInstance
item)
1046
List<
ProjectItemInstance
> tableOfItemsOfSameType = table[item.ItemType];
1057
private void MustNotBeInTable(ItemTypeToItemsMetadataUpdateDictionary table,
ProjectItemInstance
item)
1072
private void MustNotBeInAnyTables(
ProjectItemInstance
item)
BackEnd\Components\RequestBuilder\RequestBuilder.cs (1)
1167
_requestEntry.RequestConfiguration.Project is IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance> project)
BackEnd\Components\RequestBuilder\TargetBuilder.cs (1)
18
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
BackEnd\Components\RequestBuilder\TargetEntry.cs (5)
22
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
119
private Expander<ProjectPropertyInstance,
ProjectItemInstance
> _expander;
184
_expander = new Expander<ProjectPropertyInstance,
ProjectItemInstance
>(baseLookup, baseLookup, FileSystems.Default, loggingContext);
470
ItemDictionary<
ProjectItemInstance
> changedTargetInputs;
471
ItemDictionary<
ProjectItemInstance
> upToDateTargetInputs;
BackEnd\Components\RequestBuilder\TargetUpToDateChecker.cs (24)
17
using ProjectItemInstanceFactory = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem.ProjectItemInstanceFactory;
24
using ItemVectorPartition = System.Collections.Generic.Dictionary<string, System.Collections.Generic.IList<Microsoft.Build.Execution.
ProjectItemInstance
>>;
32
using ItemVectorPartitionCollection = System.Collections.Generic.Dictionary<string, System.Collections.Generic.Dictionary<string, System.Collections.Generic.IList<Microsoft.Build.Execution.
ProjectItemInstance
>>>;
135
out ItemDictionary<
ProjectItemInstance
> changedTargetInputs,
136
out ItemDictionary<
ProjectItemInstance
> upToDateTargetInputs)
593
out ItemDictionary<
ProjectItemInstance
> changedTargetInputs,
594
out ItemDictionary<
ProjectItemInstance
> upToDateTargetInputs)
598
changedTargetInputs = new ItemDictionary<
ProjectItemInstance
>();
599
upToDateTargetInputs = new ItemDictionary<
ProjectItemInstance
>();
614
foreach (IList<
ProjectItemInstance
> inputItems in inputItemVectors.Values)
621
List<
ProjectItemInstance
> upToDateInputItems = new List<
ProjectItemInstance
>(inputItems);
626
foreach (KeyValuePair<string, IList<
ProjectItemInstance
>> outputEntry in outputItemVectors)
628
IList<
ProjectItemInstance
> outputItems = outputEntry.Value;
686
foreach (
ProjectItemInstance
item in upToDateInputItems)
700
changedTargetInputs.ImportItemsOfType(inputItems[0].ItemType, Array.Empty<
ProjectItemInstance
>());
707
upToDateTargetInputs.ImportItemsOfType(inputItems[0].ItemType, Array.Empty<
ProjectItemInstance
>());
815
IList<
ProjectItemInstance
> itemVectorContents = bucket.Expander.ExpandSingleItemVectorExpressionIntoItems(item, itemFactory, ExpanderOptions.ExpandItems, true /* include null entries from transforms */, out bool isTransformExpression, elementLocation);
901
foreach (IList<
ProjectItemInstance
> items in itemVectorPartition.Values)
903
foreach (
ProjectItemInstance
item in items)
963
Assumed.True(inputs[0] is string or
ProjectItemInstance
, "Must be either string or ProjectItemInstance");
968
Assumed.True(outputs[0] is string or
ProjectItemInstance
, "Must be either string or ProjectItemInstance");
1083
Assumed.True(inputs[0] is string or
ProjectItemInstance
, "Must be either string or ProjectItemInstance");
1088
Assumed.True(outputs[0] is string or
ProjectItemInstance
, "Must be either string or ProjectItemInstance");
BackEnd\Components\RequestBuilder\TaskBuilder.cs (4)
27
using ProjectItemInstanceFactory = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem.ProjectItemInstanceFactory;
553
private TaskHostParameters GatherTaskIdentityParameters(Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander)
1071
foreach (
var
projectReferenceItem in projectReferenceItems)
1234
ICollection<
ProjectItemInstance
> items = bucket.Expander.ExpandIntoItemsLeaveEscaped(outputItemSpec, itemFactory, ExpanderOptions.ExpandItems, taskItemInstance.TaskParameterLocation);
BackEnd\Components\RequestBuilder\TaskHost.cs (1)
22
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
BackEnd\Shared\TargetResult.cs (1)
13
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (2)
25
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
1488
ProjectItemInstance
newItem;
Collections\ItemDictionarySlim.cs (17)
14
internal sealed class ItemDictionarySlim : IEnumerable<KeyValuePair<string, List<
ProjectItemInstance
>>>
16
private readonly Dictionary<string, List<
ProjectItemInstance
>> _itemLists;
19
_itemLists = new Dictionary<string, List<
ProjectItemInstance
>>(MSBuildNameIgnoreCaseComparer.Default);
24
public List<
ProjectItemInstance
>? this[string itemType] =>
25
_itemLists.TryGetValue(itemType, out List<
ProjectItemInstance
>? itemsOfType) ? itemsOfType : null;
35
public void Add(
ProjectItemInstance
projectItem)
37
if (!_itemLists.TryGetValue(projectItem.ItemType, out List<
ProjectItemInstance
>? list))
55
foreach (KeyValuePair<string, List<
ProjectItemInstance
>> kvp in other._itemLists)
58
List<
ProjectItemInstance
> itemsToAdd = kvp.Value;
60
if (_itemLists.TryGetValue(itemType, out List<
ProjectItemInstance
>? list))
76
public void ImportItemsOfType(string itemType, IEnumerable<
ProjectItemInstance
> items)
78
if (!_itemLists.TryGetValue(itemType, out List<
ProjectItemInstance
>? list))
95
if (!_itemLists.TryGetValue(itemType, out List<
ProjectItemInstance
>? list))
97
list = new List<
ProjectItemInstance
>(capacity);
107
public Dictionary<string, List<
ProjectItemInstance
>>.Enumerator GetEnumerator() => _itemLists.GetEnumerator();
109
IEnumerator<KeyValuePair<string, List<
ProjectItemInstance
>>> IEnumerable<KeyValuePair<string, List<
ProjectItemInstance
>>>.GetEnumerator() => GetEnumerator();
Construction\Solution\SolutionProjectGenerator.cs (1)
1117
ProjectItemInstance
item;
Definition\Toolset.cs (3)
134
private Expander<ProjectPropertyInstance,
ProjectItemInstance
> _expander;
862
_expander = new Expander<ProjectPropertyInstance,
ProjectItemInstance
>(propertyBag, FileSystems.Default, loggingContext);
943
TaskRegistry.InitializeTaskRegistryFromUsingTaskElements<ProjectPropertyInstance,
ProjectItemInstance
>(
Definition\ToolsetReader.cs (5)
443
Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander = new Expander<ProjectPropertyInstance,
ProjectItemInstance
>(initialProperties, FileSystems.Default);
512
private void EvaluateAndSetProperty(ToolsetPropertyDefinition property, PropertyDictionary<ProjectPropertyInstance> properties, PropertyDictionary<ProjectPropertyInstance> globalProperties, PropertyDictionary<ProjectPropertyInstance> initialProperties, bool accumulateProperties, ref string toolsPath, ref string binPath, ref Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander)
561
expander = new Expander<ProjectPropertyInstance,
ProjectItemInstance
>(initialProperties, FileSystems.Default);
569
private string ExpandPropertyUnescaped(ToolsetPropertyDefinition property, Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander)
Evaluation\Conditionals\FunctionCallExpressionNode.cs (1)
10
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
Evaluation\ConditionEvaluator.cs (1)
13
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
Evaluation\Expander.cs (2)
32
using TaskItem = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem;
33
using TaskItemFactory = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem.TaskItemFactory;
Graph\GraphBuilder.cs (11)
244
var
stubItem = new ProjectItemInstance(
692
private ConcurrentDictionary<(ProjectGraphNode, ProjectGraphNode),
ProjectItemInstance
> ReferenceItems =
693
new ConcurrentDictionary<(ProjectGraphNode, ProjectGraphNode),
ProjectItemInstance
>();
697
public
ProjectItemInstance
this[(ProjectGraphNode node, ProjectGraphNode reference) key]
701
Assumed.True(ReferenceItems.TryGetValue(key, out
ProjectItemInstance
referenceItem), "All requested keys should exist");
706
public void AddOrUpdateEdge((ProjectGraphNode node, ProjectGraphNode reference) key,
ProjectItemInstance
edge)
711
addValueFactory: static ((ProjectGraphNode node, ProjectGraphNode reference) key,
ProjectItemInstance
referenceItem) => referenceItem,
712
updateValueFactory: static ((ProjectGraphNode node, ProjectGraphNode reference) key,
ProjectItemInstance
existingItem,
ProjectItemInstance
newItem) =>
727
ProjectItemInstance
mergedItem = existingItem.DeepClone();
751
internal IReadOnlyDictionary<(ConfigurationMetadata, ConfigurationMetadata),
ProjectItemInstance
> TestOnly_AsConfigurationMetadata()
Graph\ProjectGraph.cs (2)
800
internal static string[] ExpandDefaultTargets(string[] targets, List<string> defaultTargets,
ProjectItemInstance
graphEdge)
856
private static string[] ExpandDefaultTargetsSlow(string[] targets, List<string> defaultTargets,
ProjectItemInstance
graphEdge)
Graph\ProjectGraphNode.cs (1)
56
internal void AddProjectReference(ProjectGraphNode reference,
ProjectItemInstance
projectReferenceItem, GraphBuilder.GraphEdges edges)
Graph\ProjectInterpretation.cs (10)
56
internal readonly record struct ReferenceInfo(ConfigurationMetadata ReferenceConfiguration,
ProjectItemInstance
ProjectReferenceItem);
77
IEnumerable<
ProjectItemInstance
> projectReferenceItems;
106
foreach (
ProjectItemInstance
projectReferenceItem in projectReferenceItems)
260
ProjectItemInstance
newInnerBuildEdge = graphBuilder.Edges[(outerBuildReferencingProject, outerBuild)];
279
private static IEnumerable<
ProjectItemInstance
> ConstructInnerBuildReferences(ProjectInstance outerBuild)
306
ProjectItemInstance
projectReference)
366
private delegate GlobalPropertyPartsForMSBuildTask GlobalPropertiesModifier(GlobalPropertyPartsForMSBuildTask defaultParts,
ProjectItemInstance
projectReference);
376
ProjectItemInstance
projectReference,
513
ICollection<
ProjectItemInstance
> projectReferenceTargets = project.GetItems(ItemTypeNames.ProjectReferenceTargets);
517
foreach (
ProjectItemInstance
projectReferenceTarget in projectReferenceTargets)
Instance\ProjectInstance.cs (112)
34
using ProjectItemInstanceFactory = Microsoft.Build.Execution.
ProjectItemInstance
.TaskItem.ProjectItemInstanceFactory;
79
public class ProjectInstance : IPropertyProvider<ProjectPropertyInstance>, IItemProvider<
ProjectItemInstance
>, IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>, ITranslatable
138
private IItemDictionary<
ProjectItemInstance
> _items;
143
private IMultiDictionary<string,
ProjectItemInstance
> _itemsByEvaluatedInclude;
453
_itemsByEvaluatedInclude = new ImmutableLinkedMultiDictionaryConverter<string, ProjectItem,
ProjectItemInstance
>(
571
_items = new ItemDictionary<
ProjectItemInstance
>(); // We don't want any of the items. That would include things like ProjectReferences, which would just pollute our own.
592
IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance> thisAsIEvaluatorData = this;
760
_items = new ItemDictionary<
ProjectItemInstance
>(that._items.Count);
762
foreach (
ProjectItemInstance
item in that.Items)
794
((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance,
796
((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance,
798
((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance,
800
((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance,
870
_items = new ItemDictionary<
ProjectItemInstance
>(that.Items.Count);
874
foreach (
var
actualItem in that.GetItems(itemFilter.Key))
876
var
filteredItem = actualItem.DeepClone(this);
978
private static ImmutableItemDictionary<ProjectItem,
ProjectItemInstance
> GetImmutableItemsDictionaryFromImmutableProject(
988
Func<ProjectItem,
ProjectItemInstance
> convertCachedItemToInstance =
991
var itemDictionary = new ImmutableItemDictionary<ProjectItem,
ProjectItemInstance
>(
1000
private static
ProjectItemInstance
ConvertCachedProjectItemToInstance(
1005
ProjectItemInstance
result = null;
1006
if (projectItem is IImmutableInstanceProvider<
ProjectItemInstance
> instanceProvider)
1011
var
newInstance = InstantiateProjectItemInstanceFromImmutableProjectSource(
1152
bool IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.CanEvaluateElementsWithFalseConditions => false;
1172
public ICollection<
ProjectItemInstance
> Items
1178
(ICollection<
ProjectItemInstance
>)ReadOnlyEmptyCollection<
ProjectItemInstance
>.Instance :
1179
new ReadOnlyCollection<
ProjectItemInstance
>(_items);
1319
TaskRegistry IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.TaskRegistry
1336
Toolset IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Toolset
1347
string IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SubToolsetVersion
1361
string IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ExplicitToolsVersion
1371
PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GlobalPropertiesDictionary
1378
PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.EnvironmentVariablePropertiesDictionary
1383
PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SdkResolvedEnvironmentVariablePropertiesDictionary
1428
((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this)
1448
ISet<string> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GlobalPropertiesToTreatAsLocal
1464
PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Properties
1474
IEnumerable<ProjectItemDefinitionInstance> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ItemDefinitionsEnumerable
1484
IItemDictionary<
ProjectItemInstance
> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Items
1495
List<string> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.InitialTargets
1513
List<string> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.DefaultTargets
1531
IDictionary<string, List<TargetSpecification>> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.BeforeTargets
1541
IDictionary<string, List<TargetSpecification>> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AfterTargets
1554
Dictionary<string, List<string>> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ConditionedProperties
1562
bool IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ShouldEvaluateForDesignTime
1660
internal IItemDictionary<
ProjectItemInstance
> ItemsToBuildWith
1704
public static string GetEvaluatedItemIncludeEscaped(
ProjectItemInstance
item)
1735
public static string GetMetadataValueEscaped(
ProjectItemInstance
item, string name)
1770
ICollection<
ProjectItemInstance
> IItemProvider<
ProjectItemInstance
>.GetItems(string itemType)
1779
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.
1789
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.FinishEvaluation()
1799
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItem(
ProjectItemInstance
item)
1810
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItemIgnoringCondition(
ProjectItemInstance
item)
1817
IItemDefinition<ProjectMetadataInstance> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItemDefinition(string itemType)
1835
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedPropertiesList(ProjectPropertyInstance property)
1847
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedItemDefinitionMetadataList(ProjectMetadataInstance itemDefinitionMetadatum)
1859
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedItemsList(
ProjectItemInstance
item)
1865
IItemDefinition<ProjectMetadataInstance> IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GetItemDefinition(string itemType)
1880
ProjectPropertyInstance IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SetProperty(string name, string evaluatedValueEscaped, bool isGlobalProperty, bool mayBeReserved, LoggingContext loggingContext, bool isEnvironmentVariable, bool isCommandLineProperty)
1893
ProjectPropertyInstance IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SetProperty(ProjectPropertyElement propertyElement, string evaluatedValueEscaped, LoggingContext loggingContext)
1904
ProjectTargetInstance IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GetTarget(string targetName)
1917
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddTarget(ProjectTargetInstance target)
1925
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImport(
1939
((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).RecordImportWithDuplicates(importElement, import, versionEvaluated);
1945
void IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated)
2042
public
ProjectItemInstance
AddItem(string itemType, string evaluatedInclude)
2046
ProjectItemInstance
item = new ProjectItemInstance(this, itemType, evaluatedInclude, this.FullPath);
2065
public
ProjectItemInstance
AddItem(string itemType, string evaluatedInclude, IEnumerable<KeyValuePair<string, string>> metadata)
2069
ProjectItemInstance
item = new ProjectItemInstance(this, itemType, evaluatedInclude, metadata, this.FullPath);
2080
public ICollection<
ProjectItemInstance
> GetItems(string itemType)
2083
return ((IItemProvider<
ProjectItemInstance
>)this).GetItems(itemType);
2089
public IEnumerable<
ProjectItemInstance
> GetItemsByItemTypeAndEvaluatedInclude(string itemType, string evaluatedInclude)
2094
foreach (
var
item in GetItems(itemType))
2104
foreach (
var
item in GetItemsByEvaluatedInclude(evaluatedInclude))
2118
public bool RemoveItem(
ProjectItemInstance
item)
2331
Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander = new Expander<ProjectPropertyInstance,
ProjectItemInstance
>(this, this, FileSystems.Default, _loggingContext);
2349
Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander = new Expander<ProjectPropertyInstance,
ProjectItemInstance
>(this, this, FileSystems.Default, _loggingContext);
2387
foreach (
ProjectItemInstance
item in _items.GetItems(itemType))
2430
_items = new ItemDictionary<
ProjectItemInstance
>(projectState._items);
2586
_items = new ItemDictionary<
ProjectItemInstance
>(typeCount);
2593
ProjectItemInstance
item = null;
2594
translator.Translate(ref item, delegate { return
ProjectItemInstance
.FactoryForDeserialization(translator, this); });
2606
ICollection<
ProjectItemInstance
> itemList = _items[itemType];
2609
foreach (
ProjectItemInstance
item in itemList)
2611
ProjectItemInstance
temp = item;
2612
translator.Translate(ref temp, delegate { return
ProjectItemInstance
.FactoryForDeserialization(translator, this); });
2848
if (((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).BeforeTargets.TryGetValue(target, out beforeTargetsForTarget))
2865
if (((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).AfterTargets.TryGetValue(target, out afterTargetsForTarget))
3196
_items = new ItemDictionary<
ProjectItemInstance
>();
3276
Evaluator<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Evaluate(
3301
private IEnumerable<
ProjectItemInstance
> GetItemsByEvaluatedInclude(string evaluatedInclude)
3330
((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).BeforeTargets = CreateCloneDictionary(beforeTargets, StringComparer.OrdinalIgnoreCase);
3331
((IEvaluatorData<ProjectPropertyInstance,
ProjectItemInstance
, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).AfterTargets = CreateCloneDictionary(afterTargets, StringComparer.OrdinalIgnoreCase);
3395
private void CreateEvaluatedIncludeSnapshotIfRequested(bool keepEvaluationCache, ICollection<ProjectItem> items, Dictionary<ProjectItem,
ProjectItemInstance
> projectItemToInstanceMap)
3402
var multiDictionary = new MultiDictionary<string,
ProjectItemInstance
>(items.Count, StringComparer.OrdinalIgnoreCase);
3414
private Dictionary<ProjectItem,
ProjectItemInstance
> CreateItemsSnapshot(ICollection<ProjectItem> items, int itemTypeCount, bool keepEvaluationCache)
3416
_items = new ItemDictionary<
ProjectItemInstance
>(itemTypeCount);
3418
var projectItemToInstanceMap = keepEvaluationCache ? new Dictionary<ProjectItem,
ProjectItemInstance
>(items.Count) : null;
3422
ProjectItemInstance
instance = InstantiateProjectItemInstance(item);
3430
private
ProjectItemInstance
InstantiateProjectItemInstance(ProjectItem item)
3460
var
instance = new ProjectItemInstance(
3485
private static
ProjectItemInstance
InstantiateProjectItemInstanceFromImmutableProjectSource(
3520
ProjectItemInstance
instance = new ProjectItemInstance(
Instance\ProjectItemInstance.cs (34)
140
private ProjectItemInstance(
ProjectItemInstance
that)
148
private ProjectItemInstance(
ProjectItemInstance
that, ProjectInstance newProject)
353
internal static IEqualityComparer<
ProjectItemInstance
> EqualityComparer
620
internal static void SetMetadata(Dictionary<string, string> metadataList, List<
ProjectItemInstance
> items)
628
foreach (
ProjectItemInstance
item in items)
638
internal static
ProjectItemInstance
FactoryForDeserialization(ITranslator translator, ProjectInstance projectInstance)
640
ProjectItemInstance
newItem = new ProjectItemInstance(projectInstance);
687
internal
ProjectItemInstance
DeepClone()
696
internal
ProjectItemInstance
DeepClone(ProjectInstance newProject)
879
/// Creates a task item by copying the information from a <see cref="
ProjectItemInstance
"/>.
882
internal TaskItem(
ProjectItemInstance
item)
1439
Expander<ProjectPropertyInstance,
ProjectItemInstance
> expander = new Expander<ProjectPropertyInstance,
ProjectItemInstance
>(null, null, new BuiltInMetadataTable(null, this), FileSystems.Default);
2206
internal class ProjectItemInstanceFactory : IItemFactory<
ProjectItemInstance
,
ProjectItemInstance
>
2257
public
ProjectItemInstance
CreateItem(string include, string definingProject)
2261
ProjectItemInstance
item = new ProjectItemInstance(_project, ItemType, include, definingProject);
2271
public
ProjectItemInstance
CreateItem(
ProjectItemInstance
source, string definingProject)
2281
public
ProjectItemInstance
CreateItem(string includeEscaped,
ProjectItemInstance
source, string definingProject)
2290
public
ProjectItemInstance
CreateItem(string evaluatedInclude, string evaluatedIncludeBeforeWildcardExpansion, string definingProject)
2300
public void SetMetadata(IEnumerable<KeyValuePair<ProjectMetadataElement, string>> metadataList, IEnumerable<
ProjectItemInstance
> destinationItems)
2309
foreach (
ProjectItemInstance
item in destinationItems)
2319
private
ProjectItemInstance
CreateItem(string includeEscaped, string includeBeforeWildcardExpansionEscaped,
ProjectItemInstance
source, string definingProject)
2354
internal class TaskItemFactory : IItemFactory<ProjectItem, TaskItem>, IItemFactory<
ProjectItemInstance
, TaskItem>
2433
public TaskItem CreateItem(
ProjectItemInstance
source, string definingProject)
2443
public TaskItem CreateItem(string includeEscaped,
ProjectItemInstance
baseItem, string definingProject)
2547
internal class ProjectItemInstanceEqualityComparer : IEqualityComparer<
ProjectItemInstance
>
2564
public static IEqualityComparer<
ProjectItemInstance
> Default
2575
public bool Equals(
ProjectItemInstance
x,
ProjectItemInstance
y)
2585
public int GetHashCode(
ProjectItemInstance
obj)
Logging\BinaryLogger\BuildEventArgsWriter.cs (1)
993
if (items is ItemDictionary<
ProjectItemInstance
> itemInstanceDictionary)
ObjectModelRemoting\LinkedObjectFactory.cs (5)
241
private class LinkedProjectItem : ProjectItem, ILinkableObject, IImmutableInstanceProvider<
ProjectItemInstance
>
243
private
ProjectItemInstance
_immutableInstance;
251
public
ProjectItemInstance
ImmutableInstance => _immutableInstance;
253
public
ProjectItemInstance
GetOrSetImmutableInstance(
ProjectItemInstance
instance)
Utilities\Utilities.cs (3)
766
if (items is ItemDictionary<
ProjectItemInstance
> projectItemInstanceDictionary)
797
if (items is ItemDictionary<
ProjectItemInstance
> projectItemInstanceDictionary)
826
if (items is ItemDictionary<
ProjectItemInstance
> projectItemInstanceDictionary)
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (3)
MSBuild\ProjectFile\Extensions.cs (3)
29
foreach (
var
item in project.GetItems(ItemNames.ReferencePath))
55
foreach (
var
item in packageReferenceItems)
69
private static ProjectFileReference CreateProjectFileReference(MSB.Execution.
ProjectItemInstance
reference)
Microsoft.DotNet.HotReload.Watch (3)
Build\EvaluationResult.cs (2)
201
foreach (
var
item in projectInstance.GetItems(ItemNames.ScopedCssInput))
212
foreach (
var
item in items)
Build\ProjectGraphUtilities.cs (1)
91
public static bool GetBooleanMetadataValue(this
ProjectItemInstance
item, string metadataName, bool defaultValue = false)
Microsoft.DotNet.ProjectTools (1)
VirtualProjectBuilder.cs (1)
375
foreach (
var
compileItem in compileItems)
MSBuild (2)
JsonOutputFormatter.cs (2)
59
foreach (
ProjectItemInstance
item in project.GetItems(itemName))
187
private static string TryGetMetadataValue(
ProjectItemInstance
item, string metadataName)
NuGet.Build.Tasks.Console (12)
ItemAdapter.cs (2)
13
private
ProjectItemInstance
_item;
15
public ItemAdapter(
ProjectItemInstance
item)
MSBuildProjectItemInstance.cs (5)
10
/// Represents an <see cref="MSBuildItemBase" /> implementation which wraps a <see cref="
ProjectItemInstance
" /> object.
15
/// Gets the <see cref="
ProjectItemInstance
" /> being wrapped.
17
private readonly
ProjectItemInstance
_projectItemInstance;
22
/// <param name="projectItemInstance">The <see cref="
ProjectItemInstance
" /> to wrap.</param>
23
public MSBuildProjectItemInstance(
ProjectItemInstance
projectItemInstance)
ProjectItemInstanceEvaluatedIncludeComparer.cs (4)
33
/// Determines whether or not the two <see cref="
ProjectItemInstance
" /> objects are considered equal.
35
/// <param name="x">The first <see cref="
ProjectItemInstance
" /> to compare, or <code>null</code>.</param>
36
/// <param name="y">The second <see cref="
ProjectItemInstance
" /> to compare, or <code>null</code>.</param>
37
/// <returns><code>true</code> if the specified <see cref="
ProjectItemInstance
" /> objects have the same Include value, otherwise <code>false</code>.</returns>
TargetFrameworkAdapter.cs (1)
23
foreach (
var
item in items)