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