18 instantiations of ProjectItemInstance
Microsoft.Build (18)
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupIntrinsicTask.cs (1)
468items.Add(new ProjectItemInstance(
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (4)
1825newItem = new ProjectItemInstance(_projectInstance, outputTargetName, outputAsProjectItem.IncludeEscaped, parameterLocationEscaped); 1834newItem = new ProjectItemInstance(_projectInstance, outputTargetName, outputAsITaskItem2.EvaluatedIncludeEscaped, parameterLocationEscaped); 1854newItem = new ProjectItemInstance(_projectInstance, outputTargetName, EscapingUtilities.Escape(output.ItemSpec), parameterLocationEscaped); 1979_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);
407 references to ProjectItemInstance
dotnet (6)
Commands\Project\Convert\ProjectConvertCommand.cs (2)
357foreach (var item in items) 437foreach (var item in outputProject.GetItems(itemType))
Commands\Reference\List\ReferenceListCommand.cs (1)
55foreach (var item in projectInstance.GetItems("ProjectReference"))
Commands\Run\EnvironmentVariablesToMSBuild.cs (1)
67foreach (var item in projectInstance.GetItems(Constants.RuntimeEnvironmentVariable))
Commands\Run\VirtualProjectBuildingCommand.cs (2)
572foreach (var item in projectInstance.GetItems(entry.ItemType)) 633foreach (var item in projectInstance.GetItems(itemName))
Microsoft.Build (380)
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 (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)
1179_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; 1816ProjectItemInstance 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)
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)
383foreach (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)