1 instantiation of ReferenceInfo
Microsoft.CodeAnalysis.Features (1)
UnusedReferences\ReferenceInfo.cs (1)
48
=>
new
(ReferenceType, itemSpecification, TreatAsUsed, CompilationAssemblies, Dependencies);
41 references to ReferenceInfo
Microsoft.CodeAnalysis.Features (41)
UnusedReferences\IReferenceCleanupService.cs (1)
18
Task<ImmutableArray<
ReferenceInfo
>> GetProjectReferencesAsync(
UnusedReferences\IUnusedReferenceAnalysisService.cs (4)
14
Task<ImmutableArray<
ReferenceInfo
>> GetUnusedReferencesAsync(
18
ImmutableArray<
ReferenceInfo
> projectReferences,
24
ValueTask<ImmutableArray<
ReferenceInfo
>> GetUnusedReferencesAsync(
28
ImmutableArray<
ReferenceInfo
> projectReferences,
UnusedReferences\ProjectAssets\ProjectAssetsReader.cs (11)
24
public static ImmutableArray<
ReferenceInfo
> AddDependencyHierarchies(
25
ImmutableArray<
ReferenceInfo
> projectReferences,
60
var builtReferences = new Dictionary<string,
ReferenceInfo
?>();
70
private static
ReferenceInfo
? EnhanceReference(
72
ReferenceInfo
referenceInfo,
75
Dictionary<string,
ReferenceInfo
?> builtReferences)
86
var
reference = BuildReference(projectAssets, referenceName, referenceInfo.TreatAsUsed, targetLibraryKeys, builtReferences);
95
private static
ReferenceInfo
? BuildReference(
100
Dictionary<string,
ReferenceInfo
?> builtReferences)
169
if (builtReferences.TryGetValue(itemSpecification, out
var
builtReference))
179
var
reference = new ReferenceInfo(referenceType, itemSpecification, treatAsUsed, compilationAssemblies.ToImmutable(), dependencies);
UnusedReferences\ReferenceInfo.cs (5)
12
internal sealed class ReferenceInfo(ReferenceType referenceType, string itemSpecification, bool treatAsUsed, ImmutableArray<string> compilationAssemblies, ImmutableArray<
ReferenceInfo
> dependencies)
45
public ImmutableArray<
ReferenceInfo
> Dependencies { get; } = dependencies;
47
public
ReferenceInfo
WithItemSpecification(string itemSpecification)
50
public
ReferenceInfo
WithDependencies(IEnumerable<
ReferenceInfo
>? dependencies)
UnusedReferences\ReferenceUpdate.cs (2)
7
internal sealed class ReferenceUpdate(UpdateAction action,
ReferenceInfo
referenceInfo)
17
public
ReferenceInfo
ReferenceInfo { get; } = referenceInfo;
UnusedReferences\UnusedReferencesRemover.cs (18)
25
public static async Task<ImmutableArray<
ReferenceInfo
>> GetUnusedReferencesAsync(
28
ImmutableArray<
ReferenceInfo
> references,
64
internal static ImmutableArray<
ReferenceInfo
> GetUnusedReferences(
67
ImmutableArray<
ReferenceInfo
> references)
69
var unusedReferencesBuilder = ImmutableArray.CreateBuilder<
ReferenceInfo
>();
128
private static ImmutableArray<
ReferenceInfo
> RemoveDirectlyUsedReferences(
129
ImmutableArray<
ReferenceInfo
> references,
139
var unusedReferencesBuilder = ImmutableArray.CreateBuilder<
ReferenceInfo
>();
141
foreach (
var
reference in references)
184
private static ImmutableArray<
ReferenceInfo
> RemoveTransitivelyUsedReferences(
185
ImmutableArray<
ReferenceInfo
> references,
198
var unusedReferencesBuilder = ImmutableArray.CreateBuilder<
ReferenceInfo
>();
200
foreach (
var
reference in references)
226
internal static bool HasAnyCompilationAssembly(
ReferenceInfo
reference)
236
internal static bool ContainsAnyCompilationAssembly(
ReferenceInfo
reference, HashSet<string> usedAssemblyFilePaths)
246
internal static void RemoveAllCompilationAssemblies(
ReferenceInfo
reference, HashSet<string> usedAssemblyFilePaths)
250
foreach (
var
dependency in reference.Dependencies)
256
internal static ImmutableArray<string> GetAllCompilationAssemblies(
ReferenceInfo
reference)