18 instantiations of ProjectItemInstance
Microsoft.Build (18)
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupIntrinsicTask.cs (1)
469items.Add(new ProjectItemInstance(
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (4)
2012newItem = new ProjectItemInstance(_projectInstance, outputTargetName, outputAsProjectItem.IncludeEscaped, parameterLocationEscaped); 2019newItem = new ProjectItemInstance(_projectInstance, outputTargetName, outputAsITaskItem2.EvaluatedIncludeEscaped, parameterLocationEscaped); 2039newItem = new ProjectItemInstance(_projectInstance, outputTargetName, EscapingUtilities.Escape(output.ItemSpec), parameterLocationEscaped); 2094appender.Add(new ProjectItemInstance(_projectInstance, outputTargetName, EscapingUtilities.Escape(output), parameterLocationEscaped));
Graph\GraphBuilder.cs (2)
172new ProjectItemInstance( 255var stubItem = new ProjectItemInstance(
Graph\ProjectInterpretation.cs (1)
341yield return new ProjectItemInstance(
Instance\ProjectInstance.cs (4)
2097ProjectItemInstance item = new ProjectItemInstance(this, itemType, evaluatedInclude, this.FullPath); 2120ProjectItemInstance item = new ProjectItemInstance(this, itemType, evaluatedInclude, metadata, this.FullPath); 3532var instance = new ProjectItemInstance( 3592ProjectItemInstance 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);
399 references to ProjectItemInstance
Microsoft.Build (383)
BackEnd\Components\Communications\LogMessagePacket.cs (1)
12using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\Logging\ILoggingService.cs (1)
15using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\Logging\LoggingServiceLogMethods.cs (1)
17using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\Logging\ProjectLoggingContext.cs (4)
12using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 134IItemDictionary<ProjectItemInstance> projectItems, 171IItemDictionary<ProjectItemInstance> projectItems, 202IItemDictionary<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)
184ICollection<ProjectItemInstance> items = projectInstance.GetItems(ItemTypeNames.ProjectCachePlugin); 185foreach (ProjectItemInstance item in items)
BackEnd\Components\RequestBuilder\BatchingEngine.cs (10)
141Dictionary<string, ICollection<ProjectItemInstance>> itemListsToBeBatched = GetItemListsToBeBatched(consumedMetadataReferences, consumedItemReferences, lookup, elementLocation); 200private static Dictionary<string, ICollection<ProjectItemInstance>> GetItemListsToBeBatched( 209var itemListsToBeBatched = new Dictionary<string, ICollection<ProjectItemInstance>>(MSBuildNameIgnoreCaseComparer.Default); 251ICollection<ProjectItemInstance> items = lookup.GetItems(consumedItemName); 256foreach (ProjectItemInstance item in items) 296Dictionary<string, ICollection<ProjectItemInstance>> itemListsToBeBatched, 308foreach (KeyValuePair<string, ICollection<ProjectItemInstance>> entry in itemListsToBeBatched) 313ICollection<ProjectItemInstance> items = entry.Value ?? lookup.GetItems(itemName); 319foreach (ProjectItemInstance item in items) 392ProjectItemInstance item,
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupIntrinsicTask.cs (27)
19using ProjectItemInstanceFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.ProjectItemInstanceFactory; 171List<ProjectItemInstance> itemsToAdd = ExpandItemIntoItems(child, bucket.Expander, keepMetadata, removeMetadata, loggingContext); 206ProjectItemInstance.SetMetadata(metadataTable.AddedMetadata, itemsToAdd); // Add in one operation for potential copy-on-write 255ICollection<ProjectItemInstance> group = bucket.Lookup.GetItems(child.ItemType); 262List<ProjectItemInstance> itemsToRemove; 302ICollection<ProjectItemInstance> group = bucket.Lookup.GetItems(child.ItemType); 392private List<ProjectItemInstance> ExpandItemIntoItems( 394Expander<ProjectPropertyInstance, ProjectItemInstance> expander, 401List<ProjectItemInstance> items = new List<ProjectItemInstance>(); 439IList<ProjectItemInstance> itemsFromSplit = expander.ExpandSingleItemVectorExpressionIntoItems( 496foreach (ProjectItemInstance item in items) 523foreach (ProjectItemInstance item in items) 587private List<ProjectItemInstance> FindItemsMatchingSpecification( 588ICollection<ProjectItemInstance> items, 591Expander<ProjectPropertyInstance, ProjectItemInstance> expander) 637List<ProjectItemInstance> itemsRemoved = new List<ProjectItemInstance>(); 639foreach (ProjectItemInstance item in items) 655private List<ProjectItemInstance> FindItemsMatchingMetadataSpecification( 656ICollection<ProjectItemInstance> group, 658Expander<ProjectPropertyInstance, ProjectItemInstance> expander, 662ItemSpec<ProjectPropertyInstance, ProjectItemInstance> itemSpec = new ItemSpec<ProjectPropertyInstance, ProjectItemInstance>(child.Remove, expander, child.RemoveLocation, Project.Directory, true); 664itemSpec.Fragments.All(f => f is ItemSpec<ProjectPropertyInstance, ProjectItemInstance>.ItemExpressionFragment), 669MetadataTrie<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 (70)
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) 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) 836private List<ProjectItemInstance> _destination; 861public void Add(ProjectItemInstance item) 889internal void RemoveItems(string itemType, ICollection<ProjectItemInstance> items) 902IEnumerable<ProjectItemInstance> itemsToRemove = items.Select(RetrieveOriginalFromCloneTable); 914internal void ModifyItems(string itemType, ICollection<ProjectItemInstance> group, MetadataModifications metadataChanges) 946Dictionary<ProjectItemInstance, MetadataModifications> modifiesOfType; 949modifiesOfType = new Dictionary<ProjectItemInstance, MetadataModifications>(); 953foreach (ProjectItemInstance item in group) 961ProjectItemInstance actualItem = RetrieveOriginalFromCloneTable(item); 962var modify = new KeyValuePair<ProjectItemInstance, MetadataModifications>(actualItem, metadataChangeCopy); 975private void ApplyModifies(List<ProjectItemInstance> result, Dictionary<ProjectItemInstance, MetadataModifications> allModifies) 982_cloneTable ??= new Dictionary<ProjectItemInstance, ProjectItemInstance>(); 987ProjectItemInstance originalItem = result[i]; 991ProjectItemInstance cloneItem = originalItem.DeepClone(); 1007private static void ApplyMetadataModificationsToItem(MetadataModifications modificationsToApply, ProjectItemInstance itemToModify) 1046private ProjectItemInstance RetrieveOriginalFromCloneTable(ProjectItemInstance item) 1048ProjectItemInstance original; 1064private void ApplyModificationsToTable(IItemDictionary<ProjectItemInstance> table, string itemType, ItemsMetadataUpdateDictionary modify) 1066ICollection<ProjectItemInstance> existing = table[itemType]; 1069foreach (ProjectItemInstance item in existing) 1084private void MergeModificationsIntoModificationTable(Dictionary<ProjectItemInstance, MetadataModifications> modifiesOfType, 1085KeyValuePair<ProjectItemInstance, MetadataModifications> modify,
BackEnd\Components\RequestBuilder\RequestBuilder.cs (1)
1188_requestEntry.RequestConfiguration.Project is IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance> project)
BackEnd\Components\RequestBuilder\TargetBuilder.cs (1)
19using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\RequestBuilder\TargetEntry.cs (5)
23using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 120private Expander<ProjectPropertyInstance, ProjectItemInstance> _expander; 190_expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(baseLookup, baseLookup, FileSystems.Default, loggingContext); 483ItemDictionary<ProjectItemInstance> changedTargetInputs; 484ItemDictionary<ProjectItemInstance> upToDateTargetInputs;
BackEnd\Components\RequestBuilder\TargetUpToDateChecker.cs (24)
18using ProjectItemInstanceFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.ProjectItemInstanceFactory; 25using ItemVectorPartition = System.Collections.Generic.Dictionary<string, System.Collections.Generic.IList<Microsoft.Build.Execution.ProjectItemInstance>>; 33using ItemVectorPartitionCollection = System.Collections.Generic.Dictionary<string, System.Collections.Generic.Dictionary<string, System.Collections.Generic.IList<Microsoft.Build.Execution.ProjectItemInstance>>>; 136out ItemDictionary<ProjectItemInstance> changedTargetInputs, 137out ItemDictionary<ProjectItemInstance> upToDateTargetInputs) 602out ItemDictionary<ProjectItemInstance> changedTargetInputs, 603out ItemDictionary<ProjectItemInstance> upToDateTargetInputs) 607changedTargetInputs = new ItemDictionary<ProjectItemInstance>(); 608upToDateTargetInputs = new ItemDictionary<ProjectItemInstance>(); 623foreach (IList<ProjectItemInstance> inputItems in inputItemVectors.Values) 630List<ProjectItemInstance> upToDateInputItems = new List<ProjectItemInstance>(inputItems); 635foreach (KeyValuePair<string, IList<ProjectItemInstance>> outputEntry in outputItemVectors) 637IList<ProjectItemInstance> outputItems = outputEntry.Value; 695foreach (ProjectItemInstance item in upToDateInputItems) 709changedTargetInputs.ImportItemsOfType(inputItems[0].ItemType, Array.Empty<ProjectItemInstance>()); 716upToDateTargetInputs.ImportItemsOfType(inputItems[0].ItemType, Array.Empty<ProjectItemInstance>()); 824IList<ProjectItemInstance> itemVectorContents = bucket.Expander.ExpandSingleItemVectorExpressionIntoItems(item, itemFactory, ExpanderOptions.ExpandItems, true /* include null entries from transforms */, out bool isTransformExpression, elementLocation); 910foreach (IList<ProjectItemInstance> items in itemVectorPartition.Values) 912foreach (ProjectItemInstance item in items) 972Assumed.True(inputs[0] is string or ProjectItemInstance, "Must be either string or ProjectItemInstance"); 977Assumed.True(outputs[0] is string or ProjectItemInstance, "Must be either string or ProjectItemInstance"); 1092Assumed.True(inputs[0] is string or ProjectItemInstance, "Must be either string or ProjectItemInstance"); 1097Assumed.True(outputs[0] is string or ProjectItemInstance, "Must be either string or ProjectItemInstance");
BackEnd\Components\RequestBuilder\TaskBuilder.cs (4)
25using ProjectItemInstanceFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.ProjectItemInstanceFactory; 598private TaskHostParameters GatherTaskIdentityParameters(Expander<ProjectPropertyInstance, ProjectItemInstance> expander) 1121foreach (var projectReferenceItem in projectReferenceItems) 1284ICollection<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 (5)
33using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 1976/// Converts a task's <see cref="ITaskItem"/> array outputs into <see cref="ProjectItemInstance"/>s and bulk-adds 2001/// Creates a single <see cref="ProjectItemInstance"/> from a task output <see cref="ITaskItem"/>, choosing the 2004private ProjectItemInstance CreateProjectItemInstanceFromTaskItem(ITaskItem output, string outputTargetName, string parameterLocationEscaped) 2006ProjectItemInstance newItem;
Collections\ItemDictionarySlim.cs (20)
15internal sealed class ItemDictionarySlim : IEnumerable<KeyValuePair<string, List<ProjectItemInstance>>> 17private readonly Dictionary<string, List<ProjectItemInstance>> _itemLists; 20_itemLists = new Dictionary<string, List<ProjectItemInstance>>(MSBuildNameIgnoreCaseComparer.Default); 25public List<ProjectItemInstance>? this[string itemType] => 26_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? itemsOfType) ? itemsOfType : null; 36public void Add(ProjectItemInstance projectItem) 38if (!_itemLists.TryGetValue(projectItem.ItemType, out List<ProjectItemInstance>? list)) 56foreach (KeyValuePair<string, List<ProjectItemInstance>> kvp in other._itemLists) 59List<ProjectItemInstance> itemsToAdd = kvp.Value; 61if (_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? list)) 77public void ImportItemsOfType(string itemType, IEnumerable<ProjectItemInstance> items) 79if (!_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? list)) 92internal List<ProjectItemInstance> GetOrCreateListWithRoomFor(string itemType, int additionalCapacity) 94if (!_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? list)) 96list = new List<ProjectItemInstance>(additionalCapacity); 121if (!_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? list)) 123list = new List<ProjectItemInstance>(capacity); 133public Dictionary<string, List<ProjectItemInstance>>.Enumerator GetEnumerator() => _itemLists.GetEnumerator(); 135IEnumerator<KeyValuePair<string, List<ProjectItemInstance>>> IEnumerable<KeyValuePair<string, List<ProjectItemInstance>>>.GetEnumerator() => GetEnumerator();
Construction\Solution\SolutionProjectGenerator.cs (1)
1125ProjectItemInstance item;
Definition\Toolset.cs (3)
133private Expander<ProjectPropertyInstance, ProjectItemInstance> _expander; 861_expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(propertyBag, FileSystems.Default, loggingContext); 946TaskRegistry.InitializeTaskRegistryFromUsingTaskElements<ProjectPropertyInstance, ProjectItemInstance>(
Definition\ToolsetReader.cs (5)
459Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(initialProperties, FileSystems.Default); 528private 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) 577expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(initialProperties, FileSystems.Default); 585private 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)
14using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 15using TaskItemFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.TaskItemFactory;
Graph\GraphBuilder.cs (12)
255var stubItem = new ProjectItemInstance( 703private ConcurrentDictionary<(ProjectGraphNode, ProjectGraphNode), ProjectItemInstance> ReferenceItems = 704new ConcurrentDictionary<(ProjectGraphNode, ProjectGraphNode), ProjectItemInstance>(); 708public ProjectItemInstance this[(ProjectGraphNode node, ProjectGraphNode reference) key] 712Assumed.True(ReferenceItems.TryGetValue(key, out ProjectItemInstance referenceItem), "All requested keys should exist"); 717public void AddOrUpdateEdge((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance edge) 722addValueFactory: static ((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance referenceItem) => referenceItem, 723updateValueFactory: static ((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance existingItem, ProjectItemInstance newItem) => 729ProjectItemInstance itemToKeep = 744ProjectItemInstance mergedItem = itemToKeep.DeepClone(); 768internal IReadOnlyDictionary<(ConfigurationMetadata, ConfigurationMetadata), ProjectItemInstance> TestOnly_AsConfigurationMetadata()
Graph\ProjectGraph.cs (2)
830internal static string[] ExpandDefaultTargets(string[] targets, List<string> defaultTargets, ProjectItemInstance graphEdge) 886private 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 (11)
56internal readonly record struct ReferenceInfo(ConfigurationMetadata ReferenceConfiguration, ProjectItemInstance ProjectReferenceItem); 77IEnumerable<ProjectItemInstance> projectReferenceItems; 106foreach (ProjectItemInstance projectReferenceItem in projectReferenceItems) 302ProjectItemInstance newInnerBuildEdge = graphBuilder.Edges[(outerBuildReferencingProject, outerBuild)]; 306ProjectItemInstance existingInnerBuildEdge = graphBuilder.Edges[(outerBuildReferencingProject, innerBuild)]; 331private static IEnumerable<ProjectItemInstance> ConstructInnerBuildReferences(ProjectInstance outerBuild) 358ProjectItemInstance projectReference) 418private delegate GlobalPropertyPartsForMSBuildTask GlobalPropertiesModifier(GlobalPropertyPartsForMSBuildTask defaultParts, ProjectItemInstance projectReference); 428ProjectItemInstance projectReference, 565ICollection<ProjectItemInstance> projectReferenceTargets = project.GetItems(ItemTypeNames.ProjectReferenceTargets); 569foreach (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; 462_itemsByEvaluatedInclude = new ImmutableLinkedMultiDictionaryConverter<string, ProjectItem, ProjectItemInstance>( 582_items = new ItemDictionary<ProjectItemInstance>(); // We don't want any of the items. That would include things like ProjectReferences, which would just pollute our own. 603IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance> thisAsIEvaluatorData = this; 771_items = new ItemDictionary<ProjectItemInstance>(that._items.Count); 773foreach (ProjectItemInstance item in that.Items) 805((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, 807((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, 809((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, 811((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, 881_items = new ItemDictionary<ProjectItemInstance>(that.Items.Count); 885foreach (var actualItem in that.GetItems(itemFilter.Key)) 887var filteredItem = actualItem.DeepClone(this); 991private static ImmutableItemDictionary<ProjectItem, ProjectItemInstance> GetImmutableItemsDictionaryFromImmutableProject( 1001Func<ProjectItem, ProjectItemInstance> convertCachedItemToInstance = 1004var itemDictionary = new ImmutableItemDictionary<ProjectItem, ProjectItemInstance>( 1013private static ProjectItemInstance ConvertCachedProjectItemToInstance( 1018ProjectItemInstance result = null; 1019if (projectItem is IImmutableInstanceProvider<ProjectItemInstance> instanceProvider) 1024var newInstance = InstantiateProjectItemInstanceFromImmutableProjectSource( 1165bool IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.CanEvaluateElementsWithFalseConditions => false; 1185public ICollection<ProjectItemInstance> Items 1192(ICollection<ProjectItemInstance>)ReadOnlyEmptyCollection<ProjectItemInstance>.Instance : 1193new ReadOnlyCollection<ProjectItemInstance>(_items); 1370TaskRegistry IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.TaskRegistry 1387Toolset IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Toolset 1398string IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SubToolsetVersion 1412string IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ExplicitToolsVersion 1422PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GlobalPropertiesDictionary 1429PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.EnvironmentVariablePropertiesDictionary 1434PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SdkResolvedEnvironmentVariablePropertiesDictionary 1479((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this) 1499ISet<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GlobalPropertiesToTreatAsLocal 1515PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Properties 1525IEnumerable<ProjectItemDefinitionInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ItemDefinitionsEnumerable 1535IItemDictionary<ProjectItemInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Items 1546List<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.InitialTargets 1564List<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.DefaultTargets 1582IDictionary<string, List<TargetSpecification>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.BeforeTargets 1592IDictionary<string, List<TargetSpecification>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AfterTargets 1605Dictionary<string, List<string>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ConditionedProperties 1613bool IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ShouldEvaluateForDesignTime 1711internal IItemDictionary<ProjectItemInstance> ItemsToBuildWith 1755public static string GetEvaluatedItemIncludeEscaped(ProjectItemInstance item) 1786public static string GetMetadataValueEscaped(ProjectItemInstance item, string name) 1821ICollection<ProjectItemInstance> IItemProvider<ProjectItemInstance>.GetItems(string itemType) 1830void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>. 1840void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.FinishEvaluation() 1850void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItem(ProjectItemInstance item) 1861void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItemIgnoringCondition(ProjectItemInstance item) 1868IItemDefinition<ProjectMetadataInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItemDefinition(string itemType) 1886void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedPropertiesList(ProjectPropertyInstance property) 1898void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedItemDefinitionMetadataList(ProjectMetadataInstance itemDefinitionMetadatum) 1910void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedItemsList(ProjectItemInstance item) 1916IItemDefinition<ProjectMetadataInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GetItemDefinition(string itemType) 1931ProjectPropertyInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SetProperty(string name, string evaluatedValueEscaped, bool isGlobalProperty, bool mayBeReserved, LoggingContext loggingContext, bool isEnvironmentVariable, bool isCommandLineProperty) 1944ProjectPropertyInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SetProperty(ProjectPropertyElement propertyElement, string evaluatedValueEscaped, LoggingContext loggingContext) 1955ProjectTargetInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GetTarget(string targetName) 1968void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddTarget(ProjectTargetInstance target) 1976void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImport( 1990((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).RecordImportWithDuplicates(importElement, import, versionEvaluated); 1996void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated) 2093public ProjectItemInstance AddItem(string itemType, string evaluatedInclude) 2097ProjectItemInstance item = new ProjectItemInstance(this, itemType, evaluatedInclude, this.FullPath); 2116public ProjectItemInstance AddItem(string itemType, string evaluatedInclude, IEnumerable<KeyValuePair<string, string>> metadata) 2120ProjectItemInstance item = new ProjectItemInstance(this, itemType, evaluatedInclude, metadata, this.FullPath); 2131public ICollection<ProjectItemInstance> GetItems(string itemType) 2136return ((IItemProvider<ProjectItemInstance>)this).GetItems(itemType); 2142public IEnumerable<ProjectItemInstance> GetItemsByItemTypeAndEvaluatedInclude(string itemType, string evaluatedInclude) 2147foreach (var item in GetItems(itemType)) 2157foreach (var item in GetItemsByEvaluatedInclude(evaluatedInclude)) 2171public bool RemoveItem(ProjectItemInstance item) 2393Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(this, this, FileSystems.Default, _loggingContext); 2411Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(this, this, FileSystems.Default, _loggingContext); 2449foreach (ProjectItemInstance item in _items.GetItems(itemType)) 2492_items = new ItemDictionary<ProjectItemInstance>(projectState._items); 2648_items = new ItemDictionary<ProjectItemInstance>(typeCount); 2655ProjectItemInstance item = null; 2656translator.Translate(ref item, delegate { return ProjectItemInstance.FactoryForDeserialization(translator, this); }); 2668ICollection<ProjectItemInstance> itemList = _items[itemType]; 2671foreach (ProjectItemInstance item in itemList) 2673ProjectItemInstance temp = item; 2674translator.Translate(ref temp, delegate { return ProjectItemInstance.FactoryForDeserialization(translator, this); }); 2914if (((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).BeforeTargets.TryGetValue(target, out beforeTargetsForTarget)) 2931if (((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).AfterTargets.TryGetValue(target, out afterTargetsForTarget)) 3265_items = new ItemDictionary<ProjectItemInstance>(); 3345Evaluator<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Evaluate( 3373private IEnumerable<ProjectItemInstance> GetItemsByEvaluatedInclude(string evaluatedInclude) 3402((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).BeforeTargets = CreateCloneDictionary(beforeTargets, StringComparer.OrdinalIgnoreCase); 3403((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).AfterTargets = CreateCloneDictionary(afterTargets, StringComparer.OrdinalIgnoreCase); 3467private void CreateEvaluatedIncludeSnapshotIfRequested(bool keepEvaluationCache, ICollection<ProjectItem> items, Dictionary<ProjectItem, ProjectItemInstance> projectItemToInstanceMap) 3474var multiDictionary = new MultiDictionary<string, ProjectItemInstance>(items.Count, StringComparer.OrdinalIgnoreCase); 3486private Dictionary<ProjectItem, ProjectItemInstance> CreateItemsSnapshot(ICollection<ProjectItem> items, int itemTypeCount, bool keepEvaluationCache) 3488_items = new ItemDictionary<ProjectItemInstance>(itemTypeCount); 3490var projectItemToInstanceMap = keepEvaluationCache ? new Dictionary<ProjectItem, ProjectItemInstance>(items.Count) : null; 3494ProjectItemInstance instance = InstantiateProjectItemInstance(item); 3502private ProjectItemInstance InstantiateProjectItemInstance(ProjectItem item) 3532var instance = new ProjectItemInstance( 3557private static ProjectItemInstance InstantiateProjectItemInstanceFromImmutableProjectSource( 3592ProjectItemInstance 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)
Instance\TaskRegistry.cs (2)
1436/// (<see cref="ProjectItemInstance.TaskItem"/>) with the reflection-free 1445TaskParameterTypeRegistry.RegisterTaskItemType<ProjectItemInstance.TaskItem>();
Logging\BinaryLogger\BuildEventArgsWriter.cs (1)
1207if (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)
195foreach (var item in projectInstance.GetItems(ItemNames.ScopedCssInput)) 206foreach (var item in items)
Build\ProjectGraphUtilities.cs (1)
95public static bool GetBooleanMetadataValue(this ProjectItemInstance item, string metadataName, bool defaultValue = false)
MSBuild (2)
JsonOutputFormatter.cs (2)
58foreach (ProjectItemInstance item in project.GetItems(itemName)) 145private static string TryGetMetadataValue(ProjectItemInstance item, string metadataName)
NuGet.Build.Tasks.Console (5)
ItemAdapter.cs (2)
13private ProjectItemInstance _item; 15public ItemAdapter(ProjectItemInstance item)
MSBuildProjectItemInstance.cs (2)
17private readonly ProjectItemInstance _projectItemInstance; 23public MSBuildProjectItemInstance(ProjectItemInstance projectItemInstance)
TargetFrameworkAdapter.cs (1)
25foreach (var item in items)
SelectTests (3)
GraphAffectedProjects.cs (3)
311foreach (var availableItemName in instance.GetItems("AvailableItemName")) 318foreach (var item in instance.GetItems(itemType)) 407foreach (var reference in node.ProjectInstance.GetItems("ProjectReference"))