18 instantiations of ProjectItemInstance
Microsoft.Build (18)
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupIntrinsicTask.cs (1)
468items.Add(new ProjectItemInstance(
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (4)
1804newItem = new ProjectItemInstance(_projectInstance, outputTargetName, outputAsProjectItem.IncludeEscaped, parameterLocationEscaped); 1813newItem = new ProjectItemInstance(_projectInstance, outputTargetName, outputAsITaskItem2.EvaluatedIncludeEscaped, parameterLocationEscaped); 1833newItem = new ProjectItemInstance(_projectInstance, outputTargetName, EscapingUtilities.Escape(output.ItemSpec), parameterLocationEscaped); 1951_batchBucket.Lookup.AddNewItem(new ProjectItemInstance(_projectInstance, outputTargetName, EscapingUtilities.Escape(output), EscapingUtilities.Escape(parameterLocation.File)));
Graph\GraphBuilder.cs (2)
171new ProjectItemInstance( 247var stubItem = new ProjectItemInstance(
Graph\ProjectInterpretation.cs (1)
331yield 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);
389 references to ProjectItemInstance
Microsoft.Build (373)
BackEnd\Components\Communications\LogMessagePacket.cs (1)
12using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\Logging\ILoggingService.cs (1)
14using 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)
184ICollection<ProjectItemInstance> items = projectInstance.GetItems(ItemTypeNames.ProjectCachePlugin); 185foreach (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 (68)
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) 809internal void RemoveItems(string itemType, ICollection<ProjectItemInstance> items) 822IEnumerable<ProjectItemInstance> itemsToRemove = items.Select(RetrieveOriginalFromCloneTable); 834internal void ModifyItems(string itemType, ICollection<ProjectItemInstance> group, MetadataModifications metadataChanges) 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,
BackEnd\Components\RequestBuilder\RequestBuilder.cs (1)
1184_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)
23using ProjectItemInstanceFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.ProjectItemInstanceFactory; 549private TaskHostParameters GatherTaskIdentityParameters(Expander<ProjectPropertyInstance, ProjectItemInstance> expander) 1067foreach (var projectReferenceItem in projectReferenceItems) 1230ICollection<ProjectItemInstance> items = bucket.Expander.ExpandIntoItemsLeaveEscaped(outputItemSpec, itemFactory, ExpanderOptions.ExpandItems, taskItemInstance.TaskParameterLocation);
BackEnd\Components\RequestBuilder\TaskHost.cs (1)
21using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Shared\TargetResult.cs (1)
13using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (2)
32using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 1795ProjectItemInstance 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)
1122ProjectItemInstance 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)
458Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(initialProperties, FileSystems.Default); 527private 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) 576expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(initialProperties, FileSystems.Default); 584private 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)
13using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 14using TaskItemFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.TaskItemFactory;
Graph\GraphBuilder.cs (11)
247var stubItem = new ProjectItemInstance( 695private ConcurrentDictionary<(ProjectGraphNode, ProjectGraphNode), ProjectItemInstance> ReferenceItems = 696new ConcurrentDictionary<(ProjectGraphNode, ProjectGraphNode), ProjectItemInstance>(); 700public ProjectItemInstance this[(ProjectGraphNode node, ProjectGraphNode reference) key] 704Assumed.True(ReferenceItems.TryGetValue(key, out ProjectItemInstance referenceItem), "All requested keys should exist"); 709public void AddOrUpdateEdge((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance edge) 714addValueFactory: static ((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance referenceItem) => referenceItem, 715updateValueFactory: static ((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance existingItem, ProjectItemInstance newItem) => 730ProjectItemInstance mergedItem = existingItem.DeepClone(); 754internal IReadOnlyDictionary<(ConfigurationMetadata, ConfigurationMetadata), ProjectItemInstance> TestOnly_AsConfigurationMetadata()
Graph\ProjectGraph.cs (2)
829internal static string[] ExpandDefaultTargets(string[] targets, List<string> defaultTargets, ProjectItemInstance graphEdge) 885private 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) 302ProjectItemInstance newInnerBuildEdge = graphBuilder.Edges[(outerBuildReferencingProject, outerBuild)]; 321private static IEnumerable<ProjectItemInstance> ConstructInnerBuildReferences(ProjectInstance outerBuild) 348ProjectItemInstance projectReference) 408private delegate GlobalPropertyPartsForMSBuildTask GlobalPropertiesModifier(GlobalPropertyPartsForMSBuildTask defaultParts, ProjectItemInstance projectReference); 418ProjectItemInstance projectReference, 555ICollection<ProjectItemInstance> projectReferenceTargets = project.GetItems(ItemTypeNames.ProjectReferenceTargets); 559foreach (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)
1630/// (<see cref="ProjectItemInstance.TaskItem"/>) with the reflection-free 1639TaskParameterTypeRegistry.RegisterTaskItemType<ProjectItemInstance.TaskItem>();
Logging\BinaryLogger\BuildEventArgsWriter.cs (1)
1013if (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)
196foreach (var item in projectInstance.GetItems(ItemNames.ScopedCssInput)) 207foreach (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)
288foreach (var availableItemName in instance.GetItems("AvailableItemName")) 295foreach (var item in instance.GetItems(itemType)) 384foreach (var reference in node.ProjectInstance.GetItems("ProjectReference"))