18 instantiations of ProjectItemInstance
Microsoft.Build (18)
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupIntrinsicTask.cs (1)
468items.Add(new ProjectItemInstance(
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (4)
1497newItem = new ProjectItemInstance(_projectInstance, outputTargetName, outputAsProjectItem.IncludeEscaped, parameterLocationEscaped); 1506newItem = new ProjectItemInstance(_projectInstance, outputTargetName, outputAsITaskItem2.EvaluatedIncludeEscaped, parameterLocationEscaped); 1526newItem = new ProjectItemInstance(_projectInstance, outputTargetName, EscapingUtilities.Escape(output.ItemSpec), parameterLocationEscaped); 1651_batchBucket.Lookup.AddNewItem(new ProjectItemInstance(_projectInstance, outputTargetName, EscapingUtilities.Escape(output), EscapingUtilities.Escape(parameterLocation.File)));
Graph\GraphBuilder.cs (2)
168new ProjectItemInstance( 244var stubItem = new ProjectItemInstance(
Graph\ProjectInterpretation.cs (1)
293yield return new ProjectItemInstance(
Instance\ProjectInstance.cs (4)
2061ProjectItemInstance item = new ProjectItemInstance(this, itemType, evaluatedInclude, this.FullPath); 2084ProjectItemInstance item = new ProjectItemInstance(this, itemType, evaluatedInclude, metadata, this.FullPath); 3475var instance = new ProjectItemInstance( 3535ProjectItemInstance instance = new ProjectItemInstance(
Instance\ProjectItemInstance.cs (6)
640ProjectItemInstance newItem = new ProjectItemInstance(projectInstance); 689return new ProjectItemInstance(this); 698return new ProjectItemInstance(this, newProject); 2267ProjectItemInstance item = new ProjectItemInstance(_project, ItemType, include, definingProject); 2300return new ProjectItemInstance(_project, ItemType, evaluatedInclude, evaluatedIncludeBeforeWildcardExpansion, definingProject); 2353return new ProjectItemInstance(_project, ItemType, includeEscaped, includeBeforeWildcardExpansionEscaped, source._taskItem.DirectMetadata, itemDefinitionsClone, definingProject, useItemDefinitionsWithoutModification: false);
402 references to ProjectItemInstance
dotnet (4)
Commands\Project\Convert\ProjectConvertCommand.cs (1)
339foreach (var item in items)
Commands\Reference\List\ReferenceListCommand.cs (1)
39foreach (var item in projectInstance.GetItems("ProjectReference"))
Commands\Run\VirtualProjectBuildingCommand.cs (2)
568foreach (var item in projectInstance.GetItems(entry.ItemType)) 629foreach (var item in projectInstance.GetItems(itemName))
Microsoft.Build (377)
BackEnd\Components\Communications\LogMessagePacket.cs (1)
13using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\Logging\ILoggingService.cs (1)
13using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\Logging\LoggingServiceLogMethods.cs (1)
15using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\Logging\ProjectLoggingContext.cs (4)
12using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 128IItemDictionary<ProjectItemInstance> projectItems, 164IItemDictionary<ProjectItemInstance> projectItems, 195IItemDictionary<ProjectItemInstance> projectItems,
BackEnd\Components\Logging\TargetLoggingContext.cs (1)
8using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Components\ProjectCache\CacheResult.cs (2)
131private static ProjectItemInstance.TaskItem CreateTaskItem(ITaskItem2 taskItemInterface) 133var taskItem = new ProjectItemInstance.TaskItem(taskItemInterface.EvaluatedIncludeEscaped, definingFileEscaped: null);
BackEnd\Components\ProjectCache\Experimental\CacheResult.cs (2)
133private static ProjectItemInstance.TaskItem CreateTaskItem(ITaskItem2 taskItemInterface) 135var taskItem = new ProjectItemInstance.TaskItem(taskItemInterface.EvaluatedIncludeEscaped, definingFileEscaped: null);
BackEnd\Components\ProjectCache\ProjectCacheService.cs (2)
180ICollection<ProjectItemInstance> items = projectInstance.GetItems(ItemTypeNames.ProjectCachePlugin); 181foreach (ProjectItemInstance item in items)
BackEnd\Components\RequestBuilder\BatchingEngine.cs (10)
151Dictionary<string, ICollection<ProjectItemInstance>> itemListsToBeBatched = GetItemListsToBeBatched(consumedMetadataReferences, consumedItemReferences, lookup, elementLocation); 210private static Dictionary<string, ICollection<ProjectItemInstance>> GetItemListsToBeBatched( 219var itemListsToBeBatched = new Dictionary<string, ICollection<ProjectItemInstance>>(MSBuildNameIgnoreCaseComparer.Default); 261ICollection<ProjectItemInstance> items = lookup.GetItems(consumedItemName); 266foreach (ProjectItemInstance item in items) 306Dictionary<string, ICollection<ProjectItemInstance>> itemListsToBeBatched, 318foreach (KeyValuePair<string, ICollection<ProjectItemInstance>> entry in itemListsToBeBatched) 323ICollection<ProjectItemInstance> items = entry.Value ?? lookup.GetItems(itemName); 329foreach (ProjectItemInstance item in items) 402ProjectItemInstance 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)
31private Expander<ProjectPropertyInstance, ProjectItemInstance> _expander; 106_expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(_lookup, _lookup, new StringMetadataTable(_metadata), FileSystems.Default, loggingContext); 151internal Expander<ProjectPropertyInstance, ProjectItemInstance> Expander 194internal 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)
1168_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>(); 615foreach (IList<ProjectItemInstance> inputItems in inputItemVectors.Values) 622List<ProjectItemInstance> upToDateInputItems = new List<ProjectItemInstance>(inputItems); 627foreach (KeyValuePair<string, IList<ProjectItemInstance>> outputEntry in outputItemVectors) 629IList<ProjectItemInstance> outputItems = outputEntry.Value; 687foreach (ProjectItemInstance item in upToDateInputItems) 701changedTargetInputs.ImportItemsOfType(inputItems[0].ItemType, Array.Empty<ProjectItemInstance>()); 708upToDateTargetInputs.ImportItemsOfType(inputItems[0].ItemType, Array.Empty<ProjectItemInstance>()); 818IList<ProjectItemInstance> itemVectorContents = bucket.Expander.ExpandSingleItemVectorExpressionIntoItems(item, itemFactory, ExpanderOptions.ExpandItems, true /* include null entries from transforms */, out bool isTransformExpression, elementLocation); 905foreach (IList<ProjectItemInstance> items in itemVectorPartition.Values) 907foreach (ProjectItemInstance item in items) 966ErrorUtilities.VerifyThrow(inputs[0] is string || inputs[0] is ProjectItemInstance, "Must be either string or ProjectItemInstance"); 971ErrorUtilities.VerifyThrow(outputs[0] is string || outputs[0] is ProjectItemInstance, "Must be either string or ProjectItemInstance"); 1086ErrorUtilities.VerifyThrow(inputs[0] is string || inputs[0] is ProjectItemInstance, "Must be either string or ProjectItemInstance"); 1091ErrorUtilities.VerifyThrow(outputs[0] is string || outputs[0] is ProjectItemInstance, "Must be either string or ProjectItemInstance");
BackEnd\Components\RequestBuilder\TaskBuilder.cs (4)
27using ProjectItemInstanceFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.ProjectItemInstanceFactory; 555private TaskHostParameters GatherTaskIdentityParameters(Expander<ProjectPropertyInstance, ProjectItemInstance> expander) 1073foreach (var projectReferenceItem in projectReferenceItems) 1236ICollection<ProjectItemInstance> items = bucket.Expander.ExpandIntoItemsLeaveEscaped(outputItemSpec, itemFactory, ExpanderOptions.ExpandItems, taskItemInstance.TaskParameterLocation);
BackEnd\Components\RequestBuilder\TaskHost.cs (1)
22using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\Shared\TargetResult.cs (1)
13using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (2)
25using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 1488ProjectItemInstance newItem;
Collections\ItemDictionarySlim.cs (17)
14internal sealed class ItemDictionarySlim : IEnumerable<KeyValuePair<string, List<ProjectItemInstance>>> 16private readonly Dictionary<string, List<ProjectItemInstance>> _itemLists; 19_itemLists = new Dictionary<string, List<ProjectItemInstance>>(MSBuildNameIgnoreCaseComparer.Default); 24public List<ProjectItemInstance>? this[string itemType] => 25_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? itemsOfType) ? itemsOfType : null; 35public void Add(ProjectItemInstance projectItem) 37if (!_itemLists.TryGetValue(projectItem.ItemType, out List<ProjectItemInstance>? list)) 55foreach (KeyValuePair<string, List<ProjectItemInstance>> kvp in other._itemLists) 58List<ProjectItemInstance> itemsToAdd = kvp.Value; 60if (_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? list)) 76public void ImportItemsOfType(string itemType, IEnumerable<ProjectItemInstance> items) 78if (!_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? list)) 95if (!_itemLists.TryGetValue(itemType, out List<ProjectItemInstance>? list)) 97list = new List<ProjectItemInstance>(capacity); 107public Dictionary<string, List<ProjectItemInstance>>.Enumerator GetEnumerator() => _itemLists.GetEnumerator(); 109IEnumerator<KeyValuePair<string, List<ProjectItemInstance>>> IEnumerable<KeyValuePair<string, List<ProjectItemInstance>>>.GetEnumerator() => GetEnumerator();
Construction\Solution\SolutionProjectGenerator.cs (1)
1117ProjectItemInstance item;
Definition\Toolset.cs (3)
134private Expander<ProjectPropertyInstance, ProjectItemInstance> _expander; 862_expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(propertyBag, FileSystems.Default, loggingContext); 943TaskRegistry.InitializeTaskRegistryFromUsingTaskElements<ProjectPropertyInstance, ProjectItemInstance>(
Definition\ToolsetReader.cs (5)
446Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(initialProperties, FileSystems.Default); 515private 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) 564expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(initialProperties, FileSystems.Default); 572private string ExpandPropertyUnescaped(ToolsetPropertyDefinition property, Expander<ProjectPropertyInstance, ProjectItemInstance> expander)
Evaluation\Conditionals\FunctionCallExpressionNode.cs (1)
10using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
Evaluation\ConditionEvaluator.cs (1)
14using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem;
Evaluation\Expander.cs (2)
32using TaskItem = Microsoft.Build.Execution.ProjectItemInstance.TaskItem; 33using TaskItemFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.TaskItemFactory;
Graph\GraphBuilder.cs (11)
244var stubItem = new ProjectItemInstance( 694private ConcurrentDictionary<(ProjectGraphNode, ProjectGraphNode), ProjectItemInstance> ReferenceItems = 695new ConcurrentDictionary<(ProjectGraphNode, ProjectGraphNode), ProjectItemInstance>(); 699public ProjectItemInstance this[(ProjectGraphNode node, ProjectGraphNode reference) key] 703ErrorUtilities.VerifyThrow(ReferenceItems.TryGetValue(key, out ProjectItemInstance referenceItem), "All requested keys should exist"); 708public void AddOrUpdateEdge((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance edge) 713addValueFactory: static ((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance referenceItem) => referenceItem, 714updateValueFactory: static ((ProjectGraphNode node, ProjectGraphNode reference) key, ProjectItemInstance existingItem, ProjectItemInstance newItem) => 729ProjectItemInstance mergedItem = existingItem.DeepClone(); 753internal IReadOnlyDictionary<(ConfigurationMetadata, ConfigurationMetadata), ProjectItemInstance> TestOnly_AsConfigurationMetadata()
Graph\ProjectGraph.cs (1)
800private static ImmutableList<string> ExpandDefaultTargets(ImmutableList<string> targets, List<string> defaultTargets, ProjectItemInstance graphEdge)
Graph\ProjectGraphNode.cs (1)
57internal void AddProjectReference(ProjectGraphNode reference, ProjectItemInstance projectReferenceItem, GraphBuilder.GraphEdges edges)
Graph\ProjectInterpretation.cs (10)
56internal readonly record struct ReferenceInfo(ConfigurationMetadata ReferenceConfiguration, ProjectItemInstance ProjectReferenceItem); 79IEnumerable<ProjectItemInstance> projectReferenceItems; 108foreach (ProjectItemInstance projectReferenceItem in projectReferenceItems) 262ProjectItemInstance newInnerBuildEdge = graphBuilder.Edges[(outerBuildReferencingProject, outerBuild)]; 283private static IEnumerable<ProjectItemInstance> ConstructInnerBuildReferences(ProjectInstance outerBuild) 310ProjectItemInstance projectReference) 370private delegate GlobalPropertyPartsForMSBuildTask GlobalPropertiesModifier(GlobalPropertyPartsForMSBuildTask defaultParts, ProjectItemInstance projectReference); 380ProjectItemInstance projectReference, 497ICollection<ProjectItemInstance> projectReferenceTargets = project.GetItems(ItemTypeNames.ProjectReferenceTargets); 501foreach (ProjectItemInstance projectReferenceTarget in projectReferenceTargets)
Instance\ProjectInstance.cs (112)
34using ProjectItemInstanceFactory = Microsoft.Build.Execution.ProjectItemInstance.TaskItem.ProjectItemInstanceFactory; 79public class ProjectInstance : IPropertyProvider<ProjectPropertyInstance>, IItemProvider<ProjectItemInstance>, IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>, ITranslatable 138private IItemDictionary<ProjectItemInstance> _items; 143private IMultiDictionary<string, ProjectItemInstance> _itemsByEvaluatedInclude; 453_itemsByEvaluatedInclude = new ImmutableLinkedMultiDictionaryConverter<string, ProjectItem, ProjectItemInstance>( 571_items = new ItemDictionary<ProjectItemInstance>(); // We don't want any of the items. That would include things like ProjectReferences, which would just pollute our own. 592IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance> thisAsIEvaluatorData = this; 761_items = new ItemDictionary<ProjectItemInstance>(that._items.Count); 763foreach (ProjectItemInstance item in that.Items) 795((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, 797((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, 799((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, 801((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, 871_items = new ItemDictionary<ProjectItemInstance>(that.Items.Count); 875foreach (var actualItem in that.GetItems(itemFilter.Key)) 877var filteredItem = actualItem.DeepClone(this); 979private static ImmutableItemDictionary<ProjectItem, ProjectItemInstance> GetImmutableItemsDictionaryFromImmutableProject( 989Func<ProjectItem, ProjectItemInstance> convertCachedItemToInstance = 992var itemDictionary = new ImmutableItemDictionary<ProjectItem, ProjectItemInstance>( 1001private static ProjectItemInstance ConvertCachedProjectItemToInstance( 1006ProjectItemInstance result = null; 1007if (projectItem is IImmutableInstanceProvider<ProjectItemInstance> instanceProvider) 1012var newInstance = InstantiateProjectItemInstanceFromImmutableProjectSource( 1153bool IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.CanEvaluateElementsWithFalseConditions => false; 1173public ICollection<ProjectItemInstance> Items 1179(ICollection<ProjectItemInstance>)ReadOnlyEmptyCollection<ProjectItemInstance>.Instance : 1180new ReadOnlyCollection<ProjectItemInstance>(_items); 1320TaskRegistry IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.TaskRegistry 1337Toolset IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Toolset 1348string IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SubToolsetVersion 1362string IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ExplicitToolsVersion 1372PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GlobalPropertiesDictionary 1379PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.EnvironmentVariablePropertiesDictionary 1384PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SdkResolvedEnvironmentVariablePropertiesDictionary 1429((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this) 1449ISet<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GlobalPropertiesToTreatAsLocal 1465PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Properties 1475IEnumerable<ProjectItemDefinitionInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ItemDefinitionsEnumerable 1485IItemDictionary<ProjectItemInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Items 1496List<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.InitialTargets 1514List<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.DefaultTargets 1532IDictionary<string, List<TargetSpecification>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.BeforeTargets 1542IDictionary<string, List<TargetSpecification>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AfterTargets 1555Dictionary<string, List<string>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ConditionedProperties 1569bool IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ShouldEvaluateForDesignTime 1667internal IItemDictionary<ProjectItemInstance> ItemsToBuildWith 1711public static string GetEvaluatedItemIncludeEscaped(ProjectItemInstance item) 1742public static string GetMetadataValueEscaped(ProjectItemInstance item, string name) 1777ICollection<ProjectItemInstance> IItemProvider<ProjectItemInstance>.GetItems(string itemType) 1786void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>. 1796void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.FinishEvaluation() 1806void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItem(ProjectItemInstance item) 1817void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItemIgnoringCondition(ProjectItemInstance item) 1826IItemDefinition<ProjectMetadataInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItemDefinition(string itemType) 1844void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedPropertiesList(ProjectPropertyInstance property) 1858void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedItemDefinitionMetadataList(ProjectMetadataInstance itemDefinitionMetadatum) 1872void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedItemsList(ProjectItemInstance item) 1880IItemDefinition<ProjectMetadataInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GetItemDefinition(string itemType) 1895ProjectPropertyInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SetProperty(string name, string evaluatedValueEscaped, bool isGlobalProperty, bool mayBeReserved, LoggingContext loggingContext, bool isEnvironmentVariable, bool isCommandLineProperty) 1908ProjectPropertyInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SetProperty(ProjectPropertyElement propertyElement, string evaluatedValueEscaped, LoggingContext loggingContext) 1919ProjectTargetInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GetTarget(string targetName) 1932void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddTarget(ProjectTargetInstance target) 1940void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImport( 1954((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).RecordImportWithDuplicates(importElement, import, versionEvaluated); 1960void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated) 2057public ProjectItemInstance AddItem(string itemType, string evaluatedInclude) 2061ProjectItemInstance item = new ProjectItemInstance(this, itemType, evaluatedInclude, this.FullPath); 2080public ProjectItemInstance AddItem(string itemType, string evaluatedInclude, IEnumerable<KeyValuePair<string, string>> metadata) 2084ProjectItemInstance item = new ProjectItemInstance(this, itemType, evaluatedInclude, metadata, this.FullPath); 2095public ICollection<ProjectItemInstance> GetItems(string itemType) 2098return ((IItemProvider<ProjectItemInstance>)this).GetItems(itemType); 2104public IEnumerable<ProjectItemInstance> GetItemsByItemTypeAndEvaluatedInclude(string itemType, string evaluatedInclude) 2109foreach (var item in GetItems(itemType)) 2119foreach (var item in GetItemsByEvaluatedInclude(evaluatedInclude)) 2133public bool RemoveItem(ProjectItemInstance item) 2346Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(this, this, FileSystems.Default, _loggingContext); 2364Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(this, this, FileSystems.Default, _loggingContext); 2402foreach (ProjectItemInstance item in _items.GetItems(itemType)) 2445_items = new ItemDictionary<ProjectItemInstance>(projectState._items); 2601_items = new ItemDictionary<ProjectItemInstance>(typeCount); 2608ProjectItemInstance item = null; 2609translator.Translate(ref item, delegate { return ProjectItemInstance.FactoryForDeserialization(translator, this); }); 2621ICollection<ProjectItemInstance> itemList = _items[itemType]; 2624foreach (ProjectItemInstance item in itemList) 2626ProjectItemInstance temp = item; 2627translator.Translate(ref temp, delegate { return ProjectItemInstance.FactoryForDeserialization(translator, this); }); 2863if (((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).BeforeTargets.TryGetValue(target, out beforeTargetsForTarget)) 2880if (((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).AfterTargets.TryGetValue(target, out afterTargetsForTarget)) 3211_items = new ItemDictionary<ProjectItemInstance>(); 3291Evaluator<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Evaluate( 3316private IEnumerable<ProjectItemInstance> GetItemsByEvaluatedInclude(string evaluatedInclude) 3345((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).BeforeTargets = CreateCloneDictionary(beforeTargets, StringComparer.OrdinalIgnoreCase); 3346((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).AfterTargets = CreateCloneDictionary(afterTargets, StringComparer.OrdinalIgnoreCase); 3410private void CreateEvaluatedIncludeSnapshotIfRequested(bool keepEvaluationCache, ICollection<ProjectItem> items, Dictionary<ProjectItem, ProjectItemInstance> projectItemToInstanceMap) 3417var multiDictionary = new MultiDictionary<string, ProjectItemInstance>(items.Count, StringComparer.OrdinalIgnoreCase); 3429private Dictionary<ProjectItem, ProjectItemInstance> CreateItemsSnapshot(ICollection<ProjectItem> items, int itemTypeCount, bool keepEvaluationCache) 3431_items = new ItemDictionary<ProjectItemInstance>(itemTypeCount); 3433var projectItemToInstanceMap = keepEvaluationCache ? new Dictionary<ProjectItem, ProjectItemInstance>(items.Count) : null; 3437ProjectItemInstance instance = InstantiateProjectItemInstance(item); 3445private ProjectItemInstance InstantiateProjectItemInstance(ProjectItem item) 3475var instance = new ProjectItemInstance( 3500private static ProjectItemInstance InstantiateProjectItemInstanceFromImmutableProjectSource( 3535ProjectItemInstance 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) 1445Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(null, null, new BuiltInMetadataTable(null, this), FileSystems.Default); 2212internal class ProjectItemInstanceFactory : IItemFactory<ProjectItemInstance, ProjectItemInstance> 2263public ProjectItemInstance CreateItem(string include, string definingProject) 2267ProjectItemInstance item = new ProjectItemInstance(_project, ItemType, include, definingProject); 2277public ProjectItemInstance CreateItem(ProjectItemInstance source, string definingProject) 2287public ProjectItemInstance CreateItem(string includeEscaped, ProjectItemInstance source, string definingProject) 2296public ProjectItemInstance CreateItem(string evaluatedInclude, string evaluatedIncludeBeforeWildcardExpansion, string definingProject) 2306public void SetMetadata(IEnumerable<KeyValuePair<ProjectMetadataElement, string>> metadataList, IEnumerable<ProjectItemInstance> destinationItems) 2315foreach (ProjectItemInstance item in destinationItems) 2325private ProjectItemInstance CreateItem(string includeEscaped, string includeBeforeWildcardExpansionEscaped, ProjectItemInstance source, string definingProject) 2360internal class TaskItemFactory : IItemFactory<ProjectItem, TaskItem>, IItemFactory<ProjectItemInstance, TaskItem> 2439public TaskItem CreateItem(ProjectItemInstance source, string definingProject) 2449public TaskItem CreateItem(string includeEscaped, ProjectItemInstance baseItem, string definingProject) 2553internal class ProjectItemInstanceEqualityComparer : IEqualityComparer<ProjectItemInstance> 2570public static IEqualityComparer<ProjectItemInstance> Default 2581public bool Equals(ProjectItemInstance x, ProjectItemInstance y) 2591public int GetHashCode(ProjectItemInstance obj)
Logging\BinaryLogger\BuildEventArgsWriter.cs (1)
968if (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)
353foreach (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)