73 references to LibraryRangeIndex
NuGet.Commands (73)
RestoreCommand\DependencyGraphResolver.cs (41)
61private readonly LibraryRangeIndex[] _rootedDependencyPath = new[] { LibraryRangeIndex.Project }; 191LibraryRangeIndex = LibraryRangeIndex.Project, 200Parent = LibraryRangeIndex.None 334Dictionary<LibraryRangeIndex, GraphNode<RemoteResolveResult>> nodesById = new(); 340Queue<(LibraryDependencyIndex, LibraryRangeIndex, GraphNode<RemoteResolveResult>)> itemsToFlatten = new(); 342Dictionary<LibraryRangeIndex, GraphNode<RemoteResolveResult>> versionConflicts = new(); 345Dictionary<LibraryRangeIndex, (LibraryRangeIndex FromParentLibraryRangeIndex, LibraryDependency FromLibraryDependency, LibraryRangeIndex ToParentLibraryRangeIndex, LibraryDependencyIndex ToLibraryDependencyIndex, bool IsCentralTransitive)> downgrades = new(); 365(LibraryDependencyIndex currentLibraryDependencyIndex, LibraryRangeIndex currentLibraryRangeIndex, GraphNode<RemoteResolveResult> currentGraphNode) = itemsToFlatten.Dequeue(); 406LibraryRangeIndex childResolvedLibraryRangeIndex = childResolvedDependencyGraphItem.LibraryRangeIndex; 412LibraryRangeIndex currentRangeIndex = resolvedDependencyGraphItem.GetRangeIndexForDependencyAt(i); 457foreach (LibraryRangeIndex parent in childResolvedDependencyGraphItem.ParentPathsThatHaveBeenEclipsed) 477foreach (LibraryRangeIndex parentLibraryRangeIndex in childResolvedDependencyGraphItem.Parents) 578ToParentLibraryRangeIndex: LibraryRangeIndex.Project, 651foreach (KeyValuePair<LibraryRangeIndex, GraphNode<RemoteResolveResult>> versionConflict in versionConflicts) 668foreach ((LibraryRangeIndex FromParentLibraryRangeIndex, LibraryDependency FromLibraryDependency, LibraryRangeIndex ToParentLibraryRangeIndex, LibraryDependencyIndex ToLibraryDependencyIndex, bool IsCentralTransitive) downgrade in downgrades.Values) 725foreach (LibraryRangeIndex parentLibraryRangeIndex in resolvedDependencyGraphItem.Parents.NoAllocEnumerate()) 774private static bool HasCommonAncestor(LibraryRangeIndex[] left, LibraryRangeIndex[] right) 807LibraryRangeIndex currentLibraryRangeIndex = currentDependencyGraphItem.LibraryRangeIndex; 808LibraryRangeIndex chosenLibraryRangeIndex = resolvedDependencyGraphItem.LibraryRangeIndex; 933Dictionary<LibraryRangeIndex, (LibraryRangeIndex[], LibraryDependencyIndex, LibraryDependencyTarget)> evictions = new Dictionary<LibraryRangeIndex, (LibraryRangeIndex[], LibraryDependencyIndex, LibraryDependencyTarget)>(EvictionsDictionarySize); 981if (evictions.TryGetValue(currentDependencyGraphItem.LibraryRangeIndex, out (LibraryRangeIndex[], LibraryDependencyIndex, LibraryDependencyTarget) eviction)) 983(LibraryRangeIndex[] evictedPath, LibraryDependencyIndex evictedDepIndex, LibraryDependencyTarget evictedTypeConstraint) = eviction; 1039foreach (LibraryRangeIndex parentRangeIndex in chosenResolvedItem.Parents.NoAllocEnumerate()) 1066foreach (LibraryRangeIndex parentRangeIndex in chosenResolvedItem.ParentPathsThatHaveBeenEclipsed) 1086LibraryRangeIndex evictedLibraryRangeIndex = chosenResolvedItem.LibraryRangeIndex; 1091HashSet<LibraryRangeIndex>? evicteesToRemove = default; 1093foreach (KeyValuePair<LibraryRangeIndex, (LibraryRangeIndex[], LibraryDependencyIndex, LibraryDependencyTarget)> evictee in evictions) 1095(LibraryRangeIndex[] evicteePath, LibraryDependencyIndex evicteeDepIndex, LibraryDependencyTarget evicteeTypeConstraint) = evictee.Value; 1105evicteesToRemove ??= new HashSet<LibraryRangeIndex>(); 1114foreach (LibraryRangeIndex evicteeToRemove in evicteesToRemove) 1172chosenResolvedItem.ParentPathsThatHaveBeenEclipsed ??= new HashSet<LibraryRangeIndex>(); 1317LibraryRangeIndex childLibraryRangeIndex = chosenResolvedItem.GetRangeIndexForDependencyAt(i);
RestoreCommand\DependencyGraphResolver.DependencyGraphItem.cs (4)
52public LibraryRangeIndex LibraryRangeIndex { get; init; } 57public LibraryRangeIndex Parent { get; init; } 62public LibraryRangeIndex[] Path { get; init; } = Array.Empty<LibraryRangeIndex>();
RestoreCommand\DependencyGraphResolver.DependencyGraphItemIndexer.cs (17)
63/// A case-insensitive dictionary that stores a <see cref="LibraryRangeIndex" /> by the <see cref="LibraryRange" /> of a library. This dictionary uses the <see cref="LibraryRangeComparer" /> to compare <see cref="LibraryRange" /> objects. 65private readonly ConcurrentDictionary<LibraryRange, LibraryRangeIndex> _libraryRangeTable = new(LibraryRangeComparer.Instance); 75private LibraryRangeIndex _nextLibraryRangeIndex = LibraryRangeIndex.Project + 1; 84_libraryRangeTable.TryAdd(libraryDependency.LibraryRange, LibraryRangeIndex.Project); 127/// Indexes a <see cref="LibraryRange" /> and returns a unique <see cref="LibraryRangeIndex" /> associated with it. 134/// <returns>A <see cref="LibraryRangeIndex" /> associated with the <see cref="LibraryRange" />.</returns> 135public LibraryRangeIndex Index(LibraryRange libraryRange) 140if (_libraryRangeTable.TryGetValue(libraryRange, out LibraryRangeIndex index)) 158/// <param name="existingPath">An existing array of <see cref="LibraryRangeIndex" /> values of the parent.</param> 159/// <param name="libraryRangeIndex">The <see cref="LibraryRangeIndex" /> of the library range.</param> 160/// <returns>An array containing the existing path and the specified <see cref="LibraryRangeIndex" />.</returns> 161public static LibraryRangeIndex[] CreatePathToRef(LibraryRangeIndex[] existingPath, LibraryRangeIndex libraryRangeIndex) 164LibraryRangeIndex[] newPath = new LibraryRangeIndex[existingPath.Length + 1];
RestoreCommand\DependencyGraphResolver.ResolvedDependencyGraphItem.cs (11)
28private LibraryRangeIndex[] _rangeIndices; 41HashSet<LibraryRangeIndex>? parents = null) 56Parents = new HashSet<LibraryRangeIndex> { dependencyGraphItem.Parent }; 64_rangeIndices = Array.Empty<LibraryRangeIndex>(); 70_rangeIndices = new LibraryRangeIndex[dependencyCount]; 105public LibraryRangeIndex LibraryRangeIndex { get; } 110public HashSet<LibraryRangeIndex>? ParentPathsThatHaveBeenEclipsed { get; set; } 115public HashSet<LibraryRangeIndex>? Parents { get; } 120public LibraryRangeIndex[] Path { get; } 142public LibraryRangeIndex GetRangeIndexForDependencyAt(int position) 152public void SetRangeIndexForDependencyAt(int position, LibraryRangeIndex libraryRangeIndex)