73 references to LibraryRangeIndex
NuGet.Commands (73)
RestoreCommand\DependencyGraphResolver.cs (41)
61
private readonly
LibraryRangeIndex
[] _rootedDependencyPath = new[] {
LibraryRangeIndex
.Project };
191
LibraryRangeIndex =
LibraryRangeIndex
.Project,
200
Parent =
LibraryRangeIndex
.None
334
Dictionary<
LibraryRangeIndex
, GraphNode<RemoteResolveResult>> nodesById = new();
340
Queue<(LibraryDependencyIndex,
LibraryRangeIndex
, GraphNode<RemoteResolveResult>)> itemsToFlatten = new();
342
Dictionary<
LibraryRangeIndex
, GraphNode<RemoteResolveResult>> versionConflicts = new();
345
Dictionary<
LibraryRangeIndex
, (
LibraryRangeIndex
FromParentLibraryRangeIndex, LibraryDependency FromLibraryDependency,
LibraryRangeIndex
ToParentLibraryRangeIndex, LibraryDependencyIndex ToLibraryDependencyIndex, bool IsCentralTransitive)> downgrades = new();
365
(LibraryDependencyIndex currentLibraryDependencyIndex,
LibraryRangeIndex
currentLibraryRangeIndex, GraphNode<RemoteResolveResult> currentGraphNode) = itemsToFlatten.Dequeue();
406
LibraryRangeIndex
childResolvedLibraryRangeIndex = childResolvedDependencyGraphItem.LibraryRangeIndex;
412
LibraryRangeIndex
currentRangeIndex = resolvedDependencyGraphItem.GetRangeIndexForDependencyAt(i);
457
foreach (
LibraryRangeIndex
parent in childResolvedDependencyGraphItem.ParentPathsThatHaveBeenEclipsed)
477
foreach (
LibraryRangeIndex
parentLibraryRangeIndex in childResolvedDependencyGraphItem.Parents)
578
ToParentLibraryRangeIndex:
LibraryRangeIndex
.Project,
651
foreach (KeyValuePair<
LibraryRangeIndex
, GraphNode<RemoteResolveResult>> versionConflict in versionConflicts)
668
foreach ((
LibraryRangeIndex
FromParentLibraryRangeIndex, LibraryDependency FromLibraryDependency,
LibraryRangeIndex
ToParentLibraryRangeIndex, LibraryDependencyIndex ToLibraryDependencyIndex, bool IsCentralTransitive) downgrade in downgrades.Values)
725
foreach (
LibraryRangeIndex
parentLibraryRangeIndex in resolvedDependencyGraphItem.Parents.NoAllocEnumerate())
774
private static bool HasCommonAncestor(
LibraryRangeIndex
[] left,
LibraryRangeIndex
[] right)
807
LibraryRangeIndex
currentLibraryRangeIndex = currentDependencyGraphItem.LibraryRangeIndex;
808
LibraryRangeIndex
chosenLibraryRangeIndex = resolvedDependencyGraphItem.LibraryRangeIndex;
933
Dictionary<
LibraryRangeIndex
, (
LibraryRangeIndex
[], LibraryDependencyIndex, LibraryDependencyTarget)> evictions = new Dictionary<
LibraryRangeIndex
, (
LibraryRangeIndex
[], LibraryDependencyIndex, LibraryDependencyTarget)>(EvictionsDictionarySize);
981
if (evictions.TryGetValue(currentDependencyGraphItem.LibraryRangeIndex, out (
LibraryRangeIndex
[], LibraryDependencyIndex, LibraryDependencyTarget) eviction))
983
(
LibraryRangeIndex
[] evictedPath, LibraryDependencyIndex evictedDepIndex, LibraryDependencyTarget evictedTypeConstraint) = eviction;
1039
foreach (
LibraryRangeIndex
parentRangeIndex in chosenResolvedItem.Parents.NoAllocEnumerate())
1066
foreach (
LibraryRangeIndex
parentRangeIndex in chosenResolvedItem.ParentPathsThatHaveBeenEclipsed)
1086
LibraryRangeIndex
evictedLibraryRangeIndex = chosenResolvedItem.LibraryRangeIndex;
1091
HashSet<
LibraryRangeIndex
>? evicteesToRemove = default;
1093
foreach (KeyValuePair<
LibraryRangeIndex
, (
LibraryRangeIndex
[], LibraryDependencyIndex, LibraryDependencyTarget)> evictee in evictions)
1095
(
LibraryRangeIndex
[] evicteePath, LibraryDependencyIndex evicteeDepIndex, LibraryDependencyTarget evicteeTypeConstraint) = evictee.Value;
1105
evicteesToRemove ??= new HashSet<
LibraryRangeIndex
>();
1114
foreach (
LibraryRangeIndex
evicteeToRemove in evicteesToRemove)
1172
chosenResolvedItem.ParentPathsThatHaveBeenEclipsed ??= new HashSet<
LibraryRangeIndex
>();
1317
LibraryRangeIndex
childLibraryRangeIndex = chosenResolvedItem.GetRangeIndexForDependencyAt(i);
RestoreCommand\DependencyGraphResolver.DependencyGraphItem.cs (4)
52
public
LibraryRangeIndex
LibraryRangeIndex { get; init; }
57
public
LibraryRangeIndex
Parent { get; init; }
62
public
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.
65
private readonly ConcurrentDictionary<LibraryRange,
LibraryRangeIndex
> _libraryRangeTable = new(LibraryRangeComparer.Instance);
75
private
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>
135
public
LibraryRangeIndex
Index(LibraryRange libraryRange)
140
if (_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>
161
public static
LibraryRangeIndex
[] CreatePathToRef(
LibraryRangeIndex
[] existingPath,
LibraryRangeIndex
libraryRangeIndex)
164
LibraryRangeIndex
[] newPath = new
LibraryRangeIndex
[existingPath.Length + 1];
RestoreCommand\DependencyGraphResolver.ResolvedDependencyGraphItem.cs (11)
28
private
LibraryRangeIndex
[] _rangeIndices;
41
HashSet<
LibraryRangeIndex
>? parents = null)
56
Parents = new HashSet<
LibraryRangeIndex
> { dependencyGraphItem.Parent };
64
_rangeIndices = Array.Empty<
LibraryRangeIndex
>();
70
_rangeIndices = new
LibraryRangeIndex
[dependencyCount];
105
public
LibraryRangeIndex
LibraryRangeIndex { get; }
110
public HashSet<
LibraryRangeIndex
>? ParentPathsThatHaveBeenEclipsed { get; set; }
115
public HashSet<
LibraryRangeIndex
>? Parents { get; }
120
public
LibraryRangeIndex
[] Path { get; }
142
public
LibraryRangeIndex
GetRangeIndexForDependencyAt(int position)
152
public void SetRangeIndexForDependencyAt(int position,
LibraryRangeIndex
libraryRangeIndex)